skip to main content
research-article
Public Access

An Analysis of Flash Page Reuse With WOM Codes

Published:26 February 2018Publication History
Skip Abstract Section

Abstract

Flash memory is prevalent in modern servers and devices. Coupled with the scaling down of flash technology, the popularity of flash memory motivates the search for methods to increase flash reliability and lifetime. Erasures are the dominant cause of flash cell wear, but reducing them is challenging because flash is a write-once medium— memory cells must be erased prior to writing.

An approach that has recently received considerable attention relies on write-once memory (WOM) codes, designed to accommodate additional writes on write-once media. However, the techniques proposed for reusing flash pages with WOM codes are limited in their scope. Many focus on the coding theory alone, whereas others suggest FTL designs that are application specific, or not applicable due to their complexity, overheads, or specific constraints of multilevel cell (MLC) flash.

This work is the first that addresses all aspects of page reuse within an end-to-end analysis of a general-purpose FTL on MLC flash. We use a hardware evaluation setup to directly measure the short- and long-term effects of page reuse on SSD durability and energy consumption, and show that FTL design must explicitly take them into account. We then provide a detailed analytical model for deriving the optimal garbage collection policy for such FTL designs, and for predicting the benefit from reuse on realistic hardware and workload characteristics.

References

  1. Siglead. 2014. NAND Flash Memory Tester (SigNASII). Retrieved January 28, 2018, from http://siglead.com/eng/product/nand/index.php.Google ScholarGoogle Scholar
  2. B. Van Houdt. 2014. On the necessity of hot and cold data identification to reduce the write amplification in flash-based SSDs. Performance Evaluation 82, 1--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. SNIA. 2014. SNIA IOTTA. Available at http://iotta.snia.org/traces/388.Google ScholarGoogle Scholar
  4. OpenSSD. 2015. Jasmine OpenSSD Platform. Retrieved January 28, 2018, from http://www.openssd-project.org/wiki/The_OpenSSD_Project.Google ScholarGoogle Scholar
  5. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigrahy. 2008. Design tradeoffs for SSD performance. In Proceedings of the USENIX Annual Technical Conference (ATC’08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A Berman and Y. Birk. 2013. Retired-page utilization in write-once memory—a coding perspective. In Proceedings of the IEEE International Symposium on Information Theory (ISIT’13).Google ScholarGoogle Scholar
  7. David Burshtein. 2015. Coding for asymmetric side information channels with applications to polar codes. In Proceedings of the IEEE International Symposium on Information Theory (ISIT’15).Google ScholarGoogle ScholarCross RefCross Ref
  8. David Burshtein and Alona Strugatski. 2013. Polar write once memory codes. IEEE Transactions on Information Theory 59, 8, 5088--5101. http://dblp.uni-trier.de/db/journals/tit/tit59.html#BurshteinS13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Werner Bux and Ilias Iliadis. 2010. Performance of greedy garbage collection in flash-based solid-state drives. Performance Evaluation 67, 11, 1172--1186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Y. Cai, O. Mutlu, E. F. Haratsch, and K. Mai. 2013. Program interference in MLC NAND flash memory: Characterization, modeling, and mitigation. In Proceedings of the 31st IEEE International Conference on Computer Design (ICCD’13).Google ScholarGoogle Scholar
  11. Mong-Ling Chiao and Da-Wei Chang. 2011. ROSE: A novel flash translation layer for NAND flash memory based on hybrid address translation. IEEE Transactions on Computers 60, 6, 753--766. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. D. Cohen, P. Godlewski, and F. Merkx. 1986. Linear binary code for write-once memories. IEEE Transactions on Information Theory 32, 5, 697--700. http://dblp.uni-trier.de/db/journals/tit/tit32.html#CohenGM86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. John Colgrove, John D. Davis, John Hayes, Ethan L. Miller, Cary Sandvig, Russell Sears, Ari Tamches, Neil Vachharajani, and Feng Wang. 2015. Purity: Building fast, highly-available enterprise flash storage from commodity components. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD’15). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Peter Desnoyers. 2013. What systems researchers need to know about NAND flash. In Proceedings of the 5th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Peter Desnoyers. 2014. Analytic models of SSD write performance. ACM Transactions on Storage 10, 2, Article 8, 25 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. E. En Gad, W. Huang, Y. Li, and J. Bruck. 2015. Rewriting flash memories by message passing. In Proceedings of the IEEE International Symposium on Information Theory (ISIT’15).Google ScholarGoogle Scholar
  17. 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 Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’09). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Aayush Gupta, Raghav Pisolkar, Bhuvan Urgaonkar, and Anand Sivasubramaniam. 2011. Leveraging value locality in optimizing NAND flash-based SSDs. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. X.-Y. Hu and R. Haas. 2010. The Fundamental Limit of Flash Random Write Performance: Understanding, Analysis and Performance Modelling. IBM Research Report RZ3771. IBM Research, Zurich, Switzerland.Google ScholarGoogle Scholar
  20. Sai Huang, Qingsong Wei, Jianxi Chen, Cheng Chen, and Dan Feng. 2013. Improving flash-based disk cache with lazy adaptive replacement. In Proceedings of the IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST’13).Google ScholarGoogle ScholarCross RefCross Ref
  21. Jae-Woo Im, Woo-Pyo Jeong, and Doo-Hyun Kim. 2015. A 128Gb 3b/cell V-NAND flash memory with 1Gb/s I/O rate. In Proceedings of the IEEE International Solid-State Circuits Conference (ISSCC’15).Google ScholarGoogle ScholarCross RefCross Ref
  22. Soojun Im and Dongkun Shin. 2010. ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer. Journal of Systems Architecture 56, 12, 641--653. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. N. Jacobvitz, R. Calderbank, and D. J. Sorin. 2012. Writing cosets of a convolutional code to increase the lifetime of flash memory. In Proceedings of the 50th Annual Allerton Conference on Communication, Control, and Computing.Google ScholarGoogle Scholar
  24. A. Jagmohan, M. Franceschini, and L. Lastras. 2010. Write amplification reduction in NAND flash through multi-write coding. In Proceedings of the 26th IEEE Symposium on Mass Storage Systems and Technologies (MSST’10). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Xavier Jimenez, David Novo, and Paolo Ienne. 2014. Wear unleveling: Improving NAND flash lifetime by balancing page endurance. In Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST’14). Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Jürgen Kaiser, Fabio Margaglia, and André Brinkmann. 2013. Extending SSD lifetime in database applications with page overwrites. In Proceedings of the 6th International Systems and Storage Conference (SYSTOR’13).Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Taeho Kgil, David Roberts, and Trevor Mudge. 2008. Improving NAND flash based disk caches. In Proceedings of the 35th Annual International Symposium on Computer Architecture (ISCA’08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Hyojun Kim and Seongjun Ahn. 2008. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proceedings of the 6th USENIX Conference on File and Storage Technologies (FAST’08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. X. Luojie, B. M. Kurkoski, and E. Yaakobi. 2012. WOM codes reduce write amplification in NAND Flash memory. In Proceedings of the IEEE Global Communications Conference (GLOBECOM’12).Google ScholarGoogle Scholar
  30. Fabio Margaglia and André Brinkmann. 2015. Improving MLC flash performance and endurance with extended P/E cycles. In Proceedings of the IEEE 31st Symposium on Mass Storage Systems and Technologies (MSST’15).Google ScholarGoogle ScholarCross RefCross Ref
  31. Fabio Margaglia, Gala Yadgar, Eitan Yaakobi, Yue Li, Assaf Schuster, and André Brinkmann. 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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. N. Mielke, T. Marquart, N. Wu, J. Kessenich, H. Belgal, E. Schares, F. Trivedi, E. Goodness, and L. R. Nevill. 2008. Bit error rate in NAND flash memories. In Proceedings of the IEEE International Reliability Physics Symposium (IRPS’08).Google ScholarGoogle Scholar
  33. Changwoo Min, Kangnyeon Kim, Hyunjin Cho, Sang-Won Lee, and Young Ik Eom. 2012. SFS: Random write considered harmful in solid state drives. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. V. Mohan, T. Bunker, L. Grupp, S. Gurumurthi, M. R. Stan, and S. Swanson. 2013. Modeling power consumption of NAND flash memories using FlashPower. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 32, 7, 1031--1044. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Dushyanth Narayanan, Austin Donnelly, and Antony Rowstron. 2008. Write off-loading: Practical power management for enterprise storage. ACM Transactions on Storage 4, 3, Article 10, 23 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. S. Odeh and Y. Cassuto. 2014. NAND flash architectures reducing write amplification through multi-write codes. In Proceedings of the IEEE 30th Symposium on Mass Storage Systems and Technologies (MSST’14).Google ScholarGoogle Scholar
  37. Yongseok Oh, Jongmoo Choi, Donghee Lee, and Sam H. Noh. 2012. Caching less for better performance: Balancing cache size and update cost of flash memory cache in hybrid storage systems. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. H. Park, J. Kim, J. Choi, D. Lee, and S. H. Noh. 2015. Incremental redundancy to reduce data retention errors in flash-based SSDs. In Proceedings of the IEEE 31st Symposium on Mass Storage Systems and Technologies (MSST’15).Google ScholarGoogle Scholar
  39. Ki-Tae Park, Myounggon Kang, Doogon Kim, Soon-Wook Hwang, Byung Yong Choi, Yeong-Taek Lee, Changhyun Kim, and Kinam Kim. 2008. A zeroing cell-to-cell interference page architecture with temporary LSB storing and parallel MSB program scheme for MLC NAND flash memories. IEEE Journal of Solid-State Circuits 43, 4, 919--928.Google ScholarGoogle ScholarCross RefCross Ref
  40. R. L. Rivest and A. Shamir. 1982. How to reuse a write-once memory. Information and Control 55, 1--3, 1--19.Google ScholarGoogle ScholarCross RefCross Ref
  41. Mastooreh Salajegheh, Yue Wang, Kevin Fu, Anxiao Jiang, and Erik Learned-Miller. 2011. Exploiting half-wits: Smarter storage for low-power devices. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies (FAST’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Mohit Saxena, Michael M. Swift, and Yiying Zhang. 2012. FlashTier: A lightweight, consistent and durable storage cache. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Amir Shpilka. 2013. New constructions of WOM codes using the Wozencraft ensemble. IEEE Transactions on Information Theory 59, 7, 4520--4529. http://dblp.uni-trier.de/db/journals/tit/tit59.html#Shpilka13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Amir Shpilka. 2014. Capacity achieving multiwrite WOM codes. IEEE Transactions on Information Theory 60, 3, 1481--1487. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Kent Smith. 2013. Understanding SSD over-provisioning. EDN Network. Retrieved January 28, 2018, from http://www.edn.com/design/systems-design/4404566/1/Understanding-SSD-over-provisioning.Google ScholarGoogle Scholar
  46. Gokul Soundararajan, Vijayan Prabhakaran, Mahesh Balakrishnan, and Ted Wobber. 2010. Extending SSD lifetimes with disk-based write caches. In Proceedings of the 8th USENIX Conference on File and Storage Technologies (FAST’10). Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Radu Stoica and Anastasia Ailamaki. 2013. Improving flash write performance by using update frequency. Proceedings of the VLDB Endowment 6, 9, 733--744. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. E. Yaakobi, L. Grupp, P. H. Siegel, S. Swanson, and J. K. Wolf. 2012a. Characterization and error-correcting codes for TLC flash memories. In Proceedings of the International Conference on Computing, Networking, and Communications (ICNC’12).Google ScholarGoogle Scholar
  49. Eitan Yaakobi, Scott Kayser, Paul H. Siegel, Alexander Vardy, and Jack K. Wolf. 2012b. Codes for write-once memories. IEEE Transactions on Information Theory 58, 9, 5985--5999. http://dblp.uni-trier.de/db/journals/tit/tit58.html#YaakobiKSVW12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Eitan Yaakobi, Jing Ma, Laura Grupp, Paul H. Siegel, Steven Swanson, and Jack K. Wolf. 2010. Error characterization and coding schemes for flash memories. In Proceedings of the IEEE GLOBECOM Workshops (GC Wkshps’10).Google ScholarGoogle Scholar
  51. Eitan Yaakobi, Alexander Yucovich, Gal Maor, and Gala Yadgar. 2015. When do WOM codes improve the erasure factor in flash memories? In Proceedings of the IEEE International Symposium on Information Theory (ISIT’15).Google ScholarGoogle ScholarCross RefCross Ref
  52. Gala Yadgar and Moshe Gabel. 2016. Avoiding the streetlight effect: I/O workload analysis with SSDs in mind. In Proceedings of the 8th USENIX Conference on Hot Topics in Storage and File Systems (HotStorage’16). Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Gala Yadgar, Roman Shor, Eitan Yaakobi, and Assaf Schuster. 2015a. It’s not where your data is, it’s how it got there. In Proceedings of the 7th USENIX Conference on Hot Topics in Storage and File Systems (HotStorage’15). Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Gala Yadgar, Eitan Yaakobi, and Assaf Schuster. 2015b. 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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Gala Yadgar, Alexander Yucovich, Hila Arobas, Eitan Yaakobi, Yue Li, Fabio Margaglia, André Brinkmann, and Assaf Schuster. 2016. Limitations on MLC Flash Page Reuse and Its Effects on Durability. Technical Report CS-2016-02. Computer Science Department, Technion.Google ScholarGoogle Scholar
  56. Jingpei Yang, Ned Plasson, Greg Gillis, and Nisha Talagala. 2013. HEC: Improving endurance of high performance flash-based cache devices. In Proceedings of the 6th International Systems and Storage Conference (SYSTOR’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Kai Zhao, Wenzhe Zhao, Hongbin Sun, Xiaodong Zhang, Nanning Zheng, and Tong Zhang. 2013. LDPC-in-SSD: Making advanced error correction codes work effectively in solid state drives. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST’13). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An Analysis of Flash Page Reuse With WOM 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 14, Issue 1
          Special Issue on NVM and Storage
          February 2018
          237 pages
          ISSN:1553-3077
          EISSN:1553-3093
          DOI:10.1145/3190860
          • Editor:
          • Sam H. Noh
          Issue’s Table of Contents

          Copyright © 2018 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 26 February 2018
          • Accepted: 1 January 2018
          • Revised: 1 September 2017
          • Received: 1 February 2017
          Published in tos Volume 14, Issue 1

          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!