eNVy: a non-volatile, main memory storage system
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Disk Scrubbing in Large Archival Storage Systems
MASCOTS '04 Proceedings of the The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems
A log buffer-based flash translation layer using fully-associative sector translation
ACM Transactions on Embedded Computing Systems (TECS)
Write off-loading: practical power management for enterprise storage
FAST'08 Proceedings of the 6th USENIX Conference on File and Storage Technologies
LAST: locality-aware sector translation for NAND flash memory-based storage systems
ACM SIGOPS Operating Systems Review
Characterizing flash memory: anomalies, observations, and applications
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
How i learned to stop worrying and love flash endurance
HotStorage'10 Proceedings of the 2nd USENIX conference on Hot topics in storage and file systems
KAST: K-Associative Sector Translation for NAND flash memory in real-time systems
Proceedings of the Conference on Design, Automation and Test in Europe
ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer
Journal of Systems Architecture: the EUROMICRO Journal
A Hybrid Approach to NAND-Flash-Based Solid-State Disks
IEEE Transactions on Computers
A hybrid flash translation layer design for SLC-MLC flash memory based multibank solid state disk
Microprocessors & Microsystems
ROSE: A Novel Flash Translation Layer for NAND Flash Memory Based on Hybrid Address Translation
IEEE Transactions on Computers
Software controlled cell bit-density to improve NAND flash lifetime
Proceedings of the 49th Annual Design Automation Conference
HotDataTrap: a sampling-based hot data identification scheme for flash memory
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Phœnix: reviving MLC blocks as SLC to extend NAND flash devices lifetime
Proceedings of the Conference on Design, Automation and Test in Europe
Dual greedy: adaptive garbage collection for page-mapping solid-state disks
DATE '12 Proceedings of the Conference on Design, Automation and Test in Europe
Extending the lifetime of NAND flash memory by salvaging bad blocks
DATE '12 Proceedings of the Conference on Design, Automation and Test in Europe
Error patterns in MLC NAND flash memory: measurement, characterization, and analysis
DATE '12 Proceedings of the Conference on Design, Automation and Test in Europe
A cross-layer approach for new reliability-performance trade-offs in MLC NAND flash memories
DATE '12 Proceedings of the Conference on Design, Automation and Test in Europe
Hi-index | 0.00 |
Flash memory cells typically undergo a few thousand Program/Erase (P/E) cycles before they wear out. However, the programming strategy of flash devices and process variations cause some flash cells to wear out significantly faster than others. This paper studies this variability on two commercial devices, acknowledges its unavoidability, figures out how to identify the weakest cells, and introduces a wear unbalancing technique that let the strongest cells relieve the weak ones in order to lengthen the overall lifetime of the device. Our technique periodically skips or relieves the weakest pages whenever a flash block is programmed. Relieving the weakest pages can lead to a lifetime extension of up to 60% for a negligible memory and storage overhead, while minimally affecting (sometimes improving) the write performance. Future technology nodes will bring larger variance to page endurance, increasing the need for techniques similar to the one proposed in this work.