Libra: Software-Controlled Cell Bit-Density to Balance Wear in NAND Flash

Hybrid flash storages combine a small Single-Level Cell (SLC) partition with a large Multilevel Cell (MLC) partition. Compared to MLC-only solutions, the SLC partition exploits fast and short local write updates, while the MLC part brings large capacity. On the whole, hybrid storage achieves a tangible performance improvement for a moderate extra cost. Yet, device lifetime is an important aspect often overlooked: in a hybrid system, a large ratio of writes may be directed to the small SLC partition, thus generating a local stress that could exhaust the SLC lifetime significantly sooner than the MLC partition's. To address this issue, we propose Libra, which builds on flash storage made solely of MLC flash and uses the memory devices in SLC mode when appropriate; that is, we exploit the fact that writing a single bit per cell in an MLC provides characteristics close to those of an ordinary SLC. In our scheme, the cell bit-density of a block can be decided dynamically by the flash controller, and the physical location of the SLC partition can now be moved around the whole device, balancing wear across it. This article provides a thorough analysis and characterization of the SLC mode for MLCs and gives evidence that the inherent flexibility provided by Libra simplifies considerably the stress balance on the device. Overall, our technique improves lifetime by up to one order of magnitude at no cost when compared to any hybrid storage that relies on a static SLC-MLC partitioning.

[1]  Young-Jin Kim,et al.  LAST: locality-aware sector translation for NAND flash memory-based storage systems , 2008, OPSR.

[2]  Antony I. T. Rowstron,et al.  Write off-loading: Practical power management for enterprise storage , 2008, TOS.

[3]  Sang Lyul Min,et al.  A space-efficient flash translation layer for CompactFlash systems , 2002, IEEE Trans. Consumer Electron..

[4]  Dongkun Shin,et al.  ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer , 2010, J. Syst. Archit..

[5]  Xavier Jimenez,et al.  Software controlled cell bit-density to improve NAND flash lifetime , 2012, DAC Design Automation Conference 2012.

[6]  Paul H. Siegel,et al.  Characterizing flash memory: Anomalies, observations, and applications , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[7]  Sang-Won Lee,et al.  A log buffer-based flash translation layer using fully-associative sector translation , 2007, TECS.

[8]  Sungjin Lee,et al.  FlexFS: A Flexible Flash File System for MLC NAND Flash Memory , 2009, USENIX Annual Technical Conference.

[9]  Luca Crippa,et al.  Inside NAND Flash Memories , 2010 .

[10]  Li-Pin Chang,et al.  A Hybrid Approach to NAND-Flash-Based Solid-State Disks , 2010, IEEE Transactions on Computers.

[11]  Dongkun Shin,et al.  KAST: K-associative sector translation for NAND flash memory in real-time systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[12]  Charles C. Weems,et al.  A hybrid flash translation layer design for SLC-MLC flash memory based multibank solid state disk , 2011, Microprocess. Microsystems.

[13]  David Hung-Chang Du,et al.  Hybrot: Towards Improved Performance in Hybrid SLC-MLC Devices , 2012, 2012 IEEE 20th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[14]  Steven Swanson,et al.  The bleak future of NAND flash memory , 2012, FAST.

[15]  David Woodhouse,et al.  JFFS : The Journalling Flash File System , 2001 .

[16]  Michael Wu,et al.  eNVy: a non-volatile, main memory storage system , 1994, ASPLOS VI.

[17]  弗朗基·F·路帕尔瓦 Single level cell programming in a multiple level cell non-volatile memory device , 2006 .

[18]  H. Belgal,et al.  Recovery Effects in the Distributed Cycling of Flash Memories , 2006, 2006 IEEE International Reliability Physics Symposium Proceedings.

[19]  Mircea R. Stan,et al.  How I Learned to Stop Worrying and Love Flash Endurance , 2010, HotStorage.

[20]  Tei-Wei Kuo,et al.  Endurance Enhancement of Flash-Memory Storage, Systems: An Efficient Static Wear Leveling Design , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[21]  Da-Wei Chang,et al.  ROSE: A Novel Flash Translation Layer for NAND Flash Memory Based on Hybrid Address Translation , 2011, IEEE Transactions on Computers.