17
Block Management in Solid-State Devices Abhishek Rajimwal, Vijayan Prabhakaran, John D. Davis University of Wisconsin, Madison Microsoft Research, Silicon Valley Proceedings of the USENIX 2009 2010. 7. 26. Sanghoon, Jeon - 1/17 - Presentation in Operating System Design Presentation in Operating System Design Digital Media & Communication, Sanghoon, Jeon

Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Block Management in Solid-State DevicesAbhishek Rajimwal, Vijayan Prabhakaran, John D. Davisj , j y ,

University of Wisconsin, MadisonMicrosoft Research, Silicon Valley

Proceedings of the USENIX 2009

2010. 7. 26.

Sanghoon, Jeon

- 1/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 2: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Contents

• Abstraction

• BackgroundBackground

• Motivation & Problem

• Valid or not of six assumptions in SSD

• Proposal Solution

• Limitation

• Improvements• Improvements

- 2/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 3: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Abstraction

Solid-State Devices는 6가지 측면(system-level consumption)에서

유효하지 않음을 증명하였으며 이러한 문제점을 해결하기 위해유효하지 않음을 증명하였으며, 이러한 문제점을 해결하기 위해

Object-based Storage Device interface 사용을 제안함.

- 3/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 4: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Background (1/3)

• Block based Interface◦ SATA : desktop용 host interface (Serial ATA)◦ SAS : server용 host interface (Serial Attached SCSI)◦ SAS : server용 host interface (Serial Attached SCSI)◦ Fibre channel, PCIe : 고속의 another host interface◦ NVMHCI : Flash Memory용 host interface

• SSD HW & FW Architecture

SSD F/W

HIL

CALCAL

FTL

- 4/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 5: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Background (2/3)

• HDD와 다른 SSD의 3가지 특징◦ No Header

Electronic Signal을 이용 Electronic Signal을 이용

◦ No Overwrite Mapping Table 관리, Wear leveling, Garbage collection 등 필요

A il bl P ll li◦ Available Parallelism Multi channel, Multi way, Multi plane

• NAND Device◦ SLC (single level cell) vs. MLC (multi level cell)

P/E cycle, tPROG, tBERS, tR 등 차이P/E cycle, tPROG, tBERS, tR 등 차이

- 5/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 6: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Background (3/3)

• Object-based Storage Device◦ Object

File System과 유사한 Interface를 가지는 Storage Container를 의미함 File System과 유사한 Interface를 가지는 Storage Container를 의미함. data, user accessible attribute, device-managed metadata 등으로 구성

◦ CharacteristicsSt A hit t 의 일종으로 높은 성능과 보안성을 유지하면서 이 기종 플랫 Storage Architecture의 일종으로 높은 성능과 보안성을 유지하면서 이 기종 플랫폼간 데이터 공유와 확장성의 이점을 가짐.

– 이상적인 Storage Architecture» high performance, strong security, data sharing across platforms, scalabilityhigh performance, strong security, data sharing across platforms, scalability

- 6/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 7: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Motivation & Problem

Unwritten Contract

- 기존의 OS와 File System은 HDD 기반의 물리적인 특성을 고려하여 설계/구현 되어 있음.

- 따라서 기존 System은 HDD 기반의 Assumption 을 가지고 있음.

HDD 이외에 SSD 등의 저장매체를 사용할 경우, Storage 정보의 Abstraction으로 인한 비효

율성이 존재함. (Poor Performance, Life time)

Incorrect division

- Block Management를 Host의 File System에서 담당하고 있음.

Host에 저장 매체에 대한 특성이 제대로 전달되지 않아, Storage specific한 정보를 활용하는

효율적 관리가 어려움효율적 관리가 어려움.

- 7/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 8: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Valid or not of six consumptions in SSD (1/6)

• Sequential vs. Random◦ Definition

Sequential access are much better than random access Sequential access are much better than random access.

◦ Result HDD is true. But SSD is false.

R◦ Reason SSD F/W use the log-structured FTL. There is no time for moving header.

◦ Suggestion File system must focus on higher-level operation instead of complex policies to

achieve block level sequentially.

SLC와 MLC 와의 비교는

큰 의미 없고, Mapping 방

식의 차이에 따른 비교가

더욱 정확함.

- 8/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 9: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Valid or not of six consumptions in SSD (2/6)

• Logical to physical mapping◦ Definition

Distant LBNs lead to longer seek times Distant LBNs lead to longer seek times.

◦ Result HDD is true. But SSD is false.

R◦ Reason SSD F/W have to do cleaning, wear-leveling. The physical location is irrelevant.

◦ Suggestion This further motivates the conclusion that we use OSD interface in SSD. We have to find the SSD specific I/O scheduling algorithm such as shortest

wait time first (SWTF).

- Mapping 방식에 따라 Read/Write 속도 달라질 수 있음.

- 기존 SSD F/W에도 Native Command Queuing (NCQ)를 이용해

I/O Scheduling algorithm을 수행하고 있음.

- 9/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 10: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Valid or not of six consumptions in SSD (3/6)

• Interchangeable address space◦ Definition

The logical address space is uniformly spread over the device The logical address space is uniformly spread over the device.

◦ Result HDD is false. SSD is also false.

R◦ Reason SSD might be constructed with multiple types of SLC and MLC. Flex-OneNAND MLC SSD type can use LSB only or all of the page such as LSB, MSB.

◦ Suggestion Hot/Cold management using by OSD interface

- SLC Only로 사용하는 SSD의 경우 위의 Assumption은 Valid함.

- 10/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 11: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Valid or not of six consumptions in SSD (4/6)

• Write Amplification◦ Definition

Data written is equal to data issued Data written is equal to data issued.

◦ Result HDD is true. But SSD is false.

R◦ Reason The logical page is larger than the physical page size. A write is issued in-place using a read-modify-erase-write cycle. SSD F/W have to rewrite it when run time bad block is happened.

◦ Suggestion Write amplification can be reduced by merging writes and aligning them.

- 11/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 12: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Valid or not of six consumptions in SSD (5/6)

• Block Wear◦ Definition

Media does not wear down Media does not wear down.

◦ Result HDD is true. But SSD is false.

R◦ Reason Flash memory blocks have limited erase cycles before wearing out. SSD implement cleaning and wear-leveling to uniformly spread the wear-down

f bl kof blocks.

◦ Suggestion SSD F/W use the free page information during the cleaning. Data Compression

- 12/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 13: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Valid or not of six consumptions in SSD (6/6)

• Background Activity◦ Definition

Storage devices are passive with little background activity Storage devices are passive with little background activity.

◦ Result HDD is true. But SSD is false.

R◦ Reason SSD F/W have to do cleaning, wear-leveling.

◦ Suggestion Priority-aware background operation.

Background Operation을 하면

오히려 Average Performance는

낮아질 수있음.

- 13/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 14: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Proposal Solution

• Object Storage Device Interface◦ File system 은 Object 관 리 만 하 고 , SSD F/W 가 Block management

operation을 전담할 수 있다operation을 전담할 수 있다. SSD specific한 block management를 할 수 있음.

SSD F/W는 OSD interface를 통해 free page 정보를 확인 할 수 있다◦ SSD F/W는 OSD interface를 통해 free page 정보를 확인 할 수 있다. Cleaning의 효율성을 증가 시킬 수 있음.

OSD의 d 속성( d l )을 이용하여 W l li 시에 C ld d◦ OSD의 data 속성(e.g. read only)을 이용하여 Wear-leveling시에 Cold dataplacement를 할 수 있다. Read only 데이터는 erase count가 높은 block에 할당하여 wear out을 방지할 수

있음있음.

◦ I/O Scheduling 시 에 OSD interface 를 이 용 하 여 priority-aware 한b k d i i 를 할 수 있다background activity를 할 수 있다. Foreground activity의 response time을 개선할 수 있음.

- 14/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 15: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Limitation

• 기존 System을 변경하기 쉽지 않음.◦ 기존 System과의 Compatibility 감소

• Object Mapping 정보 유지에 따른 F/W Overhead 증가◦ Mapping Data 증가에 따른 SRAM Size 증가 가격 증가

• Assumption에 Power-off Recovery (POR) 이슈 없음.HDD의 경우 POR 이슈가 없으나 SSD의 경우 h b ff 사용 및◦ HDD의 경우 POR 이슈가 없으나, SSD의 경우 cache, buffer 사용 및background operation으로 인해 POR 이슈 발생.

- 15/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 16: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

Improvements

• Performance◦ Parallelism 극대화 기술 연구

Multi channel 및 multi way의 이용을 극대화 할 수 있는 algorithm 개발 Multi channel 및 multi way의 이용을 극대화 할 수 있는 algorithm 개발. Full page mapping, Stripe I/O

li bili• Reliability◦ RAID 기술 적용 Dynamic 하게 적용할 수 있도록

SSD의 경우 여러 개의 Flash Package로 구성되어 있으므로, SSD F/W만으로 기능의 우 여러 개의 g 구 되어 기구현을 할 수 있음.

◦ Power-off Recovery 기술 연구 Super-cap을 이용하여 Sudden power-off 시 data를 저장할 수 있도록 함.p p을 이용하여 p 시 를 저장할 수 있 록 함

• Availability◦ Data Compression 기술 적용◦ Data Compression 기술 적용

User Data에 대한 data 압축을 통해 Flash Memory의 life time 증가 write 횟수가 감소하므로…

- 16/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon

Page 17: Block Management in Solid-State Devicescsl.skku.edu/uploads/ECE5658M10/SSD.pdf · Block Management in Solid-State Devices Abhishek Rajj,jy ,imwal, Vijayan Prabhakaran, John D. Davis

- 17/17 -

Presentation in Operating System DesignPresentation in Operating System Design

Digital Media & Communication, Sanghoon, Jeon