Introduction to Flash Memory (T1A)



Similar documents
Technical Note NAND Flash 101: An Introduction to NAND Flash and HowtoDesignItIntoYourNextProduct

A New Chapter for System Designs Using NAND Flash Memory

1 Gbit, 2 Gbit, 4 Gbit, 3 V SLC NAND Flash For Embedded

Choosing the Right NAND Flash Memory Technology

NAND Flash Architecture and Specification Trends

NAND 201: An Update on the Continued Evolution of NAND Flash

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

NAND Flash Architecture and Specification Trends

Embedded Multi-Media Card Specification (e MMC 4.5)

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

Table 1: Address Table

MCF54418 NAND Flash Controller

Samsung emmc. FBGA QDP Package. Managed NAND Flash memory solution supports mobile applications BROCHURE

Eureka Technology. Understanding SD, SDIO and MMC Interface. by Eureka Technology Inc. May 26th, Copyright (C) All Rights Reserved

NAND Basics Understanding the Technology Behind Your SSD

NAND Flash & Storage Media

RealSSD Embedded USB Mass Storage Drive MTFDCAE001SAF, MTFDCAE002SAF, MTFDCAE004SAF, MTFDCAE008SAF

Single 2.5V - 3.6V or 2.7V - 3.6V supply Atmel RapidS serial interface: 66MHz maximum clock frequency. SPI compatible modes 0 and 3

A N. O N Output/Input-output connection

SATA SSD Series. InnoDisk. Customer. Approver. Approver. Customer: Customer. InnoDisk. Part Number: InnoDisk. Model Name: Date:

Advantages of e-mmc 4.4 based Embedded Memory Architectures

Nasir Memon Polytechnic Institute of NYU

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

W25Q80, W25Q16, W25Q32 8M-BIT, 16M-BIT AND 32M-BIT SERIAL FLASH MEMORY WITH DUAL AND QUAD SPI

NAND Flash Status Register Response in Cache Programming Operations

Homework # 2. Solutions. 4.1 What are the differences among sequential access, direct access, and random access?

S34ML08G2 NAND Flash Memory for Embedded

Programming Matters. MLC NAND Reliability and Best Practices for Data Retention. Data I/O Corporation. Anthony Ambrose President & CEO

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

1. Memory technology & Hierarchy

Solid State Drive Technology

Booting from NAND Flash Memory

SLC vs MLC: Proper Flash Selection for SSDs in Industrial, Military and Avionic Applications. A TCS Space & Component Technology White Paper

White Paper Utilizing Leveling Techniques in DDR3 SDRAM Memory Interfaces

UT165 Advanced USB2.0 Flash Drive Controller

OTi. Ours Technology Inc. OTi-6828 FLASH DISK CONTROLLER. Description. Features

DDR SDRAM SODIMM. MT9VDDT1672H 128MB 1 MT9VDDT3272H 256MB MT9VDDT6472H 512MB For component data sheets, refer to Micron s Web site:

Managing the evolution of Flash : beyond memory to storage

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

1.55V DDR2 SDRAM FBDIMM

Programming NAND devices

enabling Ultra-High Bandwidth Scalable SSDs with HLnand

Am186ER/Am188ER AMD Continues 16-bit Innovation

Solid State Drive Architecture

M25P05-A. 512-Kbit, serial flash memory, 50 MHz SPI bus interface. Features

Memory. The memory types currently in common usage are:

HT1632C 32 8 &24 16 LED Driver

Comparison of NAND Flash Technologies Used in Solid- State Storage

Technical Note Memory Management in NAND Flash Arrays

USB Flash Drive. RoHS Compliant. AH321 Specifications. June 4 th, Version 1.4. Apacer Technology Inc.

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

Technical Note Booting from Embedded MMC

WP001 - Flash Management A detailed overview of flash management techniques

Computer Systems Structure Main Memory Organization

Parallel NOR Flash Automotive Memory

Linux flash file systems JFFS2 vs UBIFS

High-Performance SSD-Based RAID Storage. Madhukar Gunjan Chakhaiyar Product Test Architect

Flash Memory. For Automotive Applications. White Paper F-WP001

MICROPROCESSOR AND MICROCOMPUTER BASICS

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

IDE/ATA Interface. Objectives. IDE Interface. IDE Interface

SLC vs MLC: Which is best for high-reliability apps?

CAT28C64B F R E E. 64K-Bit CMOS PARALLEL EEPROM L E A D FEATURES DESCRIPTION BLOCK DIAGRAM

DDR SDRAM SODIMM. MT8VDDT3264H 256MB 1 MT8VDDT6464H 512MB For component data sheets, refer to Micron s Web site:

USB Flash Drive. RoHS Compliant. AH322 Specifications. July 2 nd, Version 1.2. Apacer Technology Inc.

AND8336. Design Examples of On Board Dual Supply Voltage Logic Translators. Prepared by: Jim Lepkowski ON Semiconductor.

SOLVING HIGH-SPEED MEMORY INTERFACE CHALLENGES WITH LOW-COST FPGAS

Yaffs NAND Flash Failure Mitigation

Dual DIMM DDR2 and DDR3 SDRAM Interface Design Guidelines

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Important Differences Between Consumer and Enterprise Flash Architectures

Micro SDSC / SDHC / SDXC. Micro SD Data Sheet

GR2DR4B-EXXX/YYY/LP 1GB & 2GB DDR2 REGISTERED DIMMs (LOW PROFILE)

USB Flash Drive Engineering Specification

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board.

Features. DDR SODIMM Product Datasheet. Rev. 1.0 Oct. 2011

RAM & ROM Based Digital Design. ECE 152A Winter 2012

Table 1 SDR to DDR Quick Reference

Fairchild Solutions for 133MHz Buffered Memory Modules

Low Power AMD Athlon 64 and AMD Opteron Processors

DDR SDRAM SODIMM MT16VDDF6464H 512MB MT16VDDF12864H 1GB

SLC vs. MLC: An Analysis of Flash Memory

Allows the user to protect against inadvertent write operations. Device select and address bytes are Acknowledged Data Bytes are not Acknowledged

Semiconductor Device Technology for Implementing System Solutions: Memory Modules

DDR SDRAM UDIMM MT16VDDT6464A 512MB MT16VDDT12864A 1GB MT16VDDT25664A 2GB

Memory Basics. SRAM/DRAM Basics

Using Altera MAX Series as Microcontroller I/O Expanders

NAND Flash Memory Reliability in Embedded Computer Systems

User s Manual HOW TO USE DDR SDRAM

Technical Note DDR2 Offers New Features and Functionality

4Gb NAND FLASH H27U4G8_6F2D H27S4G8_6F2D

Price/performance Modern Memory Hierarchy

File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System

Industrial Semi Metal USB

Design of a High-speed and large-capacity NAND Flash storage system based on Fiber Acquisition

EUDAR Technology Inc. Rev USB 2.0 Flash Drive. with Card Reader. Datasheet. Rev. 1.0 December 2008 EUDAR 1

DS1225Y 64k Nonvolatile SRAM

Transcription:

Introduction to Flash Memory (T1A) Jim Cooke (jcooke@micron.com) Staff Architect and Technologist, Architecture Development Group Micron Technology, Inc. August 22 24, 2008 1

Agenda The basics of Flash and NAND Flash cell comparison NAND and NOR attributes and interface comparison Detailed operations Commands, address, and data operations Connecting NAND to a RISC or DSP processor More NAND Flash device detail SLC vs. MLC All NAND devices are not created equal Architecture, features, and performance comparisons Performance bottlenecks ONFI and high-speed NAND introduction NAND error modes Program disturb Read disturb Data retention Endurance Wear-leveling ECC fixes almost everything August 22 24, 2008 2

A Quick Review of Flash Basics Cell differences NAND attributes NAND vs. NOR August 22 24, 2008 3

Flash Basics Flash data is grouped into blocks, which are the smallest erasable entity Erasing a block sets all bits to 1 or bytes to FFh The programming operation changes erased bits from 1 to 0 The smallest entity that can be programmed is a bit While NAND cannot inherently perform random access, it is possible at the system level through shadowing August 22 24, 2008 4

Flash Memory Cell Comparison NAND word line word line NOR bit line contact Cell array Unit Cell Unit Cell Layout Crosssection Cell size source line 2F 2F 4F 2 source line 2F 5F 10F 2 NAND Flash s small cell size enables high density and low cost August 22 24, 2008 5

Basic NAND Attributes NAND is very similar to a disk drive; it is sector-based (page-based) Flash and is well-suited for storage of sequential data (such as pictures, audio, and files) Like a disk drive, NAND is not well-suited for random access, such as executing code, although random access can be accomplished at the system level by shadowing the data to RAM (similar to what a PC does with BIOS) Like a disk drive, NAND devices have bad sectors or blocks and require management Like a disk drive, NAND requires error correction code (ECC) Unlike a disk drive, it is possible to wear out the NAND cell; with good wear-leveling, this is typically not an issue August 22 24, 2008 6

Basic NAND Attributes NAND is available in large capacities and is the lowest cost Flash memory available today NAND is finding its way into many embedded applications and is used in virtually all removable cards USB cards Memory stick SD secure digital CF compact Flash MMC multimedia card Multiplexed interface provides similar pinout over all devices x8 signal pinout has not changed from 64Mb pinout x8 devices are used mostly in high capacity (3.3V) consumer applications; the x16 devices are mostly used in embedded (1.8V) applications August 22 24, 2008 7

Basic NAND/NOR Comparison NAND Advantages Fast writes Fast erases Disadvantages Slow random access Byte writes difficult Applications File (disk) applications Voice, data, video recorder Any large sequential data Advantages NOR Random access Byte writes possible Disadvantages Slow writes Slow erase Applications Replacement of EPROM Execute directly from nonvolatile memory August 22 24, 2008 8

Flash Memory Comparison Characteristic Random access read Sustained read speed (sector basis) NAND Flash MT29F2G08 25µs (first byte) 0.03µs each for remaining 2,111 bytes 23 MB/s (x8) or 37 MB/s (x16) NOR MT28F128J3 0.12µs 20.5 MB/s (x8) or 41 MB/s (x16) Random write speed ~300µs/2,112 bytes 180µs/32 bytes Sustained write speed (sector basis) 5 MB/s 0.178 MB/s Erase block size 128KB 128KB Erase time per block (typ) 2ms 750ms NAND Flash is ideal for file storage, such as NOR Flash is ideal for data or image files; if code is stored, it must direct code execution (boot code) although it still be shadowed to RAM first, as in a PC August 22 24, 2008 needs to be shadowed (for 9 speed)

Flash Interface Comparison NOR Flash Random-access interface typically composed of: CE# chip enable D15 D0 data bus WE# write enable A20-A0 address bus OE# output enable WP# write protect 41 pins NAND Flash I/O device-type interface composed of: CE# chip enable WE# write enable RE# read enable CLE command latch enable 23 pins (for x16) ALE address latch enable I/O 7 0 data bus (I/O 15 0 for x16 parts) WP# write protect R/B# ready/busy August 22 24, 2008 10

NAND Flash Physical Interface (TSOP 1) Pin Name R/B# RE# CE# CLE ALE WE# WP# Definition Ready Busy Read Enable (L) Chip Enable (L) Command Latch Enable Address Latch Enable Write Enable (L) Write Protect Indirect addressing enables no pinout changes among densities Note 2: Additional Vcc and Vss recommended for new PCB designs August 22 24, 2008 11

NAND Block Diagram ALE CLE NAND Register 0 0 Data register 0 1 Command register 1 0 Address register August 22 24, 2008 1 1 Undefined 12

Detailed Operations Architecture Addressing Basic commands August 22 24, 2008 13

Basic NAND Flash Operations Program: Register Data input Read: Register Erase: Register Page Block Program High speed Serial read Block erase Page-based operation Page-based operation Block-based operation R/B is open drain and requires a pull-up resistor NAND controller /CE /RE /WE R/BY ALE CLE /WP NAND Flash CLE /CE /WE ALE I/O 1-8 CMD Add Add Add Add Add I/O1 - I/O8 Command input Address input (5 cycles) Multiplexed command, August 22 24, 2008 address, data protocol 14

SLC NAND Flash Memory Diagram Serial input: (x8 or x16) ~30ns (clk) Program: ~300ms/page Register 2,112 bytes NAND Memory Array Serial output: (x8 or x16) ~30ns (clk) Read (page load): 25ms 64 pages per block NAND Page 2,112 bytes NAND Block 2,048 blocks (2Gb device) Block erase ~2ms Data Area (2,048 bytes) Spare Area (ECC, etc.) (64 bytes) 8-bit byte or 16-bit word August 22 24, 2008 15

Basic Access Command cycle 1 Address cycles Command cycle 2 August 22 24, 2008 16

Large-Block NAND Addressing August 22 24, 2008 17

NAND Command List Standard 2Gb (256MB) NAND For ease of presentation: Basic command Advanced command August 22 24, 2008 18

Reset Operation August 22 24, 2008 19

Read ID Operation August 22 24, 2008 20

Device IDs Density x8/x16 1.8V/3.3V # of Die Byte 0 Manf. ID Byte 1 Device ID 1Gb x8 1.8V 1 2Ch A1h 1Gb x8 3.3V 1 2Ch F1h 1Gb x16 1.8V 1 2Ch B1h 1Gb x16 3.3V 1 2Ch C1h 2Gb x8 1.8V 1 2Ch AAh 2Gb x8 3.3V 1 2Ch DAh 2Gb x16 1.8V 1 2Ch BAh 2Gb x16 3.3V 1 2Ch CAh 4Gb x8 1.8V 2 2Ch ACh 4Gb x8 3.3V 2 2Ch DCh 4Gb x16 1.8V 2 2Ch BCh 4Gb x16 3.3V 2 2Ch CCh 8Gb x8 1.8V 4 2Ch ACh 8Gb x8 3.3V 4 2Ch DCh 8Gb x16 1.8V 4 2Ch BCh 8Gb x16 3.3V 4 2Ch CCh August 22 24, 2008 21

Read Status Operation August 22 24, 2008 22

NAND Flash Read Status Results Read status typically = E0h when the NAND is ready with no error August 22 24, 2008 23

Block Erase Operation Register 2,112 bytes NAND Memory Array 64 pages per block NAND Page 2,112 bytes NAND Block Block Erase ~2ms 2,048 blocks (2Gb device) Data Area (2,048 bytes) Spare Area (ECC, etc.) (64 bytes) 8-bit byte or 16-bit word August 22 24, 2008 24

Block Erase Operation August 22 24, 2008 25

Serial input: (x8 or x16) 30ns (clk) 64 pages per block Program Operation Register 2,112 bytes NAND Page 2,112 bytes NAND Block NAND Memory Array Data Area (2,048 bytes) Spare Area (ECC, etc.) (64 bytes) The programming operation can program only 0 bits If you don t want to program a bit, set it to 1 The register is automatically loaded with all 1s by the 80h command (note the 85h command does not do this) After a bit has been programmed to a 0, if you want to turn it back to a 1, you must complete a block erase to return the entire block back to all 1s Programming must be done sequentially (within a block) 2,048 blocks (2Gb device) 8-bit byte or 16-bit word Program ( t PROG): ~300µs/page August 22 24, 2008 26

Program Operation August 22 24, 2008 27

Random Data Input/Program You can input as many address and data combinations as you want. The page is programmed when you issue the 10h confirmation. Each of these counts toward the partial-page programming limit (of 8). August 22 24, 2008 28

Read Operation Read transfers the addressed page from the array to the register The column address specifies the first byte out; it can be offset by any amount Register 2,112 bytes Serial output: (x8 or x16) ~30ns clock Each clock (RE#) shifts a byte (or word) out NAND Page 2,112 bytes Read access ( t R): ~25µs/page 64 pages per block NAND Block NAND Memory Array Data Area (2,048 bytes) Spare Area (ECC, etc.) (64 bytes) 8-bit byte or 16-bit word August 22 24, 2008 29

Random Read Operation The RANDOM READ command allows you to specify a new two-byte column address Can use the RANDOM READ command to jump around anywhere on the page You can access random data by inputting a random data read 05h cmd, address, E0h and clock the desired data out. August 22 24, 2008 30

Partial-Page Programming NOP specifies the number of programming operations that can be executed on the same page Pages are programmed in groups due to the large page sizes (SLC only) Typical PC sector size is 512, so four PC sectors fit into one 2K page Programming ECC info separately from the data could require an additional four operations The user can have other info (logical mapping or wear-leveling) in the spare area It is best to minimize partial-page programming The number of partial-page program operations is the number of complete programming operations (with confirm 10h) to the same location without an erase MLC devices have an NOP of 1 August 22 24, 2008 31

Methods for Data and Spare Information Placement Data and spare information adjacent 2,112 bytes Data Area (512 bytes) Data Area (512 bytes) Data Area (512 bytes) Data Area (512 bytes) Spare Areas (ECC, etc.) 16 bytes each Data and spare information separate 2,048 bytes 64 bytes Data Area (512 bytes) Data Area (512 bytes) Data Area (512 bytes) Data Area (512 bytes) Spare Areas August 22 24, 2008 32

Connecting NAND to a RISC Processor or DSP That Does not Include a NAND Controller August 22 24, 2008 33

Direct Connection to RISC Processor Memory Mapped NAND Interface If microprocessor address 4 is connected to CLE and address 5 is connected to ALE, the NAND can be accessed by a software that uses only three address locations Command register can be accessed by writing to address XX010h Address register can be accessed by writing to address XX020h Data register can be accessed by writing/reading to address XX000h A7 A6 A5 A4 A3 A2 A1 A0 A5 A4 ALE CLE Memory Address Offset NAND Register Selected 0 0 0 Data register 0 1 1 Command register 1 0 2 Address register 1 1 3 Undefined (don t use) August 22 24, 2008 34

Glueless Microprocessor NAND Interface Vcc Assume CS1 address space is 0xFFF000-0xFFF0FF INTR GPIO -CS1 -CS0 -WE -CE -WE -CE -WE R/B -OE -OE -RE A0-Axx D0-15 Addr I/O 0-15 ALE (A5) CLE (A4) I/O 0-7 Program Function CPU NOR/SRAM NAND CE low ALE CLE WE RE D2112 Command I/O1~8 80h Col Col Row Row Row D0 D1 D2 D3 D4 D5 10h Command Next operation Address Input (5 cycles ) Wait ( t R) ~300us August R/B 22 24, 2008 35

Glueless Microprocessor NAND Interface Pseudo-Code Example for PROGRAM: (All numbers in HEX) 80 -> FFF010 ; CMD = 80 ColL -> FFF020 ; low column ColH -> FFF020 ; high column RowL -> FFF020 ; low ROW RowM -> FFF020 ; Mid ROW RowH -> FFF020 ; High ROW D0 -> FFF000 ; Data 0 D1 -> FFF000 ; Data 1 (Complete remaining data) D2111 -> FFF000 ; Data 2111 10 -> FFF010 ; CMD = 10 LOOP1: PA -> Acc ; Read status BIT #6 set ; JMP NZ LOOP1 ; Jmp if Busy to Loop ; DONE! Program Function CE low ALE CLE WE RE I/O1~8 Command 80h Col Col Row Row Row D0 D1 D2111 D2 D3 D4 D5 10h Next operation Command Address Input (5 cycles ) Wait (tr) ~220us Santa R/B Clara, CA USA August 22 24, 2008 36

Processor Support Processors with native NAND controller built-in with support for 2K page: Motorola i.mx21 and i.mx31and others TI Omap 2420 and 2430 and others Other vendors are adding direct-nand interface; check with your vendor August 22 24, 2008 37

Native NAND Interface on Freescale i.mx21 ADDRESS CONTROL diagram courtesy Freescale Semiconductor August 22 24, 2008 38

Single-Level Cell (SLC) vs. Multi-Level Cell (MLC) August 22 24, 2008 39

What is the Difference? SLC (single-level cell) SLC stores 2 states per memory cell and allows 1 bit programmed/read per memory cell MLC (multi-level cell) MLC NAND stores 4 states per memory cell and allows 2 bits programmed/read per memory cell August 22 24, 2008 40

SLC vs. MLC SLC NAND Flash products offer higher performance and reliability; typical applications include: High performance media cards Solid state drives (SSDs) Many embedded (NAND built inside) designs including: Cell phones (for executing code); MLC will still be considered for high density storage Multi-level cell (MLC) NAND Flash will lead in the lowest cost for consumer applications where performance and reliability are not as important; typical applications include: Media players (audio and video) Cell phones (SLC will still be considered for code execution) Consumer media cards (such as USB, SD/MMC, and CF cards) August 22 24, 2008 41

SLC Attributes Key attributes: Single bit per cell Supports low voltage (1.8V); required for many mobile applications Offered in wide data bus (16 bits) as well as 8-bit Supported by all controllers because SLC generally requires only 1-bit ECC Higher performance Higher reliability Features Bits per cell 1 Voltage 3.3V, 1.8V Data width (bits) x8, x16 Architecture Number of planes 1 or 2 Page size 2K or 4K bytes Pages per block 64 Reliability NOP (partial-page programming) 4 ECC (per 512 bytes) 1 Endurance (ERASE/PROGRAM cycles) ~100K Array Operations tr (Max) 25µs tprog (Typ) 200 300µs tbers (Typ) 1.5 2ms August 22 24, 2008 42

MLC Attributes Key attributes: Two bits per cell; twice the density of similar SLC device Offered only in 3.3V Offered only in x8 data bus Supported only by controllers that include 4-bit (or more ) ECC Compared to SLC NAND: Lower performance Lower reliability Lower price Features Bits per cell 2 Voltage 3.3V Data width (bits) x8 Architecture Number of planes 2 Page size 2K or 4K bytes Pages per block 128 Reliability NOP (partial-page programming) 1 ECC (per 512 bytes) 4+ Endurance (ERASE/PROGRAM cycles) ~10K Array Operations tr (Max) 50µs tprog (Typ) 600 900µs tbers (Typ) 3ms August 22 24, 2008 43

SLC vs. MLC SLC is typically offered in lower voltage and wider busses SLC requires less ECC SLC reliability is 10 times better! SLC performance is ~3 times better SLC Features MLC 1 Bits per cell 2 3.3V, 1.8V Voltage 3.3V x8, x16 Data width (bits) x8 Architecture 1 or 2 Number of planes 2 2KB or 4KB Page size 2KB or 4KB 64 Pages per block 128 Reliability 4 NOP (partial-page programming) 1 1 ECC (per 528 bytes) 4+ ~100K Endurance (ERASE/PROGRAM cycles) ~10K Array Operations 25µs tr (Max) 50µs 200 300µs tprog (Typ) 600 900µs 1.5 2ms tbers (Typ) 3ms MLC density is 2 times that of similar SLC August 22 24, 2008 44

4Gb SLC Performance (72nm SLC) 4Gb Performance 45.00 40.00 35.00 30.00 28.94 37.62 33.50 38.65 25.00 20.00 15.00 10.00 7.74 9.56 12.94 19.05 5.00 0.00 Page Read Cache Read 2Plane Page Read 2Plane Page Read Cache Mode Page Program Program Pge Cache 2Plane Program Page 2Plane Program Page Cache Mode August 22 24, 2008 45

8Gb MLC Performance L41 (72nm MLC) 8Gb Performance 45.00 40.00 35.00 35.07 37.26 30.00 25.00 20.00 15.00 20.51 27.06 10.00 5.00 3.00 3.25 5.58 6.49 0.00 Page Read Cache Read 2Plane Page Read 2Plane Page Read Cache Mode Page Program Program Pge Cache 2Plane Program Page 2Plane Program Page Cache Mode August 22 24, 2008 46

SLC Requires Less ECC While it is possible to implement 1-bit correct (Hamming code) in software, it generally does not provide a high performance solution Many microprocessors include NAND controllers that support 1-bit ECC Some newer processors are looking to include 4-bit ECC (or more) in their on-chip NAND controllers August 22 24, 2008 47

SLC vs. MLC Conclusions MLC will always provide the lowest cost per bit SLC will always provide the highest performance SLC will always provide the highest reliability Choose the right NAND device for the application August 22 24, 2008 48

All NAND Flash Devices Are Not Created Equal Differences include: Cell types Architecture Performance Timing parameters Command set Open NAND Flash Interface (ONFI) drives a standard interface August 22 24, 2008 49

Two-Plane Features Device is divided into two physical planes, odd/even blocks Users have the ability to: Concurrently access two pages for read Erase two blocks concurrently Program two pages concurrently The page addresses of blocks from both planes must be the same during two-plane READ/PROGRAM/ERASE operations August 22 24, 2008 50

4Gb, Two-Plane, 2K-Page SLC NAND Architecture August 22 24, 2008 51

4Gb, 2K-Page SLC NAND Performance Micron (72nm SLC) 4Gb die 2K Page Performance 40.00 37.62 35.00 33.50 30.00 28.94 25.00 MB/sec 20.00 19.05 15.00 10.00 7.74 9.56 12.94 5.00 0.00 Page Read Cache Read 2Plane Page Read Page Program Program Pge Cache 2Plane Program Page 2Plane Program Page Cache Mode NAND Operation August 22 24, 2008 52

8Gb, Two-Plane, 2K-Page MLC NAND Architecture August 22 24, 2008 53

8Gb, 2K-Page MLC Performance Micron (72nm MLC) 8Gb die 2K Page Performance 45.00 40.00 35.00 30.00 27.06 MB/sec 25.00 20.00 15.00 20.51 19.92 10.00 5.00 3.00 3.25 5.58 6.49 0.00 Page Read Cache Read 2Plane Page Read Page Program Program Pge Cache 2Plane Program Page 2Plane Program Page Cache Mode NAND Operation August 22 24, 2008 54

16Gb, Two-Plane, 4K-Page MLC NAND Architecture August 22 24, 2008 55

Two-Plane, 4K-Page MLC NAND Architecture Micron (55nm MLC) 16Gb die 4K Page Performance 40.00 35.00 37.42 32.41 30.00 27.30 25.00 MB/sec 20.00 15.00 10.00 5.00 4.28 4.79 7.73 9.56 0.00 Page Read Cache Read 2Plane Page Read Page Program NAND Operation Program Pge Cache 2Plane Program Page 2Plane Program Page Cache Mode August 22 24, 2008 56

Performance Bottlenecks August 22 24, 2008 57

Read Throughput Limitations in NAND Today Read throughput limited by I/O frequency I/O time for NAND page (trc = 20ns) 2K page: 42µs 4K page: 86µs NAND array read transfer time SLC: tr time is normally 20 25µs MAX MLC: tr time is normally 50µs MAX Today for SLC NAND, the I/O time is 2 4x the array transfer time I/O performance must be less than or equal to array performance for maximum sustained read throughput August 22 24, 2008 58

I/O Throughput Cannot Scale NAND Flash interface is asynchronous NAND timing parameters cannot scale indefinitely to faster speeds As trc decreases, it becomes difficult for controllers to latch data output from the NAND As twc for data input decreases, time to process command and address cycles does not decrease 40% faster 17% faster 25% faster 50ns I/O 30ns I/O 25ns I/O 20ns I/O August 22 24, 2008 59

4Gb Memory Array SLC Read Array/Bus Performance Mismatch 330 MB/s 40 MB/s Page Buffer (4KB) NAND array reads are parallel and very fast Read array bandwidth is greater than 330 MB/s (8KB read in 25µs) 4Gb Memory Array Page Buffer (4KB) Interface speed is the limiting factor Read bus bandwidth is only 40 MB/s (25µs clock) August 22 24, 2008 60

SLC Program Array/Bus Performance 4Gb Memory Array Page Buffer (4KB) 33 MB/s 40 MB/s Interface speed is no longer the limiting factor Bus bandwidth is 40 MB/s (25µs) 4Gb Memory Array Page Buffer (4KB) Program performance is not so impressive Array program bandwidth is 33 MB/s (8KB programmed in 250µs) August 22 24, 2008 61

ONFI and High-Speed NAND Introduction August 22 24, 2008 62

ONFI = Open NAND Flash Interface Includes NAND vendors, enablers, and customers Purpose is to standardize the NAND Flash interface Packages Timing parameters Addressing Command set Device behavior Benefits What is ONFI NAND devices self-describe their capabilities to controllers Reduces time to qualify NAND devices at enablers and OEMs August 22 24, 2008 63

NAND Flash Inconsistencies Without a Standard Device identification using read ID Array architecture and addressing Command set Timing parameters ECC and endurance Factory-marked bad blocks Device behavior and status August 22 24, 2008 64

ONFI Technical Philosophy ONFI shall ensure no preassociation with NAND Flash at host design is required Flash must self-describe features, capabilities, timings, etc., through a parameter page Features that cannot be self-described in a parameter page (like number of CE#) shall be host discoverable ONFI should leverage existing Flash behavior to the extent possible Intent is to enable orderly and TTM transition, so highly divergent behavior from existing NAND undesired Where prudent for longevity or capability need, existing Flash behavior shall be modified or expanded ONFI needs to enable future innovation August 22 24, 2008 65

The NAND Interface Today ONFI 1.0 has standardized today s NAND interface Consistent and easier for controller designers to identify and use NAND features ONFI 1.0 introduced timing mode 5 for faster I/O throughput New standard for NAND interface performance trc / twc = 20ns August 22 24, 2008 66

Goals of a High-Speed NAND Interface (ONFI 2.0) Keep transition to high-speed interface simple Keep and/or redefine original NAND signals to provide high-speed signaling without disrupting the NAND protocol and command set Provide backward compatibility to asynchronous NAND interface to make device identification simple Increase I/O throughput with room to grow Remove trc latching limitation by adding a bidirectional source-synchronous strobe (DQS) Remove twc command and address cycle limitation by decoupling command and address processing from the data input rate Ensure a graceful transition from standard NAND to high-speed NAND August 22 24, 2008 67

Scalable I/O Performance A scalable interface is needed for more than read I/O throughput As more NAND devices are added to the bus, it is possible for even slower MLC devices to max the I/O bus bandwidth A fast NAND Flash interface is possible by: Adding bidirectional source-synchronous DQS Providing scalable DDR data I/O interface Optimizing the signaling to allow enough time to process command and address cycles Minimizing NAND pin capacitance August 22 24, 2008 68

Feature Key Feature Comparison Standard NAND HS-NAND Standard asynchronous interface Yes Yes Synchronous interface No Yes NAND command protocol Standard Standard trc 25ns (SDR) 6ns (DDR) twc 25ns (SDR) 6ns (DDR) Standardized ONFI 1.0 ONFI 2.0 Scalable to higher performance No Yes Error correction requirements 2 8 Page size 2KB + 64B 4KB +224B Block size 64 pages 128 pages Cache mode Some Yes Vil/Vih and Vol/Voh CMOS CMOS VCCq 3.3V 1.7V to 1.95V VCC 3.3V 2.7V to 3.6V Parameter page Some Yes Package TSOP BGA A natural extension to standard NAND August 22 24, 2008 69

Backward-Compatible ONFI 2.0 Interface Asynchronous NAND Interface Synchronous NAND Interface CE# DQS CE# ALE ALE NAND CLE RE# NAND CLE W/R# WE# CLK R/B# R/B# WP# WP# I/O[7:0] DQ[7:0] High-speed-capable NAND Flash devices power on using the asynchronous interface for backward compatibility Set features enable source-synchronous interface WE# becomes a fast CLK RE# handles data direction by becoming W/R# (Write/Read#) I/O[7:0] renamed to DQ[7:0] (name change only, functionally identical) DQS, a new bidirectional signal, is enabled August 22 24, 2008 70

High-Speed NAND Signal Description Signals Async WE# RE# Sync CLK W/R# Description Free-running and used to latch command and address cycles During idle CLK, may be stopped to save power Controls direction of DQ bus and DQS W/R# = 1 : Data input W/R# = 0 : Data output DQS During data phase, each DQS rising and falling edge corresponds to a data byte DQS is center-aligned for data input DQS is edge-aligned for data output ALE/CLE ALE/CLE For synchronous mode: ALE / CLE = 11 : Data transfer ALE / CLE = 00 : Bus idle August 22 24, 2008 71

Source-Synchronous Data Output Signaling Example August 22 24, 2008 72

Source-Synchronous Page Read Example August 22 24, 2008 73

Low-Power Signaling As process geometry shrinks, it becomes more difficult for controllers to stay with 3.3V I/O Many applications today use 1.8V signaling Many high-speed interfaces today use smaller voltage swings so signals can transition faster Example: Full-speed USB 12 Mbit/s at 3.3V, High-speed USB 480 Mbit/s at 400mV NAND Flash today requires the array and I/O to operate at the same voltage Vcc = 2.7 3.6V Vcc = 1.7 1.95V NAND Flash array operations perform best when Vcc > 1.8V, providing faster program, read, and erase times By splitting the array voltage (Vcc) from the I/O voltage (VccQ), it is possible to get fast array operations and faster, lower-power I/O signaling Potential high-speed voltage configurations Vcc = 2.7 3.6V, VccQ = 2.7 3.6V Vcc = 2.7 3.6V, VccQ = 1.7 1.95V August 22 24, 2008 74

High-Density Scalability By providing multiple output drive strength settings, many NAND devices can share the I/O bus while maintaining I/O throughput Example: 133 MT/s data throughput 35Ω driver, 4 NAND die 25Ω driver, 8 NAND die 18Ω driver, 16 NAND die August 22 24, 2008 75

High-Speed NAND Packaging High-speed-capable packages receive DQS signal Some Vcc changes to VccQ Some Vss changes to VssQ The following packages will be transitioned to high-speed NAND 48-pin TSOP 63-ball BGA August 22 24, 2008 76

Introducing a New BGA Package ONFI 2.0 will introduce a new BGA package Accommodates high-speed and asynchronous-only NAND Flash devices Dual x8 interface More power/ground balls for lower noise Signals arranged for excellent signal integrity 1mm ball spacing for low cost PCB assembly Accommodates ever-increasing NAND densities with two package outline options August 22 24, 2008 77

High-Speed NAND Read Array/Bus Performance 2Gb Memory Array Page Buffer (4KB) Page Buffer (4KB) 2Gb Memory Array 2Gb Memory Array 655 MB/s Page Buffer (4KB) Page Buffer (4KB) 2Gb Memory Array I/O Pad I/O Pad Array program bandwidth is: 655 MB/s (16KB read in 25µs) or 163 MB/s (4KB read in 25µs) 200 MB/s Interface speed is well matched Bus bandwidth is 200 MB/s (10ns [DDR]) August 22 24, 2008 78

2Gb Memory Array Page Buffer (4KB) Page Buffer (4KB) 2Gb Memory Array High-Speed NAND Program Array/Bus Performance 2Gb Memory Array Page Buffer (4KB) 100 MB/s Page Buffer (4KB) 2Gb Memory Array I/O Pad I/O Pad Interface speed is no longer a limitation to programming Bus bandwidth is 200 MB/s (10ns [DDR]) 200 MB/s Program performance is very impressive Array program bandwidth is 100 MB/s (16KB programmed in 160µs) August 22 24, 2008 79

Four-Plane, 4K-Page, SLC High-Speed NAND Architecture August 22 24, 2008 80

Four-Plane, 4K-Page SLC NAND Architecture (High-Speed NAND) 140 120 Raw Throughput (MB/s) 100 80 60 40 20 0 Page Read Read Cache Multi- Plane Read Page Program NAND Operation Program Cache Multi- Plane Program Multi- Plane Program Cache August 22 24, 2008 81

HS-NAND Solution for High Performance Micron can achieve 400 MB/s of programming performance using a single HS-NAND package (4 die total) Two channels, two-way interleave (100 MB/s per die) This provides a minimum density of 4GB Single QDP Controller CH0 (200MB) Two-way interleave (per channel) 400 MB/s total CH1 (200MB) August 22 24, 2008 82

ONFI 2.0 Summary Fast source-synchronous interface Backward compatible with ONFI 1.0 Asynchronous interface support ONFI protocol compatible Self-identification of NAND features through parameter page Low-power DDR I/O Scalability for high-density applications New industry standard BGA package For more details on ONFI, visit http://www.onfi.org/ 2007 Micron Technology, Inc. All rights reserved. Products are warranted only to meet Micron s production data sheet specifications. Information, products and/or specifications are subject to change without notice. All information is provided on an AS IS basis without August 22 24, 2008 warranties of any kind. Dates are estimates only. Drawings not to scale. Micron and the Micron logo are trademarks of Micron Technology, 83 Inc. All other trademarks are the property of their respective owners.

NAND Error Modes Program disturb Read disturb Data retention Endurance August 22 24, 2008 84

Let s Get Orientated Block Architecture NAND architecture is based on independent blocks Control gate I/O I/O I/O I/O String Memory cell Blocks are the smallest erasable units Float gate 64 pages per block* Pages are the smallest programmable units Partial pages can be programmed in some devices Page 16,896 bits per page* * Typical for 4Gb SLC August 22 24, 2008 85

Program Disturb Cells not being programmed receive elevated voltage stress Stressed cells Are always in the block being programmed Either can be on pages not selected or in a selected page, but not supposed to be programmed Charge collects on the floating gate causing the cell to appear to be weakly programmed Does not damage cells; ERASE returns cells to undisturbed levels Disturbed bits are effectively managed with error correction codes (ECC) Partial-page programming accelerates disturbance Unselected page: Selected page: Unselected page: August 22 24, 2008 86 10V 20V 10V I/O I/O I/O I/O 10V 0V 10V 0V Strings being programmed are grounded; others are at 10V Note: Circuit structures and voltages are representative only. Details vary by manufacturer and technology node. Programmed cells Stressed cells

Reducing Program Disturb Program pages in a block sequentially, from page 0 to page 63 (SLC) or 127 (MLC) Minimize partial-page programming operations (SLC) It is mandatory to restrict page programming to a single operation (MLC) Use ECC to recover from program disturb errors August 22 24, 2008 87

Read Disturb Cells not being read receive elevated voltage stress Stressed cells are Always in the block being read Always on pages not being read Charge collects on the floating gate causing the cell to appear to be weakly programmed Does not damage cells; ERASE returns cells to undisturbed levels Disturbed bits are effectively managed with ECC Unselected page: Selected page: Unselected page: 5V 0V 5V I/O I/O I/O I/O Note: Circuit structures and voltages are representative only. Details vary by manufacturer and technology node. Stressed cells August 22 24, 2008 88

Reducing Read Disturb Rule of thumb for excessive reads per block between ERASE operations SLC 1,000,000 READ cycles MLC 100,000 READ cycles If possible, read equally from pages within the block If exceeding the rule-of-thumb cycle count, then move the block to another location and erase the original block Establish ECC threshold to move data Erase resets the READ DISTURB cycle count Use ECC to recover from read disturb errors August 22 24, 2008 89

Data Retention Charge loss/gain occurs on the floating gate over time; device threshold voltage trends to a quiescent level I/O I/O I/O I/O Charge loss Cell is undamaged; block can be reliably erased and reprogrammed Note: Circuit structures and voltages are representative only. Details vary by manufacturer and technology node. August 22 24, 2008 90

Improving Data Retention Limit PROGRAM/ERASE cycles in blocks that require long retention Limit READs to reduce read disturb Review JEDEC (JESD47) standard Retention Required (arbitrary time) 5 yr 2 yr 0.5 yr Infrequently cycled blocks have longer retention Frequently cycled blocks have shorter retention 10 cyc 1,000 cyc 10,000 cyc Block Cycles (arbitrary cycles) August 22 24, 2008 91

Endurance I/O I/O I/O I/O PROGRAM/ERASE cycles cause charge to be trapped in the dielectric Causes a permanent shift in cell characteristics not recovered by erase Damaged cells Observed as failed program or erase status Blocks that fail should be retired (marked as bad and no longer used) Note: Circuit structures and voltages are representative only. Details vary by manufacturer and technology node. August 22 24, 2008 92

Endurance Recommendations Always check pass/fail status (SR0) for PROGRAM and ERASE operations Note: READ operations do not set SR0 to fail status If fail status after PROGRAM, move all block data to an available block and mark the failed block bad Use ECC to recover from errors Write data equally to all good blocks (wear-leveling) Protect block management/meta data in spare area with ECC August 22 24, 2008 93

Wear-Leveling Wear-leveling is a plus on SLC devices where blocks can support up to 100,000 PROGRAM/ ERASE cycles Wear-leveling is imperative on MLC devices where blocks typically support fewer than 10,000 cycles If a block was erased and reprogrammed every minute, the 10,000 cycling limit would be exceeded in just 7 days! 60 x 24 x 7 = 10,080 Rather than cycling the same block, wear-leveling involves distributing the number of blocks that are cycled August 22 24, 2008 94

Wear-Leveling (continued) An 8Gb MLC device contains 4,096 independent blocks Using the previous example, if the cycles were distributed over 4,096 blocks, each block would be programmed fewer than 3 times (vs. 10,800 cycles if the same block is cycled) If perfect wear-leveling was performed on a 4,096-block device, a block could be erased and programmed every minute, every day for 77 years! 10,000 x 4,096 40,960,000 ---------------------- = --------------- = 28,444 days = 77.9 years 60 x 24 1,440 Consider static vs. dynamic wear-leveling August 22 24, 2008 95

ECC Can Fix Everything (well, almost) Understand the target data error rate for your particular system Understand the use model that you intend for your system Design the ECC circuit to improve the raw bit error rate (BER) of the NAND Flash, under your use conditions, to meet the system s target BER August 22 24, 2008 96

ECC Code Selection is Becoming Even More Important 1.0E-25 1.0E-23 t = 6 t = 5 t = 4 t = 3 t = 2 t = 1 Application Bit Error Rate 1.0E-21 1.0E-19 1.0E-17 1.0E-15 1.0E-13 1.0E-11 1.0E-09 1.0E-07 1.0E-05 t = 0 For SLC A code with a correction threshold of 1 is sufficient t = 4 required (as a minimum) for MLC 1.0E-03 1.0E-01 1.0E-01 1.0E-03 1.0E-05 1.0E-07 1.0E-09 1.0E-11 1.0E-13 1.0E-15 Raw NAND Bit Error Rate As the raw NAND Flash BER increases, it becomes more important to match the ECC to the application s target BER August 22 24, 2008 97

Another Option: e-mmc Embedded Memory The complexities of future MLC require increased attention; the ECC algorithm, for example, is becoming more and more complex, moving from 4+ bits to 8+ bits in the future A managed interface addresses the complexities of current and future NAND Flash devices; this means the host does not need to know the details of NAND Flash block sizes, page sizes, planes, new features, process generation, MLC vs. SLC, wear-leveling, ECC requirements, etc. e-mmc embedded memory is the next logical step in the NAND Flash evolution for embedded applications because it turns a program/ erase/read device with bad blocks and bad bits (NAND Flash) into a simple write/read memory August 22 24, 2008 98

Micron Solution: e-mmc Embedded Memory (Managed NAND ) MLC NAND + MMC 4.3 controller in one device High speed solution: Host selectable x1, x4, and x8 I/Os 52 MHz clock speed (MAX) 416 Mb/s data rate (MAX) Fully backward compatible with previous MMC systems ECC, wear leveling, and block management (built in) 12 x 16 x 1.3mm BGA package August 22 24, 2008 99

Error Mode Conclusions NAND Flash is the lowest cost, nonvolatile memory available today Complexities of MLC NAND require increased hardware and software design All these complexities are addressed through the use of the controller included with emmc embedded memory August 22 24, 2008 100

Reference Material Micron presentations and webinars: http://nand.com Micron documentation (specifications, technical notes, and FAQs): http://www.micron.com/products/nand/ The Error Correcting Codes (ECC) Page: http://www.eccpage.com/ Standards MultiMediaCard Association (MMCA): http://www.mmca.org/ JEDEC: http://www.jedec.org/ Open NAND Flash Interface (ONFI) Workgroup: http://www.onfi.org/ SD Card Association (SDA): http://www.sdcard.org/ August 22 24, 2008 101

Thank You 2008 Micron Technology, Inc. All rights reserved. Products are warranted only to meet Micron s production data sheet specifications. Information, products and/or specifications are subject to change without notice. All information is provided on an AS IS basis without warranties of any kind. Dates are estimates only. Drawings not to scale. Micron and the Micron logo are trademarks of Micron Technology, Inc. All other trademarks are the property of their respective owners. August 22 24, 2008 102