NAND Flash-based Storage. 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. Computer Systems Laboratory Sungkyunkwan University

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

Solid State Drives (SSDs) 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. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Computer Systems Laboratory Sungkyunkwan University

NAND Flash Memory. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

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

Tutorial FTL. Sejun Kwon Computer Systems Laboratory Sungkyunkwan University

OSSD: A Case for Object-based Solid State Drives

Tutorial FTL. Jinyong Computer Systems Laboratory Sungkyunkwan University

Presented by: Nafiseh Mahmoudi Spring 2017

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

I/O Devices & SSD. Dongkun Shin, SKKU

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

SFS: Random Write Considered Harmful in Solid State Drives

Design of Flash-Based DBMS: An In-Page Logging Approach

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

SSD (Solid State Disk)

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Computer Architecture ECE 568

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

[537] Flash. Tyler Harter

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

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

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Computer Architecture ECE 568

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

Storage Architecture and Software Support for SLC/MLC Combined Flash Memory

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

Flash Trends: Challenges and Future

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

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

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

smxnand RTOS Innovators Flash Driver General Features

A Mixed Flash Translation Layer Structure for SLC-MLC Combined Flash Memory System

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:

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

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

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

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

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

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Computer Architecture ECE 568

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

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

NAND/MTD support under Linux

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

CS311 Lecture 21: SRAM/DRAM/FLASH

I/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

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:

Solving the I/O bottleneck with Flash

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

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

The Drive Interface Progress Cycle

High Performance SSD & Benefit for Server Application

Optimizing Translation Information Management in NAND Flash Memory Storage Systems

Chapter 6. Storage and Other I/O Topics

SD 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:

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

Storage Systems : Disks and SSDs. Manu Awasthi CASS 2018

Memory technology and optimizations ( 2.3) Main Memory

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

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

File System Management

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

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

Differential RAID: Rethinking RAID for SSD Reliability

CSCI-GA Database Systems Lecture 8: Physical Schema: Storage

VSSIM: Virtual Machine based SSD Simulator

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

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

SD series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

A High Performance Reconfigurable Architecture for Flash File Systems

I/O & Storage. Jin-Soo Kim ( Computer Systems Laboratory Sungkyunkwan University

MS800 Series. msata Solid State Drive Datasheet. Product Feature Capacity: 32GB,64GB,128GB,256GB,512GB Flash Type: MLC NAND FLASH

A File-System-Aware FTL Design for Flash Memory Storage Systems

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

Customer: Customer. Part Number: Innodisk. Part Number: Innodisk. Model Name: Date: Customer. Innodisk. Approver. Approver

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

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

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

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

Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date: Innodisk Approver. Customer Approver

Data Organization and Processing

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

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

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

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

Customer: Customer. Part Number: Innodisk. Part Number: Innodisk. Model Name: Date: Customer. Innodisk. Approver. Approver

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

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

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

A Survey on NAND Flash Memory Controller Using FPGA

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

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

Cervoz Industrial SSD

Sentient Storage: Do SSDs have a mind of their own? Tom Kopchak

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

Transcription:

NAND Flash-based Storage Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

Today s Topics NAND flash memory Flash Translation Layer (FTL) OS implications 2

Flash Memory Characteristics Flash memory Non-volatile, Updateable, High-density Low cost, Low power consumption, High reliability Erase-before-write Read Write or Program: 1 0 Erase: 0 1 Read faster than write/erase Bulk erase Erase unit: block 1 1 1 1 1 1 1 1 Program unit: byte or word (NOR), page (NAND) write (program) 1 1 0 1 1 0 1 0 erase 1 1 1 1 1 1 1 1 3

NOR Flash NOR flash Random, direct access interface Fast random reads Slow erase and write Mainly for code storage Intel, Spansion, STMicro,... 4

NAND Flash NAND flash I/O mapped access Smaller cell size Lower cost Smaller size erase blocks Better performance for erase and write Mainly for data storage Samsung, Toshiba, Hynix,... 5

NAND Flash Architecture 2Gb NAND flash device organization Source: Micron Technology, Inc. 6

NAND Flash Types (1) SLC NAND Flash Small block ( 1Gb) Large block ( 1Gb) MLC NAND Flash TLC NAND Flash Source: Micron Technology, Inc. 7

NAND Flash Types (2) SLC NAND 1 (small block) SLC NAND 2 (large block) MLC NAND 3 Page size (Bytes) 512+16 2,048+64 4,096+128 Pages / Block 32 64 128 Block size 16KB 128KB 512KB t R (read) 15 μs (max) 20 μs (max) 50 μs (max) t PROG (program) t BERS (erase) 200 μs (typ) 500 μs (max) 2 ms (typ) 3 ms (max) 200 μs (typ) 700 μs (max) 1.5 ms (typ) 2 ms (max) 600 μs (typ) 1,200 μs (max) 3 ms (typ) NOP 1 (main), 2 (spare) 4 1 Endurance Cycles 100K 100K 10K ECC (per 512Bytes) 1 bit ECC 2 bits EDC 1 bit ECC 2 bits EDC 4 bits ECC 5 bits EDC 1 Samsung K9F1208X0C (512Mb) 2 Samsung K9K8G08U0A (8Gb) 3 Micron Technology Inc. 8

NAND Applications Universal Flash Drives (UFDs) Flash cards CompactFlash, MMC, SD, Memory stick, Embedded devices Cell phones, MP3 players, PMPs, PDAs, Digital TVs, Set-top boxes, Car navigators, Hybrid HDDs Intel Turbo Memory SSDs (Solid-State Disks) 9

SSDs vs. HDDs (1) Source: http://www.anandtech.com 10

SSDs vs. HDDs (2) Feature SSD (Samsung) HDD (Seagate) Model Samsung SSD 840 EVO ST3000DM001 (Barracuda 7200.14) Capacity Form factor Host interface Power consumption Performance Measured performance 1 (with IOmeter, 128KB for sequential, 4KB for random) 1TB (19nm 128Gb TLC x 64, 3 cores) 2.5 Weight: 53g Serial ATA-3 (6.0 Gbps) Host transfer rate: 600MB Active: 0.1W Idle/Standby/Sleep: 0.045W Sequential read: Up to 540 MB/s Sequential write: Up to 520 MB/s Sequential read: 428.7 MB/s Sequential write: 374.0 MB/s Random read: 96.0 MB/s Random write: 366.3 MB/s 3TB (3 Discs, 6 Heads, 7200RPM) 3.5 Weight: 626g Serial ATA-3 (6.0 Gbps) Host transfer rate: 600MB Active: 8.0W Idle: 5.8W, Standby/Sleep: 0.75W Power-on to ready: 15 sec (typ) Average latency: 4.16 msec Sequential read: 145.7 MB/s Sequential write: 138.8 MB/s Random read:? MB/s Random write: 1.09 MB/s Price 2 762,900 won (763 won/gb) 121,000 won (43 won/gb) 1 Source: http://www.anandtech.com 2 Source: http://www.danawa.com (As of Nov. 24, 2013) 11

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

NAND Constraints (2) Limited NOP (Number of Programming) 1 / sector for most SLCs (4 for 2KB page) 1 / page for most MLCs Sequential page programming For large block SLCs and MLCs Pair-page programming in MLCs Two pages inside a block are linked together Performance difference Interference 13

FTL (1) What is 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. 14

FTL (2) Flash cards internals 15

FTL (3) SSD internals Source: Indilinx 16

FTL (4) Flash Cards, SSDs Applications Operating System Embedded Flash Storage Applications Operating System File Systems Block Device Driver File Systems Block Device Driver Flash Translation Layer Flash Translation Layer NAND Controller NAND Flash Memory NAND Controller NAND Flash Memory 17

FTL (5) For performance Address translation Garbage collection Hot/cold data identification/separation Interleaving over multiple channels & flash chips Request scheduling Buffer management 18

FTL (6) For reliability Bad block management Wear-leveling Power-off recovery Error correction code (ECC) Other features Encryption Compression Deduplication 19

Sector Mapping (1) Naïve block mapping Each table entry maps one block Small RAM usage Data blocks Inefficient handling of small writes 0 1 2 3 Log blocks 0 1 2 3 LBN 0 LBN 1 LBN 2 LBN 3 4 5 6 7 8 9 10 11 4 5 6 7 12 13 14 15 W = <4, 5, 6, 7, 1> 20

Sector Mapping (2) Log block scheme [IEEE TOCE 2002] A small number of log blocks 1+ log block(s) per data block Page mapping for log blocks Data blocks 0 1 2 3 Log blocks 1 2 1 2 Full/partial/switch merge Switch merge for sequential updates LBN 0 LBN 1 LBN 2 LBN 3 4 5 6 7 8 9 10 11 8 Low log block utilization 12 13 14 15 W = <1, 2, 8, 1, 2, 12, 13, 9> 21

Sector Mapping (3) FAST [ACM TECS 2007] Log blocks shared by all data blocks Sequential/random log blocks Data blocks Log blocks Improved log block utilization 0 1 2 3 Increased merge time LBN 0 LBN 1 LBN 2 LBN 3 4 5 6 7 8 9 10 11 1 2 8 1 2 12 13 9 12 13 14 15 W = <1, 2, 8, 1, 2, 12, 13, 9> 22

Sector Mapping (4) Superblock FTL [ACM EMSOFT 2006] Superblock = logically adjacent N blocks A superblock shares log blocks Up to M log blocks per superblock Page mapping within a superblock Hot/cold pages separation The amount of mapping information increased LSBN 0 LSBN 1 LPN 0 LPN 1 LPN 2 LPN 3 LPN 4 LPN 5 LPN 6 LPN 7 LPN 8 LPN 9 LPN 10 LPN 11 LPN 12 LPN 13 LPN 14 LPN 15 Data blocks 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Log blocks 1 2 1 2 8 12 13 9 W = <1, 2, 8, 1, 2, 12, 13, 9> 23

Sector Mapping (5) General page mapping Most flexible Efficient handling of small writes Large memory footprint One mapping entry per page: 32MB for 32GB MLC (4KB page) Bitmap for page validity Per-block invalid page counter Sensitive to the amount of reserved blocks Performance affected as the system ages LPN 0 LPN 1 LPN 2 LPN 3 LPN 4 LPN 5 LPN 6 LPN 7 LPN 8 LPN 9 LPN 10 LPN 11 LPN 12 LPN 13 LPN 14 LPN 15 Data blocks 0 1 4 14 10 5 6 7 2 8 11 13 15 9 3 12 Log blocks 1 2 8 1 2 12 13 9 W = <1, 2, 8, 1, 2, 12, 13, 9> 24

Flash Storage Source: Pure Storage, Inc. 25

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

OS Implications (2) SSD support in Microsoft Windows 7 Turn off defragmentation for SSDs New TRIM command Remove-on-delete Align file system partition with SSD layout Larger block size proposal (4KB) 27

Beauty and the Beast NAND Flash memory is beauty. Small, light-weight, robust, low-cost, low-power nonvolatile device NAND Flash memory is a beast. Much slower program/erase operations No in-place-update Erase unit > write unit Limited lifetime (10K~100K program/erase cycles) Bad blocks, Software support for NAND flash memory is very important for performance & reliability. 28

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