skip to main content
research-article

An adaptive, low-cost wear-leveling algorithm for multichannel solid-state disks

Published:24 December 2013Publication History
Skip Abstract Section

Abstract

Multilevel flash memory cells double or even triple storage density, producing affordable solid-state disks for end users. As flash memory endures only limited program-erase cycles, solid-state disks employ wear-leveling methods to prevent any portions of flash memory from being retired prematurely. Modern solid-state disks must consider wear evenness at both block and channel levels. This study first presents a block-level wear-leveling method whose design has two new ideas. First, the proposed method reuses the intelligence available in flash-translation layers so it does not require any new data structures. Second, it adaptively tunes the threshold of block-level wear leveling according to the runtime write pattern. This study further introduces a new channel-level wear-leveling strategy, because block-level wear leveling is confined to a channel, but realistic workloads do not evenly write all channels. The proposed method swaps logical blocks among channels for achieving an eventually-even state of channel lifetimes. A series of trace-driven simulations show that our wear-leveling method outperforms existing approaches in terms of wear evenness and overhead reduction.

References

  1. Agrawal, N., Bolosky, W. J., Douceur, J. R., and Lorch, J. R. 2007. A five-year study of file-system metadata. Trans. Storage 3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Agrawal, N., Prabhakaran, V., Wobber, T., Davis, J. D., Manasse, M., and Panigrahy, R. 2008. Design tradeoffs for SSD performance. In Proceedings of the USENIX Annual Technical Conference on Annual Technical Conference (ATC'08). USENIX Association, 57--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Balakrishnan, M., Kadav, A., Prabhakaran, V., and Malkhi, D. 2010. Differential raid: Rethinking raid for SSD reliability. Trans. Storage 6, 2, 4:1--4:22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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
  5. Chang, L.-P. and Du, C.-D. 2009. Design and implementation of an efficient wear-leveling algorithm for solid-state-disk microcontrollers. ACM Trans. Des. Autom. Electron. Syst. 15, 1, 1--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chang, L.-P. and Huang, L.-C. 2011. A low-cost wear-leveling algorithm for block-mapping solid-state disks. In Proceedings of the SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES'11). ACM, New York, NY, 31--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chang, L.-P. and Kuo, T.-W. 2002. An adaptive striping architecture for flash memory storage systems of embedded systems. In Proceedings of the 8th IEEE Real-Time and Embedded Technology and Applications Symposium. 187--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Chang, Y.-H., Hsieh, J.-W., and Kuo, T.-W. 2010. Improving flash wear-leveling by proactively moving static data. IEEE Trans. Comput. 59, 1, 53--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Dirik, C. and Jacob, B. 2009. The performance of pc solid-state disks (SSDs) as a function of bandwidth, concurrency, device architecture, and system organization. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA'09). ACM, New York, NY, 279--289. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Global Unichip Corp. 2009. GP5086 Datasheet. http://www.globalunichip.com/4-10.php.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 mappings. In Proceeding of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'09). ACM, 229--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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, 160--164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kang, J.-U., Kim, J.-S., Park, C., Park, H., and Lee, J. 2007. A multi-channel architecture for high-performance NAND flash-based storage system. J. Syst. Archit. 53, 9, 644--658. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Katcher, J. 1997. Postmark: A new file system benchmark. Tech. rep., TR3022, Network Appliance.Google ScholarGoogle Scholar
  15. 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. Trans. Embed. Comput. Syst. 6, 3, 18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Micron®. 2008. Wear-Leveling Techniques in NAND Flash Devices. Micron Application Note (TN-29-42).Google ScholarGoogle Scholar
  17. Open Source Development Lab. 2003. Iometer. http://http://www.iometer.org/.Google ScholarGoogle Scholar
  18. Park, C., Cheon, W., Kang, J., Roh, K., Cho, W., and Kim, J.-S. 2008. A reconfigurable FTL architecture for NAND flash-based applications. ACM Trans. Embed. Comput. Syst. 7, 4, 1--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Park, S.-H., Park, J.-W., Kim, S.-D., and Weems, C. C. 2010. A pattern adaptive NAND flash memory storage structure. IEEE Trans. Comput. 99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Rosen, K. 2003. Discrete Mathematics and Its Applications. McGraw-Hill, New York.Google ScholarGoogle Scholar
  21. Samsung Electronics. 2006. K9F8G08B0M 1Gb * 8 Bit SLC NAND Flash Memory. Data sheet.Google ScholarGoogle Scholar
  22. Samsung Electronics. 2008. K9MDG08U5M 4G * 8 Bit MLC NAND Flash Memory. Data sheet.Google ScholarGoogle Scholar
  23. Seong, Y. J., Nam, E. H., Yoon, J. H., Kim, H., Choi, J.-Y., Lee, S., Bae, Y. H., Lee, J., Cho, Y., and Min, S. L. 2010. Hydra: A block-mapped parallel flash memory solid-state disk architecture. IEEE Trans. Comput. 59, 905--921. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Shang, P., Wang, J., Zhu, H., and Gu, P. 2011. A new placement-ideal layout for multiway replication storage system. IEEE Trans. Comput. 60, 8, 1142--1156. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Spansion®. 2008. Wear Leveling. Spansion Application Note (AN01).Google ScholarGoogle Scholar

Index Terms

  1. An adaptive, low-cost wear-leveling algorithm for multichannel solid-state disks

      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!