improving nand endurance
play

Improving NAND Endurance by Dynamic Program and Erase Scaling - PowerPoint PPT Presentation

1 Improving NAND Endurance by Dynamic Program and Erase Scaling Jihong Kim Department of Computer Science and Engineering Seoul National University, Korea NVRAMOS 2013 October 24, 2013 Trend 1 : NAND Capacity +2x / 2 years Capacity


  1. 1 Improving NAND Endurance by Dynamic Program and Erase Scaling Jihong Kim Department of Computer Science and Engineering Seoul National University, Korea NVRAMOS 2013 October 24, 2013

  2. Trend 1 : NAND Capacity +2x / 2 years Capacity (2000~2012 ISCC, VLSI) SLC (1 bit/cell) MLC (2 bits/cell) TLC (3 bits/cell) 2000 2002 2004 2006 2008 2010 2012 2014 Year The cost-per-bit of NAND devices is continuously improving. 2 / 31

  3. Trend 2 : NAND Endurance Endurance Capacity +2x / 2 years -70% / 4 yrs 2000 2002 2004 2006 2008 2010 2012 2014 Year The NAND endurance is drastically decreased last 4 years as a side effect of recent advanced technologies. 3 / 31

  4. Trend 3 : Total Amount of Writes Total amount of writes = Endurance X Capacity Total amount of writes Capacity +2x / 2 years Endurance -70% / 4 years 2002 2004 2006 2008 2010 2012 2014 Year The total amount of writes of NAND-based storage does not increase as much as we expected. 4 / 31

  5. Trend 4 : Lifetime of NAND-Based Storages Lifetime = Endurance X Capacity Lifetime Wday X WAF Capacity Total amount of writes Endurance 2002 2004 2006 2008 2010 2012 2014 Year 5 / 31

  6. Existing Lifetime Enhancing Schemes ๐น๐น๐น๐น๐น๐น๐น๐น๐น ร— ๐ท๐น๐ท๐น๐น๐ท๐ท๐ท ๐‘€๐ท๐‘€๐น๐ท๐ท๐‘€๐น = ๐‘‹ ร— ๐‘‹๐‘‹๐‘‹ ๐‘’๐‘’๐‘’ Reducing WAF by increasing the โ‘  Data compression efficiency of an FTL algorithm โ‘ก Deduplication (e.g., garbage collection, โ‘ข Dynamic throttling wear leveling) 6 / 31

  7. Our Goal Endurance X Capacity Lifetime = Lifetime Wday X WAF Capacity Total amount of writes Our goal By improving the NAND endurance. Endurance 2002 2004 2006 2008 2010 2012 2014 Year Improving the NAND endurance is required for sustainable growth in the NAND flash-based storage market. 7 / 31

  8. Outline โ€ข Introduction โ€ข Motivation โ€ข Key Components of the DPES Approach Erase Voltage Scaling โ€ข Program Time Scaling โ€ข Dynamic Program and Erase Scaling โ€ข โ€ข Implementation of DPES-Aware FTL โ€ข Experimental Results โ€ข Conclusion 8 / 31

  9. Motivation : Device Physics Model Cross-section view of NAND flash memory cells Bit Errors ECC Program voltage Limit P/E Cycles Control Gate NAND endurance Floating Gate Erase voltage Tunnel Oxide Substrate Endurance Erase voltage 9 / 31

  10. Overview of Our Proposed Approach DPES (Dynamic Program and Erase Scaling) approach Erase voltage/time scaling ( Tradeoff : endurance and erase voltage/time ) Program time scaling ( Tradeoff : erase voltage and program time ) Dynamically changes program and erase voltage/time Improves the NAND endurance without degradation in the overall write throughput 10 / 31

  11. Outline โ€ข Introduction โ€ข Motivation โ€ข Key Components of the DPES Approach Erase Voltage Scaling โ€ข Program Time Scaling โ€ข Dynamic Program and Erase Scaling โ€ข โ€ข Implementation of DPES-Aware FTL โ€ข Experimental Results โ€ข Conclusion 11 / 31

  12. Erase Voltage Scaling โ€œEffective wearing represents the effective degree of NAND wearing after one P/E cycle.โ€ 1.5 1.5 Average retention BER Effective wearing r = 0.00 (normalized) r = 0.07 1.0 1.0 r = 0.14 0.5 0.5 0.0 0.0 1.00 0.95 0.90 0.85 0.80 0 1 2 3 4 Normalized erase voltage (1- r ) Number of P/E cycles [K] Lowering the erase voltage can reduce the effective wearing. 12 / 31

  13. Effect of Erase Voltage Scaling Total sum of Endurance effective wearing 3K P/E 3.00 K 3.00 K 6.52 K 1.38 K Effective wearing / one P/E effective wearing 1.00 0.46 Total sum of 3.00K 1.38K ~ 2x increase 1.00 x 0.86 x 3.00K 6.52K Erase Voltage P/E Cycles 13 / 31

  14. Writing Data to a Shallowly Erased Block โˆ Erase voltage Width of Vth distributions V ERASE (nominal) Width of Vth distributions Saved Vth margin V ERASE (small) Width of Vth distributions To write data to a shallowly erased NAND block, it is necessary to shorten the width of Vth distributions. 14 / 31

  15. Program Time Scaling Tradeoff : {Program time} vs. {Width of Vth distributions} Incremental Step Pulse Program Scheme Step voltage 3 2 1 Width of Vth distributions Program time Step voltage 1 2 3 4 5 Width of Vth distributions Program time To shorten the width of Vth distributions, the program time is increased. 15 / 31

  16. Minimum Program Time Requirement Erase voltage mode : ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐’‹ Program Erase ๐’ โ‰ฅ ๐’‹ State State Write mode : ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐’ Minimum Program time 2.0 2.0 ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ“ ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ“ Program time (normalized) (normalized) ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ’ ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ’ 1.5 1.5 ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ‘ ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ‘ ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ 1.0 1.0 0.00 0.20 0.40 0.60 1.00 0.95 0.90 0.85 ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ V ISPP scaling ratio Normalized erase voltage (1- r ) ( โˆ ๐‘ป๐‘ป๐‘ป๐‘ญ๐‘ญ ๐‘ญ๐‘พ๐‘พ ๐‘ญ๐‘ป๐’๐’๐’‹๐’ ) 16 / 31

  17. Example of EVmode and Wmode Selection Example of erase voltage modes Example of write modes ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ‘ ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ‘ ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ’ ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ’ ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ“ ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ“ Vth voltage margin Vth distribution erased with ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ‘ For writing a block erased with ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ‘ , ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ‘ , ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ’ , ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ“ should be used. 17 / 31

  18. Lazy Erase Scheme Program ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ state Erasing with ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ‘ . Shallow erase Erase ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ‘ state To write data with a faster write mode (e.g., ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ ) to the shallowly erased block, Erase Lazy erase ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ state Writing with ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ Program ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐Ÿ state 18 / 31

  19. Dynamic Program and Erase Scaling Program times and erase voltages are dynamically changed for improving the NAND endurance . Minimum Wearing program time High DPES- erase voltage Enabled mode High damage Short NAND Chip โ€ข โ€ข โ€ข Low erase voltage Low damage mode Long DPES enables S/W to exploit the tradeoff relationship between the NAND endurance and the erase voltage/time. 19 / 31

  20. Outline โ€ข Introduction โ€ข Motivation โ€ข Key Components of the DPES Approach Erase Voltage Scaling โ€ข Program Time Scaling โ€ข Dynamic Program and Erase Scaling โ€ข โ€ข Implementation of DPES-Aware FTL โ€ข Experimental Results โ€ข Conclusion 20 / 31

  21. Overview of DPES-Aware FTL (AutoFTL) Write Request DPES Manager Garbage Collector Number of Circular NAND Endurance pages Buffer Model Background to be copied Foreground Utilization Mode Wmode Emode Wear Selector Selector Selector Leveler Wmode i EVmode j , ESmode k Extended Mapping Table NAND Logical-to-Physical Per-Block Mode Table Setting Table Mapping Table DeviceSettings Program Erase Read NAND Flash Memory 21 / 31

  22. AutoFTL : Write Mode Selection The DPES manager chooses the most appropriate write mode depending on the buffer utilization ratio. [ Write-mode selection rules ] head Dequeue Program Buffer utilization Write time ( u ) mode K-entry u โ‰ค 20% 4 circular 3 20% < u โ‰ค 40% buffer 2 40% < u โ‰ค 60% 1 60% < u โ‰ค 80% Enqueue tail u > 80% 0 Short idle times Long idle times Requests 22 / 31

  23. DPES-Aware Write and Read Operations Address Logical Physical Translation Address Address Table DPES Write/read NAND Block_Addr Block_Addr Manager Request Chips Per-Block set mode Mode Table Device Setting for mode write write write read read 3 2 (3) (3) (3) (2) (2) Read/Verify references, time ISPP voltages, (Erase voltage) Time overhead << T PROG 23 / 31

  24. AutoFTL : Erase Voltage Mode Selection ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐’‹ = ? Program Erase ๐‘ฎ๐‘ฎ๐‘พ๐‘ฎ๐’๐‘ญ ๐‘ฎ๐‘พ๐’‹๐’—๐’‹๐’—๐‘ป๐‘พ๐’‹๐‘ญ๐’ ๐‘ญ๐’‘ ๐’…๐’‹๐’๐’…๐‘ฎ๐’—๐‘ป๐’ ๐’„๐‘ฎ๐’‘๐’‘๐‘ญ๐’ State State Future : ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐’ If we know ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐’ If we donโ€™t know ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐’ before a block is erased before a block is erased Background garbage collection, Cases Foreground garbage collection wear leveling Prediction based on the past utilization history ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐’‹ ๐’‹ = ๐’ Incorrect prediction ๏ƒ  Lazy erase 24 / 31

  25. AutoFTL : DPES-Aware Garbage Collection Page copy with ๐‘ฟ๐‘ญ๐‘ญ๐‘ญ๐‘ญ ๐’ Victim Free block block โˆ†๐‘ฎ ๐’…๐‘ญ๐’…๐’… Circular Circular Buffer Buffer Current utilization, ๐‘ฎ Effective utilization, ๐‘ฎ ๐‘ญ = ๐‘ฎ + โˆ†๐‘ฎ ๐’…๐‘ญ๐’…๐’… 25 / 31

  26. Outline โ€ข Introduction โ€ข Motivation โ€ข Key Components of the DPES Approach Erase Voltage Scaling โ€ข Program Time Scaling โ€ข Dynamic Program and Erase Scaling โ€ข โ€ข Implementation of DPES-Aware FTL โ€ข Experimental Results โ€ข Conclusion 26 / 31

Recommend


More recommend