skip to main content
research-article

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

Authors Info & Claims
Published:17 February 2015Publication History
Skip Abstract Section

Abstract

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.

References

  1. Ken Bates and Bruce McNutt. 2007. OLTP Application I/O. Retrieved from http://traces.cs.umass.edu/index.php/Storage/Storage.Google ScholarGoogle Scholar
  2. Li-Pin Chang. 2010. A hybrid approach to NAND-flash-based solid-state disks. IEEE Trans. Comput. 59, 10 (Oct. 2010), 1337--1349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Yuan-Hao Chang, Jen-Wei Hsieh, and Tei-Wei Kuo. 2007. Endurance enhancement of flash-memory storage, systems: An efficient static wear leveling design. In Design Automation Conf. San Diego, CA, 212--217. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Mong-Ling Chiao and Da-Wei Chang. 2011. ROSE: A novel flash translation layer for NAND flash memory based on hybrid address translation. IEEE Trans. Comput. 60, 6 (June 2011), 753--766. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Hyunjin Cho, Dongkun Shin, and Young Ik Eom. 2009. KAST: K-associative sector translation for NAND flash memory in real-time systems. In Design Automation and Test in Europe. 507--512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Roohparvar Frankie. 2007. Single level cell programming in a multiple level cell non-volatile memory device. US Patent 11/298,013. (June 14, 2007).Google ScholarGoogle Scholar
  7. Laura M. Grupp, Adrian M. Caulfield, Joel Coburn, Steven Swanson, Eitan Yaakobi, Paul H. Siegel, and Jack K. Wolf. 2009. Characterizing flash memory: Anomalies, observations, and applications. In ACM/IEEE Int. Symp. Microarchitecture. New York, NY, 24--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Laura M. Grupp, John D. Davis, and Steven Swanson. 2012. The bleak future of NAND flash memory. In USENIX Conf. on File and Storage Technologies. San Jose, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Soojun Im and Dongkun Shin. 2010. ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer. J. Syst. Archit. 56, 12 (Dec. 2010), 641--653. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Xavier Jimenez, David Novo, and Paolo Ienne. 2012. Software controlled cell bit-density to improve NAND flash lifetime. In Design Automation Conf. San Francisco, CA, 229--234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Jesung Kim, Jong Min Kim, Sam H. Noh, Sang Lyul Min, and Yookun Cho. 2002. A space-efficient flash translation layer for CompactFlash systems. IEEE Trans. Consum. Electron. 48, 2 (May 2002), 366--375. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Sungjin Lee, Keonsoo Ha, Kangwon Zhang, Jihong Kim, and Junghwan Kim. 2009. FlexFS: A flexible flash file system for MLC NAND flash memory. In USENIX Annual Technical Conf. San Diego, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Sungjin Lee, Dongkun Shin, Young-Jin Kim, and Jihong Kim. 2008. LAST: Locality-aware sector translation for NAND flash memory-based storage systems. ACM SIGOPS Operating Syst. Rev. 42, 6 (Oct. 2008), 36--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Sang-Won Lee, Dong-Joo Park, Tae-Sun Chung, Dong-Ho Lee, Sangwon Park, and Ha-Joo Song. 2007. A log buffer-based flash translation layer using fully-associative sector translation. ACM Trans. Embedded Comput. Syst. 6, 3 (July 2007), Article No. 18, 18:1--29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Rino Micheloni, Luca Crippa, and Alessia Marelli. 2010. Inside NAND Flash Memories. Springer.Google ScholarGoogle Scholar
  16. Micron. 2010. Bad Block Management in NAND Flash Memory. Retrieved from http://www.micron.com/products/support/technical-notes/.Google ScholarGoogle Scholar
  17. Neal Mielke, Hanmant P. Belgal, Albert Fazio, Qingru Meng, and Nick Righos. 2006. Recovery effects in the distributed cycling of flash memories. In IEEE Int. Reliability Physics Symp. Proc. San Jose, CA, 29--35.Google ScholarGoogle Scholar
  18. Vidyabhushan Mohan, Taniya Siddiqua, Sudhanva Gurumurthi, and Mircea R. Stan. 2010. How I learned to stop worrying and love flash endurance. In Proc. USENIX Conf. Hot Topics in Storage and File Systems. Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Muthukumar Murugan and David H. C. Du. 2012. Hybrot: Towards improved performance in hybrid SLC-MLC devices. In IEEE Int. Symp. Modeling, Analysis Simulation of Computer and Telecommunication Systems. Arlington, Virginia, USA, 481--484. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Dushyanth Narayanan, Austin Donnelly, and Antony Rowstron. 2008. Write off-loading: Practical power management for enterprise storage. In Proc. USENIX Conf. File and Storage Technologies. San Jose, CA, 253--267. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. ONFI Workgroup. 2013. Open NAND Flash Interface 3.2. Retrieved from http://onfi.org/specifications/.Google ScholarGoogle Scholar
  22. Jung-Wook Park, Seung-Ho Park, Charles C. Weems, and Shin-Dug Kim. 2011. A hybrid flash translation layer design for SLC-MLC flash memory based multibank solid state disk. Microproc. Microsyst. 35, 1 (Feb. 2011), 48--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. David Woodhouse. 2001. JFFS: The journalling flash file system. In Proc. Linux Symp. Ottawa, Ontario, Canada.Google ScholarGoogle Scholar
  24. Michael Wu and Willy Zwaenepoel. 1994. eNVy: A non-volatile, main memory storage system. In 6th Int. Conf. on Architectural Support for Programming Languages and Operating Systems. San Jose, CA, 86--97. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!