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 (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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
AutoFTL : DPES-Aware Garbage Collection Page copy with ๐ฟ๐ญ๐ญ๐ญ๐ญ ๐ Victim Free block block โ๐ฎ ๐ ๐ญ๐ ๐ Circular Circular Buffer Buffer Current utilization, ๐ฎ Effective utilization, ๐ฎ ๐ญ = ๐ฎ + โ๐ฎ ๐ ๐ญ๐ ๐ 25 / 31
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