skip to main content
research-article

Improving the Endurance of Next Generation SSD’s using WOM-v Codes

Published:16 December 2022Publication History
Skip Abstract Section

Abstract

High density Solid State Drives, such as QLC drives, offer increased storage capacity, but a magnitude lower Program and Erase (P/E) cycles, limiting their endurance and hence usability. We present the design and implementation of non-binary, Voltage-Based Write-Once-Memory (WOM-v) Codes to improve the lifetime of QLC drives. First, we develop a FEMU based simulator test-bed to evaluate the gains of WOM-v codes on real world workloads. Second, we propose and implement two optimizations, an efficient garbage collection mechanism and an encoding optimization to drastically improve WOM-v code endurance without compromising performance. Third, we propose analytical approaches to obtain estimates of the endurance gains under WOM-v codes. We analyze the Greedy garbage collection technique with uniform page access distribution and the Least Recently Written (LRW) garbage collection technique with skewed page access distribution in the context of WOM-v codes. We find that although both approaches overestimate the number of required erase operations, the model based on greedy garbage collection with uniform page access distribution provides tighter bounds. A careful evaluation, including microbenchmarks and trace-driven evaluation, demonstrates that WOM-v codes can reduce Erase cycles for QLC drives by 4.4×–11.1× for real world workloads with minimal performance overheads resulting in improved QLC SSD lifetime.

REFERENCES

  1. [1] 2020. Western Digital and Toshiba talk up penta-level cell flash. Retrieved from https://blocksandfiles.com/2019/08/07/penta-level-cell-flash/. Accessed January 11, 2022.Google ScholarGoogle Scholar
  2. [2] 2021. FEMU TLC and QLC NAND support. Retrieved from https://github.com/ucare-uchicago/FEMU/pull/47. Accessed January 11, 2022.Google ScholarGoogle Scholar
  3. [3] 2022. 4 QLC workloads and why they’re a good fit for QLC NAND flash. Retrieved from https://www.techtarget.com/searchstorage/tip/4-QLC-workloads-and-why-they-are-a-good-fit-for-QLC-NAND-flash. Accessed January 11, 2022.Google ScholarGoogle Scholar
  4. [4] 2022. QLC NAND - What can we expect from the technology? Retrieved from https://www.architecting.it/blog/qlc-nand/. Accessed January 11, 2022.Google ScholarGoogle Scholar
  5. [5] 2022. SLC vs MLC vs TLC vs QLC. Retrieved from https://memkor.com/slc-vs-mlc-vs-tlc%2Fqlc. Accessed January 11, 2022.Google ScholarGoogle Scholar
  6. [6] 2022. TLC vs QLC SSDs: The Ultimate Guide. Retrieved from https://storagereviews.net/tlc-vs-qlc-ssds/. Accessed January 11, 2022.Google ScholarGoogle Scholar
  7. [7] 2022. WOM-v Source Code. Retrieved from https://github.com/uoftsystems/womv. Accessed January 11, 2022.Google ScholarGoogle Scholar
  8. [8] Agrawal Nitin, Bolosky William J., Douceur John R., and Lorch Jacob R.. 2007. A five-year study of file-system metadata. In Proceedings of the 5th USENIX Conference on File and Storage Technologies (FAST 07). USENIX Association. Retrieved from https://www.usenix.org/conference/fast-07/five-year-study-file-system-metadata.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [9] Bjørling Matias, González Javier, and Bonnet Philippe. 2017. Lightnvm: The linux open-channel \(\lbrace\)SSD\(\rbrace\) subsystem. In Proceedings of the 15th \(\lbrace\)USENIX\(\rbrace\) Conference on File and Storage Technologies (\(\lbrace\)FAST\(\rbrace\) 17). 359374.Google ScholarGoogle Scholar
  10. [10] Cover Thomas M. and Thomas Joy A.. 2006. Elements of information theory, 2nd edition. Wiley.Google ScholarGoogle Scholar
  11. [11] Desnoyers Peter. 2012. Analytic models of SSD write performance. In Proceedings of the 5th Annual International Systems and Storage Conference.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [12] Desnoyers Peter. 2013. What systems researchers need to know about NAND flash. In Proceedings of the 5th USENIX Conference on Hot Topics in Storage and File Systems (San Jose, CA) (HotStorage’13). USENIX Association, 6.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Desnoyers Peter. 2014. Analytic models of SSD write performance. ACM Transactions on Storage 10, 2 (March2014), 25 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. [14] Jaffer Shehbaz, Mahdaviani Kaveh, and Schroeder Bianca. 2020. Rethinking WOM codes to enhance the lifetime in new SSD generations. In Proceedings of the 12th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 20). USENIX Association. Retrieved from https://www.usenix.org/conference/hotstorage20/presentation/jaffer.Google ScholarGoogle Scholar
  15. [15] Jaffer Shehbaz, Mahdaviani Kaveh, and Schroeder Bianca. 2022. Improving the reliability of next generation SSDs using WOM-v codes. In Proceedings of the 20th USENIX Conference on File and Storage Technologies (FAST 22). USENIX Association, Santa Clara, CA, 117132. Retrieved from https://www.usenix.org/conference/fast22/presentation/jaffer.Google ScholarGoogle Scholar
  16. [16] Jeong Jaeyong, Hahn Sangwook Shane, Lee Sungjin, and Kim Jihong. 2014. Lifetime improvement of NAND flash-based storage systems using dynamic program and erase scaling. In Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST 14). USENIX Association, 6174. Retrieved from https://www.usenix.org/conference/fast14/technical-sessions/presentation/jeong.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] K. Arpith and Gopinath K.. 2020. Need for a deeper cross-layer optimization for dense NAND SSD to improve read performance of big data applications: A case for melded pages. In Proceedings of the 12th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 20). USENIX Association. Retrieved from https://www.usenix.org/conference/hotstorage20/presentation/k.Google ScholarGoogle Scholar
  18. [18] Kavalanekar Swaroop, Worthington Bruce, Zhang Qi, and Sharda Vishal. 2008. Characterization of storage workload traces from production windows servers. In Proceedings of the 2008 IEEE International Symposium on Workload Characterization. IEEE, 119128.Google ScholarGoogle ScholarCross RefCross Ref
  19. [19] Koller Ricardo and Rangaswami Raju. 2010. I/O deduplication: Utilizing content similarity to improve I/O performance. ACM Transactions on Storage (TOS) 6, 3 (2010), 126.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. [20] Li Huaicheng, Hao Mingzhe, Tong Michael Hao, Sundararaman Swaminathan, Bjørling Matias, and Gunawi Haryadi S.. 2018. The CASE of FEMU: Cheap, accurate, scalable and extensible flash emulator. In Proceedings of the 16th USENIX Conference on File and Storage Technologies (FAST 18). USENIX Association, 8390. Retrieved from https://www.usenix.org/conference/fast18/presentation/li.Google ScholarGoogle Scholar
  21. [21] Li Jinhong, Wang Qiuping, Lee Patrick P. C., and Shi Chao. 2020. An in-depth analysis of cloud block storage workloads in large-scale production. In IEEE International Symposium on Workload Characterization, IISWC 2020. IEEE, 3747. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  22. [22] Maneas Stathis, Mahdaviani Kaveh, Emami Tim, and Schroeder Bianca. 2020. A study of SSD reliability in large scale enterprise storage deployments. In Proceedings of the 18th USENIX Conference on File and Storage Technologies (FAST 20). USENIX Association, 137149. Retrieved from https://www.usenix.org/conference/fast20/presentation/maneas.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Maneas Stathis, Mahdaviani Kaveh, Emami Tim, and Schroeder Bianca. 2022. Operational characteristics of SSDs in enterprise storage systems: A large-scale field study. In Proceedings of the 20th USENIX Conference on File and Storage Technologies (FAST 22). USENIX Association. Retrieved from https://www.usenix.org/conference/fast22/presentation/maneas.Google ScholarGoogle Scholar
  24. [24] Margaglia Fabio and Brinkmann André. 2015. Improving MLC flash performance and endurance with extended P/E cycles. In Proceedings of the 2015 31st Symposium on Mass Storage Systems and Technologies (MSST). IEEE, 112.Google ScholarGoogle ScholarCross RefCross Ref
  25. [25] Margaglia Fabio, Yadgar Gala, Yaakobi Eitan, Li Yue, Schuster Assaf, and Brinkmann Andre. 2016. The devil is in the details: Implementing flash page reuse with WOM codes. In Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST 16). USENIX Association, 95109. Retrieved from https://www.usenix.org/conference/fast16/technical-sessions/presentation/margaglia.Google ScholarGoogle Scholar
  26. [26] Narayanan Dushyanth, Donnelly Austin, and Rowstron Antony. 2008. Write off-loading: Practical power management for enterprise storage. ACM Transactions on Storage (TOS) 4, 3 (2008), 123.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Pan Yuqian, Zhang Haichun, Gong Mingyang, and Liu Zhenglin. 2020. Process-variation effects on 3D TLC flash reliability: Characterization and mitigation scheme. In Proceedings of the 2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS). 329334. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  28. [28] Rivest Ronald L. and Shamir Adi. 1982. How to reuse a “write-once” memory. Information and Control 55, 1–3 (1982), 119.Google ScholarGoogle ScholarCross RefCross Ref
  29. [29] Rosenblum M.. 1992. The Design and Implementation of a Log-structured File System. Ph. D. Dissertation. University of California at Berkeley.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Repository SNIA IOTTA Trace. 2020. YCSB RocksDB SSD Traces. Retrieved from http://iotta.snia.org/traces/28568. Accessed January 11, 2022.Google ScholarGoogle Scholar
  31. [31] Tai Amy, Kryczka Andrew, Kanaujia Shobhit O., Jamieson Kyle, Freedman Michael J., and Cidon Asaf. 2019. Who’s afraid of uncorrectable bit errors? Online recovery of flash errors with distributed redundancy. In Proceedings of the 2019 USENIX Annual Technical Conference (USENIX ATC 19). 977992.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. [32] Yaakobi Eitan, Ma Jing, Grupp Laura, Siegel Paul H., Swanson Steven, and Wolf Jack K.. 2010. Error characterization and coding schemes for flash memories. In Proceedings of the 2010 IEEE Globecom Workshops. IEEE, 18561860.Google ScholarGoogle ScholarCross RefCross Ref
  33. [33] Yaakobi Eitan, Yadgar Gala, Bundak Nachum, and Gilon Lior. 2018. A case for biased programming in flash. In Proceedings of the 10th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 18).Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. [34] Yaakobi Eitan, Yucovich Alexander, Maor Gal, and Yadgar Gala. 2015. When do WOM codes improve the erasure factor in flash memories?. In Proceedings of the IEEE International Symposium on Information Theory (ISIT).Google ScholarGoogle ScholarCross RefCross Ref
  35. [35] Yadgar Gala, Gabel Moshe, Jaffer Shehbaz, and Schroeder Bianca. 2021. SSD-based workload characteristics and their performance implications. ACM Transactions on Storage 17, 1, (Jan2021), 26 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. [36] Yadgar Gala, Yaakobi Eitan, Margaglia Fabio, Li Yue, Yucovich Alexander, Bundak Nachum, Gilon Lior, Yakovi Nir, Schuster Assaf, and Brinkmann André. 2018. An analysis of flash page reuse with WOM codes. ACM Transactions on Storage (TOS) 14, 1 (2018), 139.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. [37] Yadgar Gala, Yaakobi Eitan, and Schuster Assaf. 2015. Write once, get 50% free: Saving SSD erase costs using WOM codes. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST 15). 257271.Google ScholarGoogle Scholar

Index Terms

  1. Improving the Endurance of Next Generation SSD’s using WOM-v Codes

        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 18, Issue 4
          November 2022
          279 pages
          ISSN:1553-3077
          EISSN:1553-3093
          DOI:10.1145/3570642
          Issue’s Table of Contents

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 16 December 2022
          • Online AM: 14 November 2022
          • Accepted: 13 September 2022
          • Revised: 12 July 2022
          • Received: 12 July 2022
          Published in tos Volume 18, Issue 4

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Refereed
        • Article Metrics

          • Downloads (Last 12 months)159
          • Downloads (Last 6 weeks)15

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Full Text

        View this article in Full Text.

        View Full Text

        HTML Format

        View this article in HTML Format .

        View HTML Format
        About Cookies On This Site

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

        Learn more

        Got it!