skip to main content
research-article

Approximate Storage in Solid-State Memories

Published:23 September 2014Publication History
Skip Abstract Section

Abstract

Memories today expose an all-or-nothing correctness model that incurs significant costs in performance, energy, area, and design complexity. But not all applications need high-precision storage for all of their data structures all of the time. This article proposes mechanisms that enable applications to store data approximately and shows that doing so can improve the performance, lifetime, or density of solid-state memories. We propose two mechanisms. The first allows errors in multilevel cells by reducing the number of programming pulses used to write them. The second mechanism mitigates wear-out failures and extends memory endurance by mapping approximate data onto blocks that have exhausted their hardware error correction resources. Simulations show that reduced-precision writes in multilevel phase-change memory cells can be 1.7 × faster on average and using failed blocks can improve array lifetime by 23% on average with quality loss under 10%.

References

  1. K. Bache and M. Lichman. 2013. UCI Machine Learning Repository. Retrieved from http://archive.ics.uci.edu/ml.Google ScholarGoogle Scholar
  2. Woongki Baek and Trishul M. Chilimbi. 2010. Green: A framework for supporting energy-conscious programming using controlled approximation. In PLDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Braga, A. Sanasi, A. Cabrini, and G. Torelli. 2010. Voltage-driven partial-RESET multilevel programming in phase-change memories. IEEE Transactions on Electron Devices 57, 10 (2010), 2556-- 2563.Google ScholarGoogle ScholarCross RefCross Ref
  4. Yu Cai, E. F. Haratsch, O. Mutlu, and Ken Mai. 2012. Error patterns in MLC NAND flash memory: Measurement, characterization, and analysis. In DATE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Michael Carbin, Deokhwan Kim, Sasa Misailovic, and Martin C. Rinard. 2012. Reasoning about relaxed Programs. In PLDI.Google ScholarGoogle Scholar
  6. Michael Carbin, Sasa Misailovic, and Martin C. Rinard. 2013. Verifying quantitative reliability for programs that execute on unreliable hardware. In OOPSLA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Adrian M. Caulfield, Arup De, Joel Coburn, Todor I. Mollow, Rajesh K. Gupta, and Steven Swanson. 2010. Moneta: A high-performance storage array architecture for next-generation, non-volatile memories. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Lakshmi N. Chakrapani, Bilge E. S. Akgul, Suresh Cheemalavagu, Pinar Korkmaz, Krishna V. Palem, and Balasubramanian Seshasayee. 2006. Ultra-efficient (embedded) SOC architectures based on probabilistic CMOS (PCMOS) technology. In DATE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ik Joon Chang, D. Mohapatra, and K. Roy. 2011. A priority-based 6T/8T hybrid SRAM architecture for aggressive voltage scaling in video applications. IEEE Transactions on Circuits and Systems for Video Technology 21, 2 (2011), 101--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Vijay Chidambaram, Thanumalayan Sankaranarayana Pillai, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2013. Optimistic crash consistency. In SOSP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Joel Coburn, Adrian M. Caulfield, Ameen Akel, Laura M. Grupp, Rajesh K. Gupta, Ranjit Jhala, and Steven Swanson. 2011. NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memories. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Rodolfo Jardim de Azevedo, John D. Davis, Karin Strauss, Parikshit Gopalan, Mark Manasse, and Sergey Yekhanin. 2013. Zombie: Extending memory lifetime by reviving dead blocks. In ISCA.Google ScholarGoogle Scholar
  13. Marc de Kruijf, Shuou Nomura, and Karthikeyan Sankaralingam. 2010. Relax: An architectural framework for software recovery of hardware faults. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Xiangyu Dong and Yuan Xie. 2011. AdaMS: Adaptive MLC/SLC phase-change memory design for file storage. In Asia and South Pacific Design Automation Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Hadi Esmaeilzadeh, Adrian Sampson, Luis Ceze, and Doug Burger. 2012a. Architecture support for disciplined approximate programming. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Hadi Esmaeilzadeh, Adrian Sampson, Luis Ceze, and Doug Burger. 2012b. Neural acceleration for general-purpose approximate programs. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Andrew Hay, Karin Strauss, Timothy Sherwood, Gabriel H. Loh, and Doug Burger. 2011. Preventing PCM banks from seizing too much power. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Henry Hoffmann, Stelios Sidiroglou, Michael Carbin, Sasa Misailovic, Anant Agarwal, and Martin Rinard. 2011. Dynamic knobs for responsive power-aware computing. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Daniel E. Holcomb and Kevin Fu. 2014. QBF-based synthesis of optimal word-splitting in approximate multi-level storage cells. In Workshop on Approximate Computing Across the System Stack (WACAS).Google ScholarGoogle Scholar
  20. Engin Ipek, Jeremy Condit, Edmund B. Nightingale, Doug Burger, and Thomas Moscibroda. 2010. Dynamically replicated memory: Building reliable systems from nanoscale resistive memories. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lei Jiang, Bo Zhao, Youtao Zhang, Jun Yang, and Bruce R. Childers. 2012. Improving write operations in MLC phase change memory. In HPCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Animesh Kumar, Jan Rabaey, and Kannan Ramchandran. 2009. SRAM supply voltage scaling: A reliability perspective. In International Symposium on Quality of Electronic Design. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Benjamin C. Lee, Engin Ipek, Onur Mutlu, and Doug Burger. 2009. Architecting phase change memory as a scalable DRAM alternative. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Larkhoon Leem, Hyungmin Cho, Jason Bau, Quinn A. Jacobson, and Subhasish Mitra. 2010. ERSA: Error resilient system architecture for probabilistic applications. In DATE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Ren-Shuo Liu, Chia-Lin Yang, and Wei Wu. 2012. Optimizing NAND flash-based SSDs via retention relaxation. In FAST. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Song Liu, Karthik Pattabiraman, Thomas Moscibroda, and Benjamin G. Zorn. 2011. Flikker: Saving DRAM refresh-power through critical data partitioning. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. N. Mielke, T. Marquart, Ning Wu, J. Kessenich, H. Belgal, E. Schares, F. Trivedi, E. Goodness, and L. R. Nevill. 2008. Bit error rate in NAND Flash memories. In International Reliability Physics Symposium.Google ScholarGoogle Scholar
  28. Sriram Narayanan, John Sartori, Rakesh Kumar, and Douglas L. Jones. 2010. Scalable stochastic processors. In DATE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. T. Nirschl, J. B. Phipp, T. D. Happ, G. W. Burr, B. Rajendran, M.-H. Lee, A. Schrott, M. Yang, M. Breitwisch, C.-F. Chen, E. Joseph, M. Lamorey, R. Cheek, S.-H. Chen, S. Zaidi, S. Raoux, Y. C. Chen, Y. Zhu, R. Bergmann, H.-L. Lung, and C. Lam. 2007. Write strategies for 2 and 4-bit multi-level phase-change memory. In IEDM.Google ScholarGoogle Scholar
  30. A. Pantazi, A. Sebastian, N. Papandreou, M. J. Breitwisch, C. Lam, H. Pozidis, and E. Eleftheriou. 2009. Multilevel phase change memory modeling and experimental characterization. In EPCOS.Google ScholarGoogle Scholar
  31. N. Papandreou, A. Pantazi, A. Sebastian, M. Breitwisch, C. Lam, H. Pozidis, and E. Eleftheriou. 2010. Multilevel phase-change memory. In IEEE International Conference on Electronics, Circuits, and Systems.Google ScholarGoogle Scholar
  32. N. Papandreou, H. Pozidis, T. Mittelholzer, G. F. Close, M. Breitwisch, C. Lam, and E. Eleftheriou. 2011a. Drift-tolerant multilevel phase-change memory. In IEEE International Memory Workshop.Google ScholarGoogle Scholar
  33. N. Papandreou, H. Pozidis, A. Pantazi, A. Sebastian, M. Breitwisch, C. Lam, and E. Eleftheriou. 2011b. Programming algorithms for multilevel phase-change memory. In ISCAS. 329--332.Google ScholarGoogle Scholar
  34. Steven Pelley, Peter M. Chen, and Thomas F. Wenisch. 2014. Memory persistency. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Eduardo Pinheiro, Wolf-Dietrich Weber, and Luiz André Barroso. 2007. Failure trends in a large disk drive population. In FAST. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. H. Pozidis, N. Papandreou, A. Sebastian, T. Mittelholzer, M. BrightSky, C. Lam, and E. Eleftheriou. 2012. A framework for reliability assessment in multilevel phase-change memory. In IEEE International Memory Workshop.Google ScholarGoogle Scholar
  37. Moinuddin K. Qureshi. 2011. Pay-as-you-go: Low-overhead hard-error correction for phase change memories. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Moinuddin K. Qureshi, Michele M. Franceschini, Luis A. Lastras-Montaño, and John P. Karidis. 2010b. Morphable memory system: A robust architecture for exploiting multi-level phase change memories. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. M. K. Qureshi, M. M. Franceschini, and L. A. Lastras-Montano. 2010a. Improving read performance of phase change memories via write cancellation and write pausing. In HPCA.Google ScholarGoogle Scholar
  40. Moinuddin K. Qureshi, Vijayalakshmi Srinivasan, and Jude A. Rivers. 2009. Scalable high performance main memory system using phase-change memory technology. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Mastooreh Salajegheh, Yue Wang, Kevin Fu, Anxiao Jiang, and Erik Learned-Miller. 2011. Exploiting half-wits: Smarter storage for low-power devices. In FAST. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Adrian Sampson, Werner Dietl, Emily Fortuna, Danushen Gnanapragasam, Luis Ceze, and Dan Grossman. 2011. EnerJ: Approximate data types for safe and general low-power computation. In PLDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Adrian Sampson, Jacob Nelson, Karin Strauss, and Luis Ceze. 2013. Approximate storage in solid-state memories. In MICRO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Stuart Schechter, Gabriel H. Loh, Karin Strauss, and Doug Burger. 2010. Use ECP, not ECC, for hard failures in resistive memories. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Bianca Schroeder and Garth A. Gibson. 2007. Disk failures in the real world: What does an MTTF of 1,000,000 hours mean to you? In FAST. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Nak Hee Seong, Dong Hyuk Woo, V. Srinivasan, J. A. Rivers, and H.-H.S. Lee. 2010. SAFER: Stuck-at-fault error recovery for memories. In MICRO.Google ScholarGoogle Scholar
  47. Stelios Sidiroglou-Douskos, Sasa Misailovic, Henry Hoffmann, and Martin Rinard. 2011. Managing performance vs. accuracy trade-offs with loop perforation. In FSE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Kang-Deog Suh, Byung-Hoon Suh, Young-Ho Lim, Jin-Ki Kim, Young-Joon Choi, Yong-Nam Koh, Sung-Soo Lee, Suk-Chon Kwon, Byung-Soon Choi, Jin-Sun Yum, Jung-Hyuk Choi, Jang-Rae Kim, and Hyung-Kyu Lim. 1995. A 3.3 V 32 Mb NAND flash memory with incremental step pulse programming scheme. IEEE Journal of Solid-State Circuits 30, 11 (1995), 1149--1156.Google ScholarGoogle ScholarCross RefCross Ref
  49. K. Takeuchi, T. Tanaka, and T. Tanzawa. 1998. A multipage cell architecture for high-speed programming multilevel NAND flash memories. IEEE Journal of Solid-State Circuits 33, 8 (1998), 1228--1238.Google ScholarGoogle ScholarCross RefCross Ref
  50. Hung-Wei Tseng, Laura M. Grupp, and Steven Swanson. 2013. Underpowering NAND flash: Profits and perils. In DAC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Haris Volos, Andres Jaan Tack, and Michael M. Swift. 2011. Mnemosyne: Lightweight persistent memory. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Sungkap Yeo, Nak Hee Seong, and Hsien-Hsin S. Lee. 2012. Can multi-level cell PCM be reliable and usable? Analyzing the impact of resistance drift. In Workshop on Duplicating, Deconstructing and Debunking.Google ScholarGoogle Scholar
  53. Ping Zhou, Bo Zhao, Jun Yang, and Youtao Zhang. 2009. A durable and energy efficient main memory using phase change memory technology. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Approximate Storage in Solid-State Memories

    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 Computer Systems
      ACM Transactions on Computer Systems  Volume 32, Issue 3
      September 2014
      76 pages
      ISSN:0734-2071
      EISSN:1557-7333
      DOI:10.1145/2666140
      Issue’s Table of Contents

      Copyright © 2014 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 23 September 2014
      • Accepted: 1 July 2014
      • Received: 1 May 2014
      Published in tocs Volume 32, Issue 3

      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!