skip to main content
research-article

Superblock FTL: A superblock-based flash translation layer with a hybrid address translation scheme

Published:06 April 2010Publication History
Skip Abstract Section

Abstract

In NAND flash-based storage systems, an intermediate software layer called a Flash Translation Layer (FTL) is usually employed to hide the erase-before-write characteristics of NAND flash memory. We propose a novel superblock-based FTL scheme, which combines a set of adjacent logical blocks into a superblock. In the proposed Superblock FTL, superblocks are mapped at coarse granularity, while pages inside the superblock are mapped freely at fine granularity to any location in several physical blocks. To reduce extra storage and flash memory operations, the fine-grain mapping information is stored in the spare area of NAND flash memory. This hybrid address translation scheme has the flexibility provided by fine-grain address translation, while reducing the memory overhead to the level of coarse-grain address translation. Our experimental results show that the proposed FTL scheme significantly outperforms previous block-mapped FTL schemes with roughly the same memory overhead.

References

  1. Ban, A. 1995. Flash file system. U.S. Patent, no. 5,404,485.Google ScholarGoogle Scholar
  2. Ban, A. 1999. Flash file system optimized for page-mode flash technologies. U.S. Patent, no. 5,937,425.Google ScholarGoogle Scholar
  3. BAPCo. 2007. SYSmark 2007 Preview. http://www.bapco.com/products/sysmark2007preview.Google ScholarGoogle Scholar
  4. Bityutskiy, A. B. 2005. JFFS3 design issues. version 0.32 (draft). http://www.linux-mtd.infradead.org/tech/JFFS3design.pdf.Google ScholarGoogle Scholar
  5. Chang, L.-P. 2007. On efficient wear leveling for large-scale flash-memory storage systems. In Proceedings of the Symposium on Applied Computing (SAC). ACM, New York, 1126--1130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chang, L.-P. and Kuo, T.-W. 2005. Efficient management for large-scale flash-memory storage systems with resource conservation. ACM Trans. Storage 1, 4, 381--418. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chang, L.-P., Kuo, T.-W., and Lo, S.-W. 2004. Real-time garbage collection for flash-memory storage systems of real-time embedded systems. Trans. Embedded Comput. Syst. 3, 4, 837--863. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Chiang, M.-L., Lee, P. C., and Chang, R.-C. 1998. Data management in a flash memory-based storage server. http://dspace.lib.fcu.edu.tw/bitstream/2377/2050/1/ce07ics001998000138.pdf.Google ScholarGoogle Scholar
  9. Chiang, M.-L., Lee, P. C. H., and Chang, R.-C. 1999. Using data clustering to improve cleaning performance for flash memory. Software Pract. Exp. 29, 3, 267--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Choudhuri, S. and Givargis, T. 2008a. Deterministic service guarantees for nand flash using partial block cleaning. In Proceedings of the 6th International Conference on Hardware/Software Codesign and System Synthesis (CODES/ISSS'08). ACM, New York, 19--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Choudhuri, S. and Givargis, T. 2008b. Real-time access guarantees for nand flash using partial block cleaning. In Proceedings of the 6th International Workshop on Software Technologies for Embedded and Ubiquitous Systems (SEUS'08). Springer-Verlag, Berlin, 138--149. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Cooke, J. 2007. Flash memory technology direction. In Proceedings of the Windows Hardware Engineering Conference (WinHEC'07).Google ScholarGoogle Scholar
  13. Dan, R. and Singler, R. 2003. Implementing MLC NAND flash for cost-effectie, high-capacity memory. M-Systems Inc. http://www.data-io.com/pdf/NAND/MSystems/Implementing_MLC_ NAND_Flash.pdf.Google ScholarGoogle Scholar
  14. Douglis, F., Caceres, R., Kaashoek, F., Li, K., Marsh, B., and Tauber, J. A. 1994. Storage alternatives for mobile computers. In Proceedings of the 1st Symposium on Operating Systems Design and Implementation (OSDI). USENIX, Berkeley, CA, 25--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Futuremark Corp. 2005. PCMark05. http://www.futuremark.com/products/pcmark05.Google ScholarGoogle Scholar
  16. Harari, E., Norman, R. D., and Mehrota, S. 1997. Flash EEPROM system. U.S. Patent, no. 5,602,987.Google ScholarGoogle Scholar
  17. IDEMA. 2007. IDEMA Long Data Block White Paper. http://www.idema.org/_smartsite/modules/local/data_file/show_file.php?cmd=standards&cat=103&h=1.Google ScholarGoogle Scholar
  18. Inoue, A. and Wong, D. 2003. NAND flash applications design guide. Tech. rep., Toshiba America Electronic Components, Inc.Google ScholarGoogle Scholar
  19. Intel Corp. 1998. Understanding the flash translation layer (FTL) specification. http://developer.intel.com/.Google ScholarGoogle Scholar
  20. Jung, D., Chae, Y.-H., Jo, H., Kim, J.-S., and Lee, J. 2007. A group-based wear-leveling algorithm for large-capacity flash memory storage systems. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES'07). ACM, New York, 160--164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Kang, J.-U., Jo, H., Kim, J.-S., and Lee, J. 2006. A superblock-based flash translation layer for NAND flash memory. In Proceedings of the 6th Annual ACM Conference on Embedded Systems Software (EMSOFT'06). ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Kawaguchi, A., Nishioka, S., and Motoda, H. 1995. A flash-memory based file system. In Proceedings of the USENIX Winter Technical Conference. USENIX, Berkeley, CA, 155--164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Kim, J., Kim, J. M., Noh, S., Min, S. L., and Cho, Y. 2002. A space-efficient flash translation layer for CompactFlash systems. IEEE Trans. Consum. Electron. 48, 2, 366--375. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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. Embedded Comput. Syst. 6, 3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Lim, S.-H. and Park, K.-H. 2006. An efficient NAND flash file system for flash memory storage. IEEE Trans. Comput. 55, 7, 906--912. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Micron Technology Inc. 2005. Small block vs. large block NAND flash devices. Tech. rep., Technical Note TN-29-07.Google ScholarGoogle Scholar
  27. M. T. D. 2008. Ubi - unsorted block images. http://www.linux-mtd.infradead.org/doc/ubi.html.Google ScholarGoogle Scholar
  28. Park, C., Cheon, W., Kang, J., Roh, K., Cho, W., and Kim, J.-S. 2008. A reconfigurable ftl (flash translation layer) architecture for nand flash-based applications. ACM Trans. Embedded Comput. Syst. 7, 4, 1--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Park, C., Cheon, W., Lee, Y., Jung, M.-S., Cho, W., and Yoon, H. 2007. A re-configurable FTL architecture for NAND flash-based applications. In Proceedings of the 18th International Workshop on Rapid System Prototyping (RSP). IEEE, Los Alamitos, CA, 202--208. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 International Conference on Computer Design (ICCD). IEEE, Los Alamitos, CA, 474--480. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Ruemmler, C. and Wilkes, J. 1993. UNIX disk access patterns. In Proceedings of the USENIX Winter Technical Conference. USENIX, Berkeley, CA, 405--420.Google ScholarGoogle Scholar
  32. Russinovich, M. 2006. DiskMon. http://technet.microsoft.com/en-us/sysinternals/bb896646.aspx.Google ScholarGoogle Scholar
  33. Samsung Elec. 2003. 64Mx16 bit NAND flash memory (K9F1G16U0M).Google ScholarGoogle Scholar
  34. Samsung Elec. 2006. 2Gx8 bit NAND flash memory (K9GAG08U0M).Google ScholarGoogle Scholar
  35. Samsung Elec. 2007. 1Gx8 bit/2Gx16 bit NAND flash memory (K9WAG08U1A). http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/NANDFlash/SLC_LargeBlock/16Gbit/K9WAG08U1A/ds_k9xxg08uxa_rev11.pdf.Google ScholarGoogle Scholar
  36. 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 2006 IEEE/ACM International Conference on Computer-aided Design (ICCAD'06). ACM, New York, 601--606. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Yim, K. S., Kim, J., and Koh, K. 2005. A fast start-up technique for flash memory based computing systems. In Proceedings of the Symposium on Applied Computing (SAC'05). ACM, New York, 843--849. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Superblock FTL: A superblock-based flash translation layer with a hybrid address translation scheme

    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!