skip to main content
research-article

MFTL: A Design and Implementation for MLC Flash Memory Storage Systems

Authors Info & Claims
Published:01 May 2012Publication History
Skip Abstract Section

Abstract

NAND flash memory has gained its popularity in a variety of applications as a storage medium due to its low power consumption, nonvolatility, high performance, physical stability, and portability. In particular, Multi-Level Cell (MLC) flash memory, which provides a lower cost and higher density solution, has occupied the largest part of NAND flash-memory market share. However, MLC flash memory also introduces new challenges: (1) Pages in a block must be written sequentially. (2) Information to indicate a page being obsoleted cannot be recorded in its spare area due to the limitation on the number of partial programming. Since most of applications access NAND flash memory under FAT file system, this article designs an MLC Flash Translation Layer (MFTL) for flash-memory storage systems which takes constraints of MLC flash memory and access behaviors of FAT file system into consideration. A series of trace-driven simulations was conducted to evaluate the performance of the proposed scheme. Although MFTL is designed for MLC flash memory and FAT file system, it is applicable to SLC flash memory and other file systems as well. Our experiment results show that the proposed MFTL could achieve a good performance for various access patterns even on SLC flash memory.

References

  1. Aleph One Company. Yet Another Flash Filing System.Google ScholarGoogle Scholar
  2. Ban, A. 1999. Flash file system optimized for page-mode flash technologies. United States Patent 5,937,425.Google ScholarGoogle Scholar
  3. Chang, L.-P. 2010. A hybrid approach to NAND-flash-based solid-state disks. IEEE Trans. Comput. 59, 10, 1337--1349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Chang, L.-P. and Du, C.-D. 2009. Design and implementation of an efficient wear-leveling algorithm for solid-state-disk micro-controllers. ACM Trans. Design Automat. Electron. Syst. 15, 1--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Chang, L.-P. and Kuo, T.-W. 2005. Efficient management for large-scale flash-memory storage systems with resource conservation. ACM Trans. Storage 1, 381--418. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chang, Y.-H., Hsieh, J.-W., and Kuo, T.-W. 2007. Endurance enhancement of flash-memory storage systems: An efficient static wear leveling design. In Proceedings of the ACM/IEEE Design Automation Conference (DAC’07). 212--217. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chang, Y.-H., Lin, J.-H., Hsieh, J.-W., and Kuo, T.-W. 2010. A strategy to emulate NOR flash with NAND flash. ACM Trans. Storage 6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Chen, F., Luo, T., and Zhang, X. 2011. CAFTL: A content-aware flash translation layer enhancing the lifespan of flash memory based solid state drives. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies (FAST’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cho, H., Shin, D., and Eom, Y. I. 2009. KAST: K-Associative Sector Translation for NAND flash memory in real-time systems. In Proceedings of the Symposium on Design, Automation and Test in Europe (DATE). 507--512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. ECMA-107. 1995. Volume and File Structure of Disk Cartridges for Information Interchange, identical to ISO/IEC 9293. Tech. rep., ECMA International.Google ScholarGoogle Scholar
  11. Gupta, A., Kim, Y., and Urgaonkar, B. 2009. DFTL: A flash translation layer employing demand-based selective caching of page-level address mapping. In Proceeding of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 229--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Hsieh, J.-W., Chang, L.-P., and Kuo, T.-W. 2006. Efficient identification of hot data for flash memory storage systems. ACM Trans. Storage 2, 22--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hsieh, J.-W., Tsai, Y.-L., Kuo, T.-W., and Lee, T.-L. 2008. Configurable flash-memory management: Performance versus overheads. IEEE Trans. Comput. 57, 11, 1571--1583. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Im, S. and Shin, D. 2010. COMBOFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer. J. Syst. Architect.-Embed. Syst. Des. 56, 12, 641--653. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Intel. a. Flash cache memory puts robson in the middle.Google ScholarGoogle Scholar
  16. Intel. b. Software concerns of implementing a resident flash disk.Google ScholarGoogle Scholar
  17. Intel. 1998. Understanding the Flash Translation Layer (FTL) Specification. Tech. rep., Intel Corporation.Google ScholarGoogle Scholar
  18. Joo, Y., Choi, Y., Park, C., Chung, S. W., Chung, E.-Y., and Chang, N. 2006. Demand paging for OneNANDTM Flash eXecute-In-Place. In Proceedings of CODES+ISSS. 229--234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Jung, D., Kang, J.-U., Jo, H., Kim, J.-S., and Lee, J. 2010. Superblock FTL: A superblock-based flash translation layer with a hybrid address translation scheme. ACM Trans. Embed. Comput. Syst. (TECS). 9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Kim, J., Kim, J. M., Noh, S. H., Min, S. L., and Cho, Y. 2002. A space-effficient flash translation layer for compactflash systems. IEEE Trans. Consum. Electron. 48, 2, 366--375. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lee, J.-H., Park, G.-H., and Kim, S.-D. 2004. A new NAND-type flash memory package with smart buffer system for spatial and temporal localities. J. Syst. Architect. 51, 111--123. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Lee, S., Shin, D., Kim, Y.-J., and Kim, J. 2008. LAST: Locality-Aware Sector Translation for NAND flash memory-based storage systems. ACM SIGOPS Oper. Syst. Rev. 42, 36--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Lee, S.-W., Park, D.-J., Chung, T.-S., Lee, D.-H., Park, S., and Song, H.-J. 2007. A log buffer-based flash translation layer using fully-associative sector translation. ACM Trans. Embed. Comput. Syst. 6, 3, Article 18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M-Systems. 1998. Flash-memory translation layer for NAND flash (NFTL).Google ScholarGoogle Scholar
  25. Park, C., Seo, J., Seo, D., Kim, S., and Kim, B. 2003. Cost-efficient memory architecture design of NAND flash memory embedded systems. In Proceedings of the 21st International Conference on Computer Design (ICCD’03). Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Park, C., Lim, J., Kwon, K., Lee, J., and Min, S. L. 2004. Compiler-assisted demand paging for embedded systems with flash memory. In Proceedings of the 4th ACM International Conference on Embedded Software (EMSOFT). 114--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Park, H. and Shin, D. 2010. Buffer flush and address mapping scheme for flash memory solid-state disk. J. Syst. Architect.-Embed. Syst. Design 56, 4--6, 208--220. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. PCSTATS. 2011. Beginners Guides: Flash Memory Data Recovery and Protection. Tech. rep., PCSTATS.Google ScholarGoogle Scholar
  29. Samsung Electronics. Samsung K9LBG08U0M(v1.0) - 32Gb DDP MLC data sheet.Google ScholarGoogle Scholar
  30. Song, H., Choi, S., Cha, H., and Ha, R. 2009. Improving energy efficiency for flash memory based embedded applications. J. Syst. Architect.-Embed. Syst. Des. 55, 1, 15--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Testmetrix Inc. VTE2100.Google ScholarGoogle Scholar
  32. Woodhouse, D. 2001. JFFS: The Journalling Flash File System. In Proceedings of the Ottawa Linux Symposium.Google ScholarGoogle Scholar
  33. Wu, C.-H. and Kuo, T.-W. 2006. An adaptive two-level management for the flash translation layer in embedded systems. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD’06). 601--606. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Wu, C.-H., Kuo, T.-W., and Chang, L.-P. 2006. The design of efficient initialization and crash recovery for log-based file systems over flash memory. ACM Trans. Storage 2, 449--467. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. MFTL: A Design and Implementation for MLC Flash Memory Storage Systems

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

  • Published in

    cover image ACM Transactions on Storage
    ACM Transactions on Storage  Volume 8, Issue 2
    May 2012
    89 pages
    ISSN:1553-3077
    EISSN:1553-3093
    DOI:10.1145/2180905
    Issue’s Table of Contents

    Copyright © 2012 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 May 2012
    • Accepted: 1 December 2011
    • Revised: 1 October 2011
    • Received: 1 May 2011
    Published in tos Volume 8, Issue 2

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed

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!