Micron Technology, Inc. · NASDAQ:MU

Micron Technology — Flash Memory Summit 2007

23 slides from Micron Technology's conference presentation, August 2007

  1. Slide 1: NAND Flash Reliability and Performance: The Software Effect

    NAND Flash Reliability and Performance The Software Effect Wes Prouty (waprouty@micron.com) Applications Engineering Manager Micron Technology, Inc.

  2. Slide 2: Agenda

    Agenda ƒ Why change NAND Flash software? ƒ Review of NAND Flash error modes ƒ Review of NAND Flash performance enhancements ƒ Status of NAND software in embedded operating systems ƒ NAND Flash software stack variations ƒ How is software affected by MLC NAND? ƒ Is software the only solution? Santa Cl

  3. Slide 3: Why Change NAND Flash Software?

    Why Change NAND Flash Software? ƒ Embedded space has predominately used small-page, single-level cell NAND Flash ƒ Code storage is moving to NAND Flash in many applications ƒ As NAND Flash geometries shrink, software usage models must become more sensitive to NAND error modes ƒ New NAND devices incl

  4. Slide 4: Program Disturb

    Program Disturb ƒ Stressed cells are limited I/O I/O I/O I/O to the block being SGD: Vcc Programmed programmed Unselected Cells Page: 10V ƒ However, stressed cells Selected can be in selected or Page: 20V unselected page Unselected Page: 10V Program ƒ Disturb occurs when Disturb Cells charge collect

  5. Slide 5: Read Disturb

    Read Disturb I/O I/O I/O I/O ƒ Stressed cells limited to the block being programmed Unselected Page 4.5V ƒ Stressed cells are in Selected Page 0V unselected page Unselected ƒ Disturb occurs when Page 4.5V charge collects on the floating gate, causing the Stressed cell to appear weakly Cells programm

  6. Slide 6: Endurance and Data Retention

    Endurance and Data Retention ƒ Endurance – PROGRAM/ERASE cycles may cause charge to be trapped in the dielectric. This is a failed block that should be retired. ƒ Data Retention – Charge loss/gain occurs on the floating gate over time. Cell is undamaged, block can be reliably erased and reprogrammed

  7. Slide 7: Reducing NAND Error Modes

    Reducing NAND Error Modes ƒ Program Disturb • Reduce partial page programming (NOP) • Programming the pages of each block in sequential order ƒ Read Disturb • Frequently read data should be cached to DRAM • Refresh data when exceeding read disturb recommendations ƒ Endurance and data retention • Ret

  8. Slide 8: NAND Flash Performance

    NAND Flash Performance ƒ Embedded systems are primarily using 512- byte NAND Flash, which has lower performance than 2KB NAND Flash ƒ Those systems using 2KB NAND Flash only implement the “basic” commands ƒ NAND Flash enhanced feature set greatly improves NAND Flash performance: • Read performance c

  9. Slide 9: NAND Flash Performance: 4Gb NAND throughput

    NAND Flash Performance 4Gb NAND (M50, 55nm) Performance 40.00 37.55 x16 30.00 27.04 Throughput (MB/s) 20.00 14.01 10.66 10.00 7.02 6.07 0.00 Page Read Cache Page Pgm Cache Pgm 2Pl Page 2Pl Cache Read Pgm Pgm Operating Mode Santa Clara, CA USA August 2007 9

  10. Slide 10: Status of NAND Software in Embedded Operating Systems

    Status of NAND Software in Embedded Operating Systems Wear Leveling Code Wear Leveling Data Enhanced NAND Feature Support Data Refresh ECC Support MLC Support Management Bad Block NOP = 1 Storage Storage OS #1 Yes Yes Yes No No No No No OS #2 Yes Yes Yes No No No No No OS #3 Yes Yes Yes No No No No

  11. Slide 11: The FTL NAND Software Model

    The FTL NAND Software Model ƒ The FTL model is used by Windows Mobile, Symbian, and many other embedded operating systems ƒ The NAND usage model is controlled by the FTL ƒ Need FTL changes to address: • NOPs • Enhanced performance features • Wear leveling of code storage • Data refresh • MLC NAND ƒ

  12. Slide 12: How Can We Drive NAND Usage Model Changes in FTL?

    How Can We Drive NAND Usage Model Changes in FTL? ƒ Work with the major operating system companies to change FTL delivered with OS • Pro – covers the widest range of applications, NAND Flash code comes with OS • Con – software changes slow, may not cover all application requirements ƒ Work with soft

  13. Slide 13: The MTD NAND Software Model

    The MTD NAND Software Model ƒ The MTD model is used by Embedded Linux Operating Systems ƒ Note that the NAND Flash usage model is controlled by the file system in this model (Typically implies JFFS2 File System) (Hardware) Santa Clara, CA USA August 2007 13

  14. Slide 14: The MTD NAND Software Model – More Detail

    The MTD NAND Software Model – More Detail ƒ MTD driver module changes MTD Driver Module required to implement enhanced NAND features ƒ Changes must be considered Flash Interface Layer (interface to MTD user module) carefully so they don’t force changes to upper layers (which are more difficult to im

  15. Slide 15: How Can We Drive NAND Usage Model Changes in MTD?

    How Can We Drive NAND Usage Model Changes in MTD? ƒ Develop new code for MTD user and driver modules that addresses NAND usage model and performance issues: • Pro – addresses reliability and performance issues • Con – the required file system changes are not likely to be adopted quickly ƒ Update MTD

  16. Slide 16: How is Software Affected by MLC NAND?

    How is Software Affected by MLC NAND? ƒ MLC vs. SLC differences from a software standpoint: • Number of pages per block: SLC = 64, MLC = 128 • Spare area in page may be larger for MLC • Bad block marking may change ƒ All performance and reliability discussions from this presentation are applicable t

  17. Slide 17: Effect of ECC Requirements on Page Size

    Effect of ECC Requirements on Page Size Type Hamming Reed-Solomon Binary BCH Overhead Spare Overhead Spare Area Overhead Spare Area Per Area Per Sector Usage Per Sector Usage Sector Usage ECT1 Bit Byte 64B 112B Bit Bytes 64B 112B Bits Byte 64B 112B s s s s 1 13 2 13% 7% 18 3 19% 11% 13 2 13% 7% 2 -

  18. Slide 18: Page Layout for SLC 2KB NAND Flash

    Page Layout for SLC 2KB NAND Flash SLC bad blocks identified by writing a non-FF value to first byte (2048) of spare area in page 0 or 1 of the block Typical Spare Sector A Sector B Sector C Sector D 2KB (64 page (512 bytes) (512 bytes) (512 bytes) (512 bytes) bytes) Bad Sector A Sector B Sector C S

  19. Slide 19: Page Layout for SLC 2KB NAND Flash

    Page Layout for SLC 2KB NAND Flash Santa Clara, CA USA August 2007 19

  20. Slide 20: Is Software the Only Solution?

    Is Software the Only Solution? Software Solution Hardware Solution Application Programs Operating System File System Flash Translation Layer (FTL) Logical to Physical Address Translation. Implementation of Wear leveling algorithms. Implementation of Bad Block Management. Implementation of NAND Flash

  21. Slide 21: Conclusion

    Conclusion ƒ Shrinking NAND Flash geometries require software adjustments to ensure hardware reliability ƒ New NAND Flash performance features require software changes to enhance system performance ƒ Different operating systems require different NAND Flash software solutions ƒ Addressing performance

  22. Slide 22: References

    References ƒ Micron NAND Flash: www.micron.com/nand/ ƒ Linux MTD Driver: www.linux-mtd.infradead.org/source.html ƒ Microsoft Windows Mobile: www.microsoft.com/windowsmobile ƒ Symbian Operating System: www.symbian.com/ ƒ Datalight: www.datalight.com/ ƒ CMX Systems: www.cmx.com/ Santa Clara, CA USA Au

  23. Slide 23: About Wes Prouty

    About Wes Prouty ƒ Embedded Applications Engineering Manager for Micron Technology ƒ BSME from University of Idaho; MSEE from Boise State University ƒ 10 years experience in design and test of embedded applications and memory devices ƒ waprouty@micron.com ƒ (208) 363-2283 ©2007 Micron Technology, In

Micron Technology — Flash Memory Summit 2007 on 6ix