2.17k likes | 3.27k Views
Flash Memory and SSD. Nov. 8, 2010 Sungjoo Yoo Embedded System Architecture Lab. Agenda. NAND Flash memory Internal operations and reliability Flash memory organization and operations Read, program, and erase ECC (error correction code) Wear leveling, etc.
E N D
Flash Memory and SSD Nov. 8, 2010 Sungjoo Yoo Embedded System Architecture Lab. ESA, POSTECH, 2010
Agenda • NAND Flash memory • Internal operations and reliability • Flash memory organization and operations • Read, program, and erase • ECC (error correction code) • Wear leveling, etc. • Flash translation layer (FTL) • SSD architecture ESA, POSTECH, 2010
Context: SSD in Notebook and PDA • SSD Benefits • High performance, low power, and reliability 10 Flash memory chips ESA, POSTECH, 2010
An Example: Intel SSD • Especially good for random accesses w.r.t. HDD ESA, POSTECH, 2010
[Source: J. Lee, 2007] NOR vs. NAND Summary • NOR Flash • Random, direct access interface • Fast random reads • Slow erase and write • Mainly for code storage • NAND Flash • Block I/O access • Higher density, lower cost • Better performance for erase and write • Mainly for (sequential) data storage ESA, POSTECH, 2010
[Source: Samsung, 2000] Area Efficiency • Metal contacts in NOR cell are the limiting factor: 2.5X difference in area/cell ESA, POSTECH, 2010
NAND Flash Memory Circuit [A 113mm² 32Gb 3b/cell NAND Flash Memory]
[Source: Samsung, 2000] NAND Program & Erase ESA, POSTECH, 2010
[Suh, 1995] Bias Conditions for Erase, Program, and Read
[Source: Z. Wu, 2007] SLC vs. MLC • SLC (single level cell) vs. MLC MLC SLC probability 10 00 01 0 11 1 voltage Vth • Fast, less error • Low bit density • Slow, more error • High bit density + ECC (error correction code) E.g., RS, LDPC, BCH, … E.g., 4bit ECC for 512B ESA, POSTECH, 2010
(2008) • Three major parasitic effects • Background pattern dependency (BDP) • Noise • Cell-to-Cell interference • Proposed solution : • Reduce the number of neighbour cells • Reduce the Vth shift A Zeroing Cell-to-Cell Interference Page Architecture With Temporary LSB Storing and Parallel MSB Program Scheme for MLC NAND Flash Memories
Features of 32Gb 3b/cell (D3) NAND flash memory with sub-35nm CMOS process (This has reduced cost and increased density compared to conventional chips) A 113mm² 32Gb 3b/cell NAND Flash Memory
- Achieving typical 2.3MB/s program performance with an ISPP scheme - lowering the pate programming current using self-boosting of program inhibit voltages A 3.3V 32Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme ISPP conventional Vpgm Vpgm time time
- Achieving typical 2.3MB/s program performance with an ISPP scheme - lowering the pate programming current using self-boosting of program inhibit voltages A 3.3V 32Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme 0.6V Distribution of program cycles number in a chip, The ISPP device has the narrowest distribution Programmed cell with Vth distribution of device with ISPP and 2 devices with fixed Vpgm pulses
NAND structure and Operation reading programming
Circuits and algorithms which result in an approximately 30% increase in program throughput compared to the conventional scheme A 48nm 32Gb 8-Level NAND Flash Memory with 5.5MB/s Program Throughput
[Shibata, 2008] Floating Gate Coupling Effects
- Programming method suppressing the floating gate coupling effect and making the narrow Vth distribution for 16LC A 70nm 16Gb 16-Level-Cell NAND flash Memory
- Programming method suppressing the floating gate coupling effect and making the narrow Vth distribution for 16LC A 70nm 16Gb 16-Level-Cell NAND flash Memory Vth distribution transition of 16LC Comparison of Vth distribution
Features of 32Gb 3b/cell (D3) NAND flash memory with sub-35nm CMOS process (This has reduced cost and increased density compared to conventional chips) A 5.6MB/s 64Gb 4b/Cell NAND Flash Memory in 43nm CMOS
[Source: Samsung, 2000] NAND Flash Lifetime • # of erase operations is limited due to degradation wear leveling & ECC are needed! ESA, POSTECH, 2010
representing raw error data from multi-level-cell devices from four manufacturers,identifying the root-cause mechanisms,and estimating the resulting uncorrectable bit error rate(UBER) Bit Error Rate in NAND Flash Memories
representing raw error data from multi-level-cell devices from four manufacturers,identifying the root-cause mechanisms,and estimating the resulting uncorrectable bit error rate(UBER) Bit Error Rate in NAND Flash Memories Detrapping SILC
representing raw error data from multi-level-cell devices from four manufacturers,identifying the root-cause mechanisms,and estimating the resulting uncorrectable bit error rate(UBER) Bit Error Rate in NAND Flash Memories
representing raw error data from multi-level-cell devices from four manufacturers,identifying the root-cause mechanisms,and estimating the resulting uncorrectable bit error rate(UBER) Bit Error Rate in NAND Flash Memories
Column-Dependent Errors Redundant bitlines! Redundant bitlines? [Swenson, 2009]
Agenda • NAND Flash memory • Internal operations and reliability • Flash memory organization and operations • Read, program, and erase • ECC (error correction code) • Wear leveling, etc. • Flash translation layer (FTL) • SSD architecture ESA, POSTECH, 2010
[Source: J. Lee, 2007] Flash Operations • Operations • Read • Write or Program • Changes a desired state from 1 to 0 • Erase • Changes all the states from 0 to 1 • Unit • Page • Read/Write unit (in NAND) • Block • Erase unit write erase ESA, POSTECH, 2010
[Source: Micron, 2006] NAND Flash Architecture: 2Gb Case tR tPROG ESA, POSTECH, 2010
[Source: Micron, 2007e] Small vs. Large Block ESA, POSTECH, 2010
[Source: Micron, 2007e] Performance Comparison Small block 12.65MB/s for read 2.33MB/s for program 33ns*2K = 66us tR = 15us tPROG = 200us Large block 16.13MB/s for read 5.20MB/s for program tR = 25us tPROG = 300us Runtime reduction! Note: The same erase time per block! ESA, POSTECH, 2010
[Source: Micron, 2006] Read Operation 25us Data ESA, POSTECH, 2010
[Source: Micron, 2006] Pin Description ESA, POSTECH, 2010
[Source: Micron, 2006] Commands & I/O Multiplexing ESA, POSTECH, 2010
[Source: Micron, 2006] Erase Operation ESA, POSTECH, 2010
[Source: Micron, 2006] Program Operation ESA, POSTECH, 2010
[Source: Micron, 2006] Program with Random Data Input • Often used for partial page program ESA, POSTECH, 2010
[Source: Micron, 2006] Page Storage Methods ESA, POSTECH, 2010
[Source: Micron, 2006] Read Operation (Revisited) ESA, POSTECH, 2010
[Source: Micron, 2006] Page Read Cache Mode ESA, POSTECH, 2010
[Source: Micron, 2007] Comparison between Normal Read and Page Mode Cache Read ESA, POSTECH, 2010
[Source: Micron, 2006] Commands & I/O Multiplexing ESA, POSTECH, 2010
[Source: Micron, 2007] Page Read Cache Mode Operation ESA, POSTECH, 2010
[Source: Micron, 2007] Performance Comparison ESA, POSTECH, 2010
[Source: Micron, 2006] Program Page Cache Mode ESA, POSTECH, 2010
[Source: Micron, 2006] Overlapping Program Data Cycles and tPROG ESA, POSTECH, 2010
[Source: Micron, 2006] Commands & I/O Multiplexing ESA, POSTECH, 2010
[Source: Micron, 2007b] Program Page Cache Mode Operation ESA, POSTECH, 2010
[Source: Micron, 2007b] Performance Comparison ESA, POSTECH, 2010