Solid State Drives (SSDs) Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Similar documents
NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Computer Systems Laboratory Sungkyunkwan University

NAND Flash Memory. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

16:30 18:00, June 20 (Monday), 2011 # (even student IDs) # (odd student IDs) Scope

NAND Flash Memory. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

SSD (Solid State Disk)

Computer Systems Laboratory Sungkyunkwan University

Storage Systems : Disks and SSDs. Manu Awasthi CASS 2018

Flash memory talk Felton Linux Group 27 August 2016 Jim Warner

I/O Devices & SSD. Dongkun Shin, SKKU

Tutorial FTL. Sejun Kwon Computer Systems Laboratory Sungkyunkwan University

[537] Flash. Tyler Harter

Storage Systems : Disks and SSDs. Manu Awasthi July 6 th 2018 Computer Architecture Summer School 2018

Serial ATA (SATA) Interface. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Presented by: Nafiseh Mahmoudi Spring 2017

SFS: Random Write Considered Harmful in Solid State Drives

Tutorial FTL. Jinyong Computer Systems Laboratory Sungkyunkwan University

3MG2-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

COMPUTER ARCHITECTURE

CS311 Lecture 21: SRAM/DRAM/FLASH

A Semi Preemptive Garbage Collector for Solid State Drives. Junghee Lee, Youngjae Kim, Galen M. Shipman, Sarp Oral, Feiyi Wang, and Jongman Kim

SHRD: Improving Spatial Locality in Flash Storage Accesses by Sequentializing in Host and Randomizing in Device

Flash Memory. Gary J. Minden November 12, 2013

The Many Flavors of NAND and More to Come

3MG2-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

3ME2 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3MG2-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

OSSD: A Case for Object-based Solid State Drives

u Covered: l Management of CPU & concurrency l Management of main memory & virtual memory u Currently --- Management of I/O devices

Content courtesy of Wikipedia.org. David Harrison, CEO/Design Engineer for Model Sounds Inc.

ECE Enterprise Storage Architecture. Fall 2016

COS 318: Operating Systems. Storage Devices. Vivek Pai Computer Science Department Princeton University

COS 318: Operating Systems. Storage Devices. Jaswinder Pal Singh Computer Science Department Princeton University

3SE4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

CS429: Computer Organization and Architecture

CS429: Computer Organization and Architecture

Flash Trends: Challenges and Future

Storage Technologies - 3

3ME2 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3ME2 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

COS 318: Operating Systems. Storage Devices. Kai Li Computer Science Department Princeton University

3ME3 Series. Customer Approver. InnoDisk Approver. Customer: Customer Part Number: InnoDisk Part Number: InnoDisk Model Name: Date:

Memory technology and optimizations ( 2.3) Main Memory

3MG2-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3ME3 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Flash Memory Overview: Technology & Market Trends. Allen Yu Phison Electronics Corp.

3SE-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

SATA III 6Gb/S 2.5 SSD Industrial Temp AQS-I25S I Series. Advantech. Industrial Temperature. Datasheet. Rev

ECE Enterprise Storage Architecture. Fall 2018

3ME3 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3ME4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3ME3 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3MG-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

3ME4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Transitioning from e-mmc to UFS: Controller Design. Kevin Liu ASolid Technology Co., Ltd.

SNIA Tutorial 1 A CASE FOR FLASH STORAGE HOW TO CHOOSE FLASH STORAGE FOR YOUR APPLICATIONS

3ME3 Series. Customer Approver. InnoDisk Approver. Customer: Customer Part Number: InnoDisk Part Number: InnoDisk Model Name: Date:

3ME3 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Disks and RAID. CS 4410 Operating Systems. [R. Agarwal, L. Alvisi, A. Bracy, E. Sirer, R. Van Renesse]

3ME3 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

NAND/MTD support under Linux

Data Organization and Processing

3SR-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

Frequently asked questions from the previous class survey

3SE4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Random-Access Memory (RAM) CS429: Computer Organization and Architecture. SRAM and DRAM. Flash / RAM Summary. Storage Technologies

Mass-Storage Structure

3MS4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Advanced Information Storage 11

3MG2-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Embedded System Application

3ME Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

S-FTL: An Efficient Address Translation for Flash Memory by Exploiting Spatial Locality

G i v e Y o u r H a r d D r i v e w h a t i t s B e e n M i s s i n g P e r f o r m a n c e The new Synapse

Understanding the Relation between the Performance and Reliability of NAND Flash/SCM Hybrid Solid- State Drive

Key Points. Rotational delay vs seek delay Disks are slow. Techniques for making disks faster. Flash and SSDs

Optimizing Translation Information Management in NAND Flash Memory Storage Systems

SSDs tend to be more rugged than hard drives with respect to shock and vibration because SSDs have no moving parts.

Performance Modeling and Analysis of Flash based Storage Devices

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 13

Solid State Storage Technologies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

A Caching-Oriented FTL Design for Multi-Chipped Solid-State Disks. Yuan-Hao Chang, Wei-Lun Lu, Po-Chun Huang, Lue-Jane Lee, and Tei-Wei Kuo

3MG2-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

1MG3-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3SR-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

FFS: The Fast File System -and- The Magical World of SSDs

Pseudo SLC. Comparison of SLC, MLC and p-slc structures. pslc

3MG-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

It Takes Guts to be Great

A Buffer Replacement Algorithm Exploiting Multi-Chip Parallelism in Solid State Disks

High Performance SSD & Benefit for Server Application

3ME4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Advancements in SSD Forensics

3MG-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

VSSIM: Virtual Machine based SSD Simulator

3ME4 Series. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date: Innodisk Approver. Customer Approver

Datasheet. Embedded Storage Solutions. Industrial. SATA III 2.5 Solid State Drive. SED2FV Series. V Aug

Yet other uses of a level of indirection...! Log-structured & Solid State File Systems Nov 19, Garth Gibson Dave Eckhardt Greg Ganger

Transcription:

Solid State Drives (SSDs) Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

Memory Types FLASH High-density Low-cost High-speed Low-power High reliability DRAM High-density Low-cost High-speed High-power EPROM Non-volatile High-density Ultraviolet light for erasure EEPROM Non-volatile Lower reliability Higher cost Lowest density Electrically byte-erasable ROM High-density Reliable Low-cost Suitable for high production with stable code Source: Intel Corporation. 2

Flash Memory Cell Transistor with floating gate The floating gate is insulated all around with an oxide layer Electrons trapped in the floating gate can remain for up to years http://www.thenandflash.com 3

Flash Memory Characteristics Erase-before-write Read Write or Program: 1 0 Erase: 0 1 Bulk erase Program unit: NOR: byte or word NAND: page Erase unit: block write (program) 0 0 1 0 erase 4

Logical View of NAND Flash A collection of blocks Each block has a number of pages The size of a block or a page depends on the technology (but, it s getting larger) Page 0 Block 0 Block 1 Page 1 Block n-1 Page m-1 Data area Spare area 5

SLC NAND Single Level Cell 1 bit/cell NAND Flash Types MLC NAND Multi Level Cell (misnomer) 2 bits/cell TLC NAND Triple Level Cell 3 bits/cell 3D NAND Source: Micron Technology, Inc. 6

NAND Applications Universal Flash Drives (UFDs) Flash cards CompactFlash, MMC, SD, Memory stick, Smartphones emmc (Embedded MMC) UFS (Universal Flash Storage) SSDs (Solid State Drives) Other embedded devices MP3 players, Digital TVs, Set-top boxes, Car navigators,

Commercial SSDs http://www.enuri.com (As of May 24, 201) 8

Anatomy of an SSD Samsung 850 Evo DRAM NAND Flash SSD Controller http://www.anandtech.com/show/9451/the-2tb-samsung-850-pro-evo-ssd-review 9

HDDs vs. SSDs Feature SSD (Samsung) HDD (Seagate) Model MZ-5E2T0B (850 Evo) ST2000LM003 (SpinPoint M9T) Capacity 2TB (128Gb 32-Layer 3D V-NAND TLC x 16 die/channel x 8 channels) Form factor 2.5, 66g 2.5, 130g DRAM 2 GB 32 MB 2TB (3 Discs, 6 Heads, 5400 RPM) Host interface SATA-3 (6.0 Gbps) SATA-3 (6.0 Gbps) Power consumption (Active / Idle / Sleep) Performance 850 Evo 1 : Sequential: 128KB/QD2 Random: 4KB/QD32 M9T 2 : Sequential: 2MB Random: 4KB 3., 4. W / 0.5 W / 0.05 W 2.3 W / 0. W / 0.18 W Sequential read: Sequential write: Random read: Random write: Random read: Random write: 544 MB/s 520 MB/s 9,68 IOPS 89,049 IOPS,335 IOPS (QD1) 38,433 IOPS (QD1) Sequential read: Sequential write: Random read: Random write: 124 MB/s 124 MB/s 56 IOPS 98 IOPS Power-on to ready: 3.5 sec Average seek: 12/14 ms Average latency: 5.6 ms Price 3 80,850 won (435won/GB) 139,460 won (0won/GB) 1 http://www.tomshardware.com/reviews/samsung-850-evo-850-pro-2tb-ssd,4205.html 1 http://www.storagereview.com/samsung_spinpoint_m9t_hard_drive_review 3 http://www.enuri.com (As of May. 28, 201)

State of the Art World s first 2.5 SAS 16TB SSD @ FMS 2015

NAND Constraints No in-place update Require sector remapping (or address translation) Bit errors Require the use of error correction codes (ECCs) Bad blocks Factory-marked and run-time bad blocks Require bad block remapping Limited program/erase cycles < 0K for SLCs, < 3K for MLCs, < 1K for TLCs Require wear-leveling 12

Flash Translation Layer (FTL) A software layer to make NAND flash fully emulate traditional block devices (e.g. disks) File System File System Read Sectors Write Sectors Read Sectors Write Sectors Mismatch! Read Sectors Write Sectors Read Write Erase Device Driver + FTL + Device Driver + Flash Memory Flash Memory Source: Zeen Info. Tech. 13

SSD Internals 14

Address Mapping Required since flash pages cannot be overwritten write Mapping table LBA address space (As seen by the host) NAND flash old data new data 15

Example: Page Mapping Flash configuration Page size: 4KB # of pages / block = 4 Current state Written to page 0, 1, 2, 8, 4, 5 Reading page 5 Logical page #5 00000001 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 5 5 6 9 PBN: 1 PBN: 2 PBN: 3 5 5 6 8 9 12 13 14 15 16

Example: Page Mapping Flash configuration Page size: 4KB # of pages / block = 4 Current state Written to page 0, 1, 2, 8, 4, 5 New requests (in order) Write to page 9 Write to page 3 Write to page 5 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 5 5 6 9 PBN: 1 PBN: 2 PBN: 3 5 5 6 8 9 12 13 14 15 1

Example: Page Mapping Flash configuration Page size: 4KB # of pages / block = 4 Current state Written to page 0, 1, 2, 8, 4, 5 New requests (in order) Write to page 9 Write to page 3 Write to page 5 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 5 5 6 9 6 PBN: 1 PBN: 2 PBN: 3 5 5 9 6 8 9 12 13 14 15 18

Example: Page Mapping Flash configuration Page size: 4KB # of pages / block = 4 Current state Written to page 0, 1, 2, 8, 4, 5 New requests (in order) Write to page 9 Write to page 3 Write to page 5 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 5 5 6 9 6 PBN: 1 PBN: 2 PBN: 3 5 5 9 6 3 8 9 12 13 14 15 19

Example: Page Mapping Flash configuration Page size: 4KB # of pages / block = 4 Current state Written to page 0, 1, 2, 8, 4, 5 New requests (in order) Write to page 9 Write to page 3 Write to page 5 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 5 5 8 6 9 6 PBN: 1 Invalidate old page PBN: 2 Updated page write PBN: 3 5 5 9 6 3 5 8 9 12 13 14 15 20

Garbage Collection Garbage collection (GC) Eventually, FTL will run out of blocks to write to GC must be performed to reclaim free space Actual GC procedure depends on the mapping scheme GC in page-mapping FTL Select victim block(s) Copy all valid pages of victim block(s) to free block Erase victim block(s) Note: At least one free block should be reserved for GC 21

Example: GC in Page Mapping Current state Written to page 0, 1, 2, 8, 4, 5 Written to page 9, 3, 5 New requests (in order) Write to page 8 Write to page 9 Write to page 3 Write to page 1 Write to page 4 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 5 8 6 9 6 PBN: 1 PBN: 2 PBN: 3 Spare block 5 5 9 6 3 5 8 9 12 13 14 15 22

Example: GC in Page Mapping Current state Written to page 0, 1, 2, 8, 4, 5 Written to page 9, 3, 5 New requests (in order) Write to page 8 Write to page 9 Write to page 3 Write to page 1 Write to page 4 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 5 8 6 8 9 9 6 PBN: 1 PBN: 2 PBN: 3 Spare block 5 5 9 6 3 5 8 8 9 12 13 14 15 23

Example: GC in Page Mapping Current state Written to page 0, 1, 2, 8, 4, 5 Written to page 9, 3, 5 New requests (in order) Write to page 8 Write to page 9 Write to page 3 Write to page 1 Write to page 4 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 5 8 6 8 9 9 PBN: 1 PBN: 2 PBN: 3 Spare block 5 5 9 6 3 5 8 8 9 9 12 13 14 15 24

Example: GC in Page Mapping Current state Written to page 0, 1, 2, 8, 4, 5 Written to page 9, 3, 5 New requests (in order) Write to page 8 Write to page 9 Write to page 3 Write to page 1 Write to page 4 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 5 8 6 8 9 9 PBN: 1 PBN: 2 PBN: 3 Spare block 5 5 9 6 3 5 8 8 9 9 3 12 13 14 15 25

Example: GC in Page Mapping Current state Written to page 0, 1, 2, 8, 4, 5 Written to page 9, 3, 5 New requests (in order) Write to page 8 Write to page 9 Write to page 3 Write to page 1 Write to page 4 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 3 4 12 5 8 6 PBN: 1 8 9 PBN: 2 9 Valid page copy Updated page write victim PBN: 3 5 5 9 6 3 5 8 8 9 9 3 4 12 3 14 15 26

Example: GC in Page Mapping Current state Written to page 0, 1, 2, 8, 4, 5 Written to page 9, 3, 5 New requests (in order) Write to page 8 Write to page 9 Write to page 3 Write to page 1 Write to page 4 Page Map Table Data Block PPN 0 0 PBN: 0 0 0 3 3 4 14 5 8 6 8 9 9 PBN: 1 PBN: 2 PBN: 3 Spare block 4 5 6 5 8 8 9 9 3 4 12 3 4 14 15 2

OS Implications NAND flash has different characteristics compared to disks No seek time Asymmetric read/write access times No in-place-update Good sequential read/write and random read performance, but bad random write performance Wear-leveling Traditional operating systems have been optimized for disks. What should be changed? 28

SSD Support in OS Turn off defragmentation for SSDs New TRIM command Remove-on-delete Simpler I/O scheduler Align file system partition with SSD layout Flash-aware file systems (e.g. F2FS in Linux) Larger block size (4KB) New multi-stream interface 29

Beauty and the Beast NAND Flash memory is a beauty Small, light-weight, robust, low-cost, low-power non-volatile device NAND Flash memory is a beast Much slower program/erase operations No in-place-update Erase unit > write unit Limited lifetime Bit errors, bad blocks, Software support is essential for performance and reliability! 30

Beyond Flash Resistance-based memory technologies Source: IEEE Computer, August 2013. 31