Tutorial FTL. Sejun Kwon Computer Systems Laboratory Sungkyunkwan University

Similar documents
Tutorial FTL. Jinyong Computer Systems Laboratory Sungkyunkwan University

Dummy FTL. Dong-Yun Computer Systems Laboratory Sungkyunkwan University

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

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

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

SSD Firmware Implementation Project Lab. #5

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

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

SSD Firmware Implementation Project Lab. #4

OSSD: Object-based Solid State Drive. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Presented by: Nafiseh Mahmoudi Spring 2017

I/O Devices & SSD. Dongkun Shin, SKKU

SSD Firmware Implementation Project Lab. #6

Optimizing Translation Information Management in NAND Flash Memory Storage Systems

[537] Flash. Tyler Harter

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

OSSD: A Case for Object-based Solid State Drives

Introduction to the OpenSSD Jasmine Platform

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

An Adaptive Partitioning Scheme for DRAM-based Cache in Solid State Drives

Partitioned Real-Time NAND Flash Storage. Katherine Missimer and Rich West

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

Computer Systems Laboratory Sungkyunkwan University

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

Project #1: NAND Simulator

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

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

VSSIM: Virtual Machine based SSD Simulator

3ME2 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:

High-Speed NAND Flash

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

Improving MLC flash performance and endurance with Extended P/E Cycles

3ME 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:

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

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

1110 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 33, NO. 7, JULY 2014

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

Storage Systems : Disks and SSDs. Manu Awasthi CASS 2018

White Paper: Understanding the Relationship Between SSD Endurance and Over-Provisioning. Solid State Drive

Computer Systems Laboratory Sungkyunkwan University

File System Implementation. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

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

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

SD 3.0 series (MLC) Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

smxnand RTOS Innovators Flash Driver General Features

NAND Flash Memory. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

CS311 Lecture 21: SRAM/DRAM/FLASH

A Flash Scheduling Strategy for Current Capping in Multi-Power-Mode SSDs

A Memory Management Scheme for Hybrid Memory Architecture in Mission Critical Computers

1MG3-P 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

SD 3.0 series (islc) Customer. Approver. 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:

PEVA: A Page Endurance Variance Aware Strategy for the Lifetime Extension of NAND Flash

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

Prof. Yong Ho Song Department of Electronic Engineering, Hanyang University

SSD (Solid State Disk)

3ME2 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:

OSSD: A Case for Object-based Solid State Drives

OpenSSD Platform Simulator to Reduce SSD Firmware Test Time. Taedong Jung, Yongmyoung Lee, Ilhoon Shin

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

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

80 IEEE TRANSACTIONS ON COMPUTERS, VOL. 60, NO. 1, JANUARY Flash-Aware RAID Techniques for Dependable and High-Performance Flash Memory SSD

How Good Is Your Memory? An Architect s Look Inside SSDs

Paging. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Page Mapping Scheme to Support Secure File Deletion for NANDbased Block Devices

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

NAND Flash Module 69F64G16 69F128G16 69F256G16 FEATURES: Preliminary

Introduction to Embedded Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Understanding SSD overprovisioning

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

College of Computer & Information Science Spring 2010 Northeastern University 12 March 2010

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

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

NAND Interleaving & Performance

Clustered Page-Level Mapping for Flash Memory-Based Storage Devices

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

LAST: Locality-Aware Sector Translation for NAND Flash Memory-Based Storage Systems

SD 3.0 series (SLC) Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

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

3MR-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

SFS: Random Write Considered Harmful in Solid State Drives

Design and Implementation for Multi-Level Cell Flash Memory Storage Systems

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

Cache Optimization. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Hard Disk Drives (HDDs) Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

VISUAL NAND RECONSTRUCTOR

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

ECEN 449 Microprocessor System Design. Memories. Texas A&M University

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

ARM Processor. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

High Performance SSD & Benefit for Server Application

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

NEXT-GENERATION SSD VERIFICATION PLATFORM WITH TERA-SCALE NAND CAPACITY AND STORAGE SIGNAL PROCESSING SUPPORT

Transcription:

Tutorial FTL Sejun Kwon Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

Contents NAND Flash Memory NAND Flash Operation NAND Flash Architecture NAND Controller Tutorial FTL ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 2

NAND Flash Memory K9LCG08U1M (Dual die) Samsung 35 nm 2-bit MLC flash 16 sectors per page (8 KB + 640 B) 128 pages per block (1 MB + 80 KB) 4096 + 56 blocks per die Page read : 250 us Page program : 1.3 ms Block erase : 1.5 ms ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 3

NAND Flash Memory NAND Flash Code Information http://www.samsung.com/global/business/semic onductor/support/label-code-info/codeinfo/memory-component ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 4

Plane 0 Plane 1 Die 0 ( Low ) Die 1 ( High ) NAND Flash Memory NAND Flash Organization Block Page Buffer Page Buffer 0 1 2 3 4 0 5 4150 4151 ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 5

NAND Flash Memory NAND Flash Organization Data (8KB) Spare (640B) 0 1 2 127 Page (8KB + 640B) Block (1MB + 80KB) ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 6

NAND Flash Operation Page read Cell -> Page Buffer -> RAM Page program RAM -> Page Buffer -> Cell Page copy-back Cell (Src) -> Page Buffer -> Cell (Dst) Block erase ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 7

4 Channel NAND Flash Configuration Channel / Way 8 Way ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 8

NAND Flash Configuration Jasmine Firmware abstracts channel and way to bank 4way * 2 channel = 8 banks bank number = physical page number % number of banks Each bank has blocks ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 9

NAND Flash Configuration Banks share the same IO bus Each bank can perform cell operation in parallel Cell to Page Buffer operation, Block erase Barefoot has only 4 R/B signal inputs per channel A0 and A4 are tied together Maximum 4 way interleaving ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 10

NAND Flash Configuration Ch C/D Bank 3(7) Ch C/D Bank 1(5) Ch A/B Bank 0(4) Ch A/B Bank 2(6) Ch A/B Bank 1(5) Ch A/B Bank 3(7) Ch C/D Bank 2(6) Ch C/D Bank 0(4) ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 11

NAND Flash Configuration 2 Plane operation, 16 bit IO program 33 44 55 66 77 88 99 AA 16KB Die 0 (Low) 16KB Die 1 (High) Plane 0 Plane 1 Plane 0 Plane 1 33 55.. 77 99.. 44 66.. 88 AA.. Block 0 Block 1 Block 0 Block 1............ ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 12

NAND Flash Controller To issue NAND Flash operation Defined in./include/flash.h FC_COL_ROW_READ_OUT FC_COL_ROW_IN_PROG FC_COPYBACK FO_P FO_E FO_B_SATA_W FO_B_SATA_R ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 13

NAND Flash Controller To issue NAND Flash operation ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 14

Tutorial FTL./ftl_tutorial ftl.c, ftl.h Page Mapping FTL Write data from DRAM to NAND Read data from NAND to DRAM But no garbage collection ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 15

Page Mapping Table LPN to PPN map LPN: Logical Page Number - LPN = LBA / Sectors Per Page PPN: Physical Page Number Index 0 1 2 3 2097151 Value 100 256 0 INVALID 20000 ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 16

Read Operation ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 17

./ftl_tutorial/ftl.c Write Operation ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 18

Write Operation NAND Old Page (32KB) For Partial Write DRAM Left hole read Write Write hole read For Not In-Place Update NAND New Page (32KB) ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 19

./ftl_tutorial/ftl.c Write Operation ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 20

./ftl_tutorial/ftl.c Write Operation ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 21

NAND Flash Operation./target_spw/flash.c ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 22

NAND Flash Operation./target_spw/flash.c ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 23

NAND Flash Operation./target_spw/flash_wrapper.c ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 24

./ftl_tutorial/ftl.c Error Handling ftl_open() ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 25

Any Questions? ICE3028: Embedded Systems Design (Spring 2014) Jin-Soo Kim (jinsookim@skku.edu) 26