NAND Flash Memory. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Similar documents
NAND Flash Memory. Jin-Soo Kim 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-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Computer Systems Laboratory Sungkyunkwan University

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

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

NAND Flash Basics & Error Characteristics

Flash Memory. Gary J. Minden November 12, 2013

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

Advanced Flash Technology Status, Scaling Trends & Implications to Enterprise SSD Technology Enablement

NAND Controller Reliability Challenges

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

COMPUTER ARCHITECTURE

CS311 Lecture 21: SRAM/DRAM/FLASH

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

Flash Trends: Challenges and Future

Flash Memory. 2D NAND vs. 3D NAND. White Paper F-WP002

SLC vs MLC: Considering the Most Optimal Storage Capacity

Improving LDPC Performance Via Asymmetric Sensing Level Placement on Flash Memory

William Stallings Computer Organization and Architecture 8th Edition. Chapter 5 Internal Memory

3D NAND - Data Recovery and Erasure Verification

Technical Notes. Considerations for Choosing SLC versus MLC Flash P/N REV A01. January 27, 2012

NAND Flash Architecture and Specification Trends

MEMORY. Computer memory refers to the hardware device that are used to store and access data or programs on a temporary or permanent basis.

Flash TOSHIBA TOSHIBA

Advanced Information Storage 11

High-Efficiency SSD for Reliable Data Storage Systems

CS 320 February 2, 2018 Ch 5 Memory

NAND/MTD support under Linux

Memory technology and optimizations ( 2.3) Main Memory

Chapter 5 Internal Memory

CS 261 Fall Mike Lam, Professor. Memory

Basic Organization Memory Cell Operation. CSCI 4717 Computer Architecture. ROM Uses. Random Access Memory. Semiconductor Memory Types

MEMORY BHARAT SCHOOL OF BANKING- VELLORE

Embedded System Application

Semiconductor Memories: RAMs and ROMs

Embedded Memory Alternatives

Data Retention in MLC NAND Flash Memory: Characterization, Optimization, and Recovery

Optimizes Embedded Flash-based Storage for Automotive Use

Controller Concepts for 1y/1z nm and 3D NAND Flash

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

Self-Adaptive NAND Flash DSP

Large and Fast: Exploiting Memory Hierarchy

Memory Overview. Overview - Memory Types 2/17/16. Curtis Nelson Walla Walla University

HeatWatch Yixin Luo Saugata Ghose Yu Cai Erich F. Haratsch Onur Mutlu

Reducing MLC Flash Memory Retention Errors through Programming Initial Step Only

Solid-State Drive System Optimizations In Data Center Applications

NAND Flash: Where we are, where are we going?

Vulnerabilities in MLC NAND Flash Memory Programming: Experimental Analysis, Exploits, and Mitigation Techniques

Flash type comparison for SLC/MLC/TLC and Advantech s Ultra MLC technology

Five Key Steps to High-Speed NAND Flash Performance and Reliability

Magnetic core memory (1951) cm 2 ( bit)

Computer Organization. 8th Edition. Chapter 5 Internal Memory

+1 (479)

Read and Write Cycles

CS429: Computer Organization and Architecture

High Performance and Highly Reliable SSD

Contents. Memory System Overview Cache Memory. Internal Memory. Virtual Memory. Memory Hierarchy. Registers In CPU Internal or Main memory

Lecture-7 Characteristics of Memory: In the broad sense, a microcomputer memory system can be logically divided into three groups: 1) Processor

Summer 2003 Lecture 18 07/09/03

CS429: Computer Organization and Architecture

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

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (5 th Week)

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

FLASH DATA RETENTION

It Takes Guts to be Great

Phase Change Memory and its positive influence on Flash Algorithms Rajagopal Vaideeswaran Principal Software Engineer Symantec

Purity: building fast, highly-available enterprise flash storage from commodity components

Data Organization and Processing

ELCT 912: Advanced Embedded Systems

NAND Flash Memory: Basics, Key Scaling Challenges and Future Outlook. Pranav Kalavade Intel Corporation

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

Concept of Memory. The memory of computer is broadly categories into two categories:

Flash memory talk Felton Linux Group 27 August 2016 Jim Warner

Digital Systems. Semiconductor memories. Departamentul de Bazele Electronicii

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

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422)

From Silicon to Solutions: Getting the Right Memory Mix for the Application

The Many Flavors of NAND and More to Come

Embedded Systems: Architecture

Myoungsoo Jung. Memory Architecture and Storage Systems

ECE321 Electronics I

Alternative Erase Verify : The Optimization for Longer Data Retention of NAND FLASH Memory

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

Memory Modem TM FTL Architecture for 1Xnm / 2Xnm MLC and TLC Nand Flash. Hanan Weingarten, CTO, DensBits Technologies

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

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

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

Sense Amplifiers 6 T Cell. M PC is the precharge transistor whose purpose is to force the latch to operate at the unstable point.

Improved Error Correction Capability in Flash Memory using Input / Output Pins

WHITE PAPER. Title What kind of NAND flash memory is used for each product? ~~~ Which is suitable SD card from reliability point of view?

ULTRA-RELIABLE FLASH MEMORY SYSTEMS FOR EMBEDDED APPLICATIONS

Could We Make SSDs Self-Healing?

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

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

Chapter 4 Main Memory

CS 261 Fall Mike Lam, Professor. Memory

Transcription:

NAND Flash Memory Jinkyu Jeong (Jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu)

Flash Memory ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu)

Modern Storage Media 2003 Optical 1928 1890 1956 1971 1984 1994 1995 Electrical Optical Optical Magnetic Magnetic Magnetic Mechanical http://www.backuphistory.com ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 3

Storing Data Change the state of something Read the current state Maintain the state without any power (nonvolatility) Better if we can change the state multiple times (overwrite) Having just two states (0 or 1) is simplest and most reliable ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 4

Flash Memory Basics Two states based on the presence of electrons 0 = Electrons present 1 = No electrons Challenges How to attract or expel electrons? How to find whether there are electrons or not? How to keep electrons without any power? ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 5

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 ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 6

Flash Memory Operations Write (or program) Apply a high voltage at the CG Trap electrons inside the FG Once programmed, the cell can not be reprogrammed until it is erased Erase Apply a large voltage in the opposite direction Pull the electrons away from the FG 20V 0V 0V 20V ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 7

Flash Memory Operations Read Electrons in the FG partially cancel the electric field from the CG, increasing the threshold voltage of the cell A higher voltage must be applied to the CG to make the channel conductive ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 8

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 1 1 1 1 1 1 1 1 write (program) 1 1 0 1 1 0 1 0 erase 1 1 1 1 1 1 1 1 ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 9

NOR Flash Random, direct access interface Fast random reads Slow erase and write Mainly for code storage Spansion, Micron, Macronix, ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 10

NAND Flash I/O mapped access Smaller cell size, lower cost Better performance for erase and write Mainly for data storage Samsung, Toshiba, SanDisk, Micron, SK Hynix, ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 11

Semiconductor Memory Hierarchy Volatile MOS Memory Non-Volatile Random Access Memory (RAM) Read Only Memory (ROM) Static RAM (SRAM) Dynamic RAM (DRAM) Programmable ROM (PROM) Mask ROM 1970 by Intel 1970 by Intel 1970 by Intel EPROM EEPROM 1971 by Intel NOR Flash NAND Flash 1984 by Toshiba ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 12

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. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 13

NAND Flash Memory ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu)

Making it Smaller Hwang s law The density of the top-of-the-line flash memory chips will double every 12 months ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 15

Density Growth Source: Samsung Electronics ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 16

Cost Trends Source: IEEE Computer, 2011 ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 17

Recent Cost Trends J. Handy, Flash Technology: Annual Update, FMS 2015. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 18

NAND Global Market Share Source: DRAMeXchange & Statista, 2015. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 19

NAND Technology by Company J. Choe, Comparison of 20nm & 10nm-class 2D Planar NAND and 3D V-NAND Architecture, FMS, 2015. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 20

NAND by Applications 100% 90% 80% 70% 20% 13% 11% 10% 9% 7% 13% 17% 6% 5% 4% 5% 4% 7% 10% 12% 17% 60% 50% 15% 11% 21% 23% 26% 32% 37% 40% 30% 20% 41% 45% 43% 44% 45% 44% 10% 0% 2011 2012 2013 2014 2015 2016 Mobile Storage SSD Card UFD Others Source: Samsung Electronics, 2014. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 21

NAND Flash Architecture ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu)

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 ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 23

NAND Flash Example 2Gb NAND flash device organization Source: Micron Technology, Inc. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 24

Plane Each plane has its own page register and cache register Pages can be programmed or read at once Optional feature: 1, 2, 4, 8, planes ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 25

Die / Chip Each chip has multiple dies (can be stacked) + extra circuits, chip enable signal, ready/busy signal N. Agrawal, Design Tradeoffs for SSD Performance, USENIX ATC, 2008. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 26

NAND Flash Types SLC NAND Single Level Cell 1 bit/cell MLC NAND Multi Level Cell (misnomer) 2 bits/cell TLC NAND Triple Level Cell 3 bits/cell 3D NAND Source: Micron Technology, Inc. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 27

Samsung V-NAND ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 28

Characteristics of NAND Flash ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu)

Erase Before Write In-place update (overwrite) is not allowed Pages must be erased before new data is programmed The erase unit is much larger than the read/write unit Read/write unit: page (4KB, 8KB, 16KB, ) Erase unit: block (64-512 pages) What if there are live pages in the block we wish to erase? ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 30

Limited Lifetime The number of times NAND flash blocks can reliably programmed and erased (P/E cycle) is limited SLCs: 50,000 ~ 100,000 MLCs: 1,500 ~ 5,000 emlcs (Enterprise MLCs): 10,000 ~ 30,000 TLCs: < 1,000 High voltage applied to cell degrades oxide Electrons are trapped in oxide Break down of the oxide structure Requires wear leveling ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 31

Writing Letters and Erasing Paper J. Jeong et al., Lifetime Improvement of NAND Flash-based Storage Systems Using Dynamic Program and Erase Scaling, FAST, 2014. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 32

Flash Endurance E. Grochowski et al., Future Technology Challenges for NAND Flash and HDD Products, FMS, 2012. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 33

Asymmetric Read/Write Latency Reading a page is faster than programming it Usually more than 10x e.g. 1ynm MLC 1 : Read 45µs, Program 1350µs, Erase 4ms Programming a page should go through multiple steps of Program & Verify phases As the technology shrinks, read/write latency tends to increase MLC and TLC make it even worse 1 D. Sharma, System Design for Mainstream TLC SSD, FMS, 2014. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 34

MLC Programming LSB programmed first Cell cannot move to the lower voltage before erase ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 35

Paired Pages in MLC/TLC One cell represents two or three bits in paired pages LSB: low voltage, fast program, less error MSB: high voltage, slow program, more error Performance difference LSB page can be corrupted when MSB page programming is interrupted L. M. Grupp et al., The Harey Tortoise: Managing Heterogeneous Write Performance in SSDs, USENIX ATC, 2013. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 36

MLC vs. TLC MLC NAND 1ynm 128Gb TLC NAND 1ynm 128Gb 80 μs (1st) TLC NAND (SLC mode) t R (read) 45 μs 105 μs (2nd) 50 μs 80 μs (3rd) 550 μs (1st) t PROG (program) 1350 μs 1700 μs (2nd) 350 μs 4650 μs (3rd) t BERS (erase) 4 ms 10 ms 10 ms D. Sharma, System Design for Mainstream TLC SSD, FMS, 2014. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 37

Bit Errors Bits are flipping frequently Error Correction Code (ECC) in spare area Source: Micron Technology, Inc. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 38

ECC Requirements Endurance continues to deteriorate Stronger ECCs are required: RS, BCH, LDPC Y. Cai et al., Error Patterns in MLC NAND Flash Memory: Measurement, Characterization, and Analysis, DATE, 2012. ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 39

Sources of Error Write disturbance When a page is programmed, adjacent calls receive elevated voltage stress Read disturbance Repeated reading from one page can alter the values stored in other unread pages Write disturbance Read disturbance Retention error Threshold voltage shifts down due to charge leakage from the floating gate ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 40

Bad Blocks Initial bad blocks Due to production yield constraints and the pressure to keep costs low SLCs: up to 2% MLCs: up to 5% Run-time bad blocks Read, write, or erase failure Permanent shift in the voltage levels of the cells due to trapped electrons Requires run-time bad block management ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 41

Page Programming Constraints NOP The number of partial-page programming is limited 1 / sector for most SLCs (4 for 2KB page) 1 / page for most MLCs and TLCs Sequential page programming Pages should be programmed sequentially inside a block For large block SLCs, MLCs, and TLCs SLC mode Possible to use only LSB pages in MLCs and TLCs Faster and more reliable, higher P/E cycles ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 42

Comparisons SLC MLC TLC Bits per cell 1 2 3 Performance Endurance Capacity Reliability Cost / GB $$$ $$ $ Applications Enterprise Enterprise / Consumer Consumer ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 43

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! ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) 44