skip to main content
10.1145/2540708.2540712acmconferencesArticle/Chapter ViewAbstractPublication PagesmicroConference Proceedingsconference-collections
research-article

Approximate storage in solid-state memories

Published: 07 December 2013 Publication History

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 paper 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 multi-level 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 multi-level phase-change memory cells can be 1.7x 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, "UCI machine learning repository," 2013. {Online}. Available: http://archive.ics.uci.edu/ml
[2]
W. Baek and T. M. Chilimbi, "Green: A framework for supporting energy-conscious programming using controlled approximation," in PLDI, 2010.
[3]
S. Braga, A. Sanasi, A. Cabrini, and G. Torelli, "Voltage-driven partial-RESET multilevel programming in phase-change memories," IEEE Transactions on Electron Devices, vol. 57, no. 10, pp. 2556--2563, 2010.
[4]
Y. Cai, E. Haratsch, O. Mutlu, and K. Mai, "Error patterns in MLC NAND flash memory: Measurement, characterization, and analysis," in DATE, 2012.
[5]
M. Carbin, D. Kim, S. Misailovic, and M. C. Rinard, "Reasoning about relaxed programs," in PLDI, 2012.
[6]
M. Carbin, S. Misailovic, and M. C. Rinard, "Verifying quantitative reliability for programs that execute on unreliable hardware," in OOPSLA, 2013.
[7]
A. M. Caulfield, A. De, J. Coburn, T. I. Mollow, R. K. Gupta, and S. Swanson, "Moneta: A high-performance storage array architecture for next-generation, non-volatile memories," in MICRO, 2010.
[8]
L. N. Chakrapani, B. E. S. Akgul, S. Cheemalavagu, P. Korkmaz, K. V. Palem, and B. Seshasayee, "Ultra-efficient (embedded) SOC architectures based on probabilistic CMOS (PCMOS) technology," in DATE, 2006.
[9]
I. J. Chang, D. Mohapatra, and K. Roy, "A priority-based 6T/8T hybrid SRAM architecture for aggressive voltage scaling in video applications," IEEE Transactions on Circuits and Systems for Video Technology, vol. 21, no. 2, pp. 101--112, 2011.
[10]
J. Coburn, A. M. Caulfield, A. Akel, L. M. Grupp, R. K. Gupta, R. Jhala, and S. Swanson, "NV-heaps: Making persistent objects fast and safe with next-generation, non-volatile memories," in ASPLOS, 2011.
[11]
R. J. de Azevedo, J. D. Davis, K. Strauss, P. Gopalan, M. Manasse, and S. Yekhanin, "Zombie: Extending memory lifetime by reviving dead blocks," in ISCA, 2013.
[12]
M. de Kruijf, S. Nomura, and K. Sankaralingam, "Relax: An architectural framework for software recovery of hardware faults," in ISCA, 2010.
[13]
X. Dong and Y. Xie, "AdaMS: Adaptive MLC/SLC phase-change memory design for file storage," in Asia and South Pacific Design Automation Conference, 2011.
[14]
H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger, "Architecture support for disciplined approximate programming," in ASPLOS, 2012.
[15]
H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger, "Neural acceleration for general-purpose approximate programs," in MICRO, 2012.
[16]
A. Hay, K. Strauss, T. Sherwood, G. H. Loh, and D. Burger, "Preventing PCM banks from seizing too much power," in MICRO, 2011.
[17]
H. Hoffmann, S. Sidiroglou, M. Carbin, S. Misailovic, A. Agarwal, and M. Rinard, "Dynamic knobs for responsive power-aware computing," in ASPLOS, 2011.
[18]
E. Ipek, J. Condit, E. B. Nightingale, D. Burger, and T. Moscibroda, "Dynamically replicated memory: Building reliable systems from nanoscale resistive memories," in ASPLOS, 2010.
[19]
L. Jiang, B. Zhao, Y. Zhang, J. Yang, and B. R. Childers, "Improving write operations in MLC phase change memory," in HPCA, 2012.
[20]
A. Kumar, J. Rabaey, and K. Ramchandran, "SRAM supply voltage scaling: A reliability perspective," in International Symposium on Quality of Electronic Design, 2009.
[21]
B. C. Lee, E. Ipek, O. Mutlu, and D. Burger, "Architecting phase change memory as a scalable DRAM alternative," in ISCA, 2009.
[22]
L. Leem, H. Cho, J. Bau, Q. A. Jacobson, and S. Mitra, "ERSA: Error resilient system architecture for probabilistic applications," in DATE, 2010.
[23]
R.-S. Liu, C.-L. Yang, and W. Wu, "Optimizing NAND flash-based SSDs via retention relaxation," in FAST, 2012.
[24]
S. Liu, K. Pattabiraman, T. Moscibroda, and B. G. Zorn, "Flikker: Saving DRAM refresh-power through critical data partitioning," in ASPLOS, 2011.
[25]
N. Mielke, T. Marquart, N. Wu, J. Kessenich, H. Belgal, E. Schares, F. Trivedi, E. Goodness, and L. Nevill, "Bit error rate in NAND flash memories," in International Reliability Physics Symposium, 2008.
[26]
S. Narayanan, J. Sartori, R. Kumar, and D. L. Jones, "Scalable stochastic processors," in DATE, 2010.
[27]
T. Nirschl, J. Phipp, T. Happ, G. 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. Chen, Y. Zhu, R. Bergmann, H.-L. Lung, and C. Lam, "Write strategies for 2 and 4-bit multi-level phase-change memory," in IEDM, 2007.
[28]
A. Pantazi, A. Sebastian, N. Papandreou, M. Breitwisch, C. Lam, H. Pozidis, and E. Eleftheriou, "Multilevel phase change memory modeling and experimental characterization," EPCOS, 2009.
[29]
N. Papandreou, A. Pantazi, A. Sebastian, M. Breitwisch, C. Lam, H. Pozidis, and E. Eleftheriou, "Multilevel phase-change memory," in IEEE International Conference on Electronics, Circuits, and Systems, 2010.
[30]
N. Papandreou, H. Pozidis, T. Mittelholzer, G. Close, M. Breitwisch, C. Lam, and E. Eleftheriou, "Drift-tolerant multilevel phase-change memory," in IEEE International Memory Workshop, 2011.
[31]
N. Papandreou, H. Pozidis, A. Pantazi, A. Sebastian, M. Breitwisch, C. Lam, and E. Eleftheriou, "Programming algorithms for multilevel phase-change memory," in ISCAS, 2011, pp. 329--332.
[32]
H. Pozidis, N. Papandreou, A. Sebastian, T. Mittelholzer, M. BrightSky, C. Lam, and E. Eleftheriou, "A framework for reliability assessment in multilevel phase-change memory," in IEEE International Memory Workshop, 2012.
[33]
M. K. Qureshi, M. M. Franceschini, and L. A. Lastras-Montano, "Improving read performance of phase change memories via write cancellation and write pausing," in HPCA, 2010.
[34]
M. K. Qureshi, "Pay-as-you-go: low-overhead hard-error correction for phase change memories," in MICRO, 2011.
[35]
M. K. Qureshi, M. M. Franceschini, L. A. Lastras-Montaño, and J. P. Karidis, "Morphable memory system: A robust architecture for exploiting multi-level phase change memories," in ISCA, 2010.
[36]
M. K. Qureshi, V. Srinivasan, and J. A. Rivers, "Scalable high performance main memory system using phase-change memory technology," in ISCA, 2009.
[37]
M. Salajegheh, Y. Wang, K. Fu, A. Jiang, and E. Learned-Miller, "Exploiting half-wits: Smarter storage for low-power devices," in FAST, 2011.
[38]
A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman, "EnerJ: Approximate data types for safe and general low-power computation," in PLDI, 2011.
[39]
S. Schechter, G. H. Loh, K. Strauss, and D. Burger, "Use ECP, not ECC, for hard failures in resistive memories," in ISCA, 2010.
[40]
N. H. Seong, D. H. Woo, V. Srinivasan, J. Rivers, and H.-H. Lee, "SAFER: Stuck-at-fault error recovery for memories," in MICRO, 2010.
[41]
S. Sidiroglou-Douskos, S. Misailovic, H. Hoffmann, and M. Rinard, "Managing performance vs. accuracy trade-offs with loop perforation," in FSE, 2011.
[42]
K.-D. Suh, B.-H. Suh, Y.-H. Lim, J.-K. Kim, Y.-J. Choi, Y.-N. Koh, S.-S. Lee, S.-C. Kwon, B.-S. Choi, J.-S. Yum, J.-H. Choi, J.-R. Kim, and H.-K. Lim, "A 3.3 V 32 Mb NAND flash memory with incremental step pulse programming scheme," IEEE Journal of Solid-State Circuits, vol. 30, no. 11, pp. 1149--1156, 1995.
[43]
K. Takeuchi, T. Tanaka, and T. Tanzawa, "A multipage cell architecture for high-speed programming multilevel NAND flash memories," IEEE Journal of Solid-State Circuits, vol. 33, no. 8, pp. 1228--1238, 1998.
[44]
H.-W. Tseng, L. M. Grupp, and S. Swanson, "Underpowering NAND flash: Profits and perils," in DAC, 2013.
[45]
H. Volos, A. J. Tack, and M. M. Swift, "Mnemosyne: Lightweight persistent memory," in ASPLOS, 2011.
[46]
S. Yeo, N. H. Seong, and H.-H. S. Lee, "Can multi-level cell PCM be reliable and usable? Analyzing the impact of resistance drift," in Workshop on Duplicating, Deconstructing and Debunking, 2012.
[47]
P. Zhou, B. Zhao, J. Yang, and Y. Zhang, "A durable and energy efficient main memory using phase change memory technology," in ISCA, 2009.

Cited By

View all
  • (2024)Approximate Similarity-Aware Compression for Non-Volatile Main MemoryJournal of Computer Science and Technology10.1007/s11390-023-2565-739:1(63-81)Online publication date: 30-Jan-2024
  • (2023)Securing Approximate Computing Systems via Obfuscating Approximate-Precise BoundaryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.316826142:1(27-40)Online publication date: Jan-2023
  • (2023)Anwendung III: Design Space ExplorationAutomatisierte Analyse von virtuellen Prototypen auf der Ebene elektronischer Systeme10.1007/978-3-031-36997-1_6(135-165)Online publication date: 20-Sep-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MICRO-46: Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture
December 2013
498 pages
ISBN:9781450326384
DOI:10.1145/2540708
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 the author(s) 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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 December 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. approximate computing
  2. error tolerance
  3. phase-change memory
  4. storage

Qualifiers

  • Research-article

Funding Sources

Conference

MICRO-46
Sponsor:

Acceptance Rates

MICRO-46 Paper Acceptance Rate 39 of 239 submissions, 16%;
Overall Acceptance Rate 484 of 2,242 submissions, 22%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)3
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Approximate Similarity-Aware Compression for Non-Volatile Main MemoryJournal of Computer Science and Technology10.1007/s11390-023-2565-739:1(63-81)Online publication date: 30-Jan-2024
  • (2023)Securing Approximate Computing Systems via Obfuscating Approximate-Precise BoundaryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.316826142:1(27-40)Online publication date: Jan-2023
  • (2023)Anwendung III: Design Space ExplorationAutomatisierte Analyse von virtuellen Prototypen auf der Ebene elektronischer Systeme10.1007/978-3-031-36997-1_6(135-165)Online publication date: 20-Sep-2023
  • (2022)EXPRESS: Exploiting Energy–Accuracy Tradeoffs in 3D NAND Flash Memory for Energy-Efficient StorageElectronics10.3390/electronics1103042411:3(424)Online publication date: 30-Jan-2022
  • (2022)Approximator: A Software Tool for Automatic Generation of Approximate Arithmetic CircuitsComputers10.3390/computers1101001111:1(11)Online publication date: 8-Jan-2022
  • (2022)PaviseProceedings of the International Conference on Parallel Architectures and Compilation Techniques10.1145/3559009.3569662(109-123)Online publication date: 8-Oct-2022
  • (2022)Exploiting Uncorrectable Data Reuse for Performance Improvement of Flash MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.310031041:6(1785-1798)Online publication date: Jun-2022
  • (2022)ADS: Leveraging Approximate Data for Efficient Data Sanitization in SSDsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.310027441:6(1771-1784)Online publication date: Jun-2022
  • (2022)Approximate MRAM: High-performance and Power-efficient Computing with MRAM Chips for Error-tolerant ApplicationsIEEE Transactions on Computers10.1109/TC.2022.3174584(1-1)Online publication date: 2022
  • (2022)Approximate Memory with Protected Static Allocation2022 IEEE 34th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)10.1109/SBAC-PAD55451.2022.00016(51-59)Online publication date: Nov-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media