Flash correct-and-refresh: Retention-aware error management for increased flash memory lifetime
Top Cited Papers
- 1 September 2012
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
With the continued scaling of NAND flash and multi-level cell technology, flash-based storage has gained widespread use in systems ranging from mobile platforms to enterprise servers. However, the robustness of NAND flash cells is an increasing concern, especially at nanometer-regime process geometries. NAND flash memory bit error rate increases exponentially with the number of program/erase cycles. Stronger error correcting codes (ECC) can be used to tolerate higher error rates, but these have diminishing returns with increasing P/E cycles and can have prohibitively high power, area, and latency overheads. The goal of this paper is to develop new techniques that can tolerate high bit error rates without requiring prohibitively strong ECC. Our techniques, called Flash Correct-and-Refresh (FCR) exploit the observation that the dominant error source in NAND flash memory is retention errors, caused by flash cells losing charge over time. The key idea is to periodically read, correct, and reprogram (in-place) or remap the stored data before it accumulates more retention errors than can be corrected by simple ECC. Detailed simulations of a solid-state drive (SSD) storage system driven by measured experimental data from error characterization on real flash memory chips show that our techniques provide 46× average lifetime improvement on a variety of workloads at no additional hardware cost. We also find that our techniques achieve lifetime improvements that cannot feasibly be achieved with stronger ECC.Keywords
This publication has 10 references indexed in Scilit:
- 6.4Gb/s multi-threaded BCH encoder and decoder for multi-channel SSD controllersPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2012
- Quasi-nonvolatile SSD: Trading flash memory nonvolatility to improve storage system performance for enterprise applicationsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2012
- FPGA-Based Solid-State Drive Prototyping PlatformPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2011
- 95%-lower-BER 43%-lower-power intelligent solid-state drive (SSD) with asymmetric coding and stripe pattern elimination algorithmPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2011
- Reducing cache power with low-cost, multi-bit error-correcting codesPublished by Association for Computing Machinery (ACM) ,2010
- VLSI Implementation of BCH Error Correction for Multilevel Cell NAND Flash MemoryIEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2009
- NAND Flash Scaling Beyond 20nmPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2009
- Bit error rate in NAND Flash memoriesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2008
- A Zeroing Cell-to-Cell Interference Page Architecture With Temporary LSB Storing and Parallel MSB Program Scheme for MLC NAND Flash MemoriesIEEE Journal of Solid-State Circuits, 2008
- First evidence for injection statistics accuracy limitations in NAND Flash constant-current Fowler-Nordheim programmingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2007