skip to main content
research-article

Flipping bits in memory without accessing them: an experimental study of DRAM disturbance errors

Published:14 June 2014Publication History
Skip Abstract Section

Abstract

Memory isolation is a key property of a reliable and secure computing system--an access to one memory address should not have unintended side effects on data stored in other addresses. However, as DRAM process technology scales down to smaller dimensions, it becomes more difficult to prevent DRAM cells from electrically interacting with each other. In this paper, we expose the vulnerability of commodity DRAM chips to disturbance errors. By reading from the same address in DRAM, we show that it is possible to corrupt data in nearby addresses. More specifically, activating the same row in DRAM corrupts data in nearby rows. We demonstrate this phenomenon on Intel and AMD systems using a malicious program that generates many DRAM accesses. We induce errors in most DRAM modules (110 out of 129) from three major DRAM manufacturers. From this we conclude that many deployed systems are likely to be at risk. We identify the root cause of disturbance errors as the repeated toggling of a DRAM row's wordline, which stresses inter-cell coupling effects that accelerate charge leakage from nearby rows. We provide an extensive characterization study of disturbance errors and their behavior using an FPGA-based testing platform. Among our key findings, we show that (i) it takes as few as 139K accesses to induce an error and (ii) up to one in every 1.7K cells is susceptible to errors. After examining various potential ways of addressing the problem, we propose a low-overhead solution to prevent the errors

References

  1. Memtest86+ v4.20. http://www.memtest.org.Google ScholarGoogle Scholar
  2. The GNU GRUB Manual. http://www.gnu.org/software/grub.Google ScholarGoogle Scholar
  3. Z. Al-Ars. DRAM Fault Analaysis and Test Generation. PhD thesis, TU Delft, 2005.Google ScholarGoogle Scholar
  4. Z. Al-Ars et al. DRAM-Specific Space of Memory Tests. In ITC, 2006.Google ScholarGoogle Scholar
  5. AMD. BKDG for AMD Family 15h Models 10h-1Fh Processors, 2013.Google ScholarGoogle Scholar
  6. K. Bains et al. Method, Apparatus and System for Providing a Memory Refresh. US Patent App. 13/625,741, Mar. 27 2014.Google ScholarGoogle Scholar
  7. K. Bains et al. Row Hammer Refresh Command. US Patent App. 13/539,415, Jan. 2 2014.Google ScholarGoogle Scholar
  8. K. Bains et al. Row Hammer Refresh Command. US Patent App. 14/068,677, Feb. 27 2014.Google ScholarGoogle Scholar
  9. K. Bains and J. Halbert. Distributed Row Hammer Tracking. US Patent App. 13/631,781, Apr. 3 2014.Google ScholarGoogle Scholar
  10. R. Bez et al. Introduction to Flash Memory. Proc. of the IEEE, 91(4), 2003.Google ScholarGoogle ScholarCross RefCross Ref
  11. B. H. Bloom. Space/Time Trade-offs in Hash Coding with Allowable Errors. Communications of the ACM, 13(7), 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Y. Cai et al. Error Patterns in MLC NAND Flash Memory: Measurement, Characterization, and Analysis. In DATE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Y. Cai et al. Program Interference in MLC NAND Flash Memory: Characterization, Modeling and Mitigation. In ICCD, 2013.Google ScholarGoogle Scholar
  14. S. Y. Cha. DRAM and Future Commodity Memories. In VLSI Technology Short Course, 2011.Google ScholarGoogle Scholar
  15. M.-T. Chao et al. Fault Models for Embedded-DRAM Macros. In DAC, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Q. Chen et al. Modeling and Testing of SRAM for New Failure Mechanisms Due to Process Variations in Nanoscale CMOS. In VLSI Test Symposium, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P.-F. Chia et al. New DRAM HCI Qualification Method Emphasizing on Repeated Memory Access. In Integrated Reliability Workshop, 2010.Google ScholarGoogle Scholar
  18. S. Cohen and Y. Matias. Spectral Bloom Filters. In SIGMOD, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Cooke. The Inconvenient Truths of NAND Flash Memory. In Flash Memory Summit, 2007.Google ScholarGoogle Scholar
  20. DRAMeXchange. TrendForce: 3Q13 Global DRAM Revenue Rises by 9%, Samsung Shows Most Noticeable Growth, Nov. 12, 2013.Google ScholarGoogle Scholar
  21. L. Fan et al. Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol. Transactions on Networking, 8(3), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. A. Fifield and H. L. Kalter. Crosstalk-Shielded-Bit-Line DRAM. US Patent 5,010,524, Apr. 23, 1991.Google ScholarGoogle Scholar
  23. Z. Greenfield et al. Method, Apparatus and System for Determining a Count of Accesses to a Row of Memory. US Patent App. 13/626,479, Mar. 27 2014.Google ScholarGoogle Scholar
  24. Z. Greenfield et al. Row Hammer Condition Monitoring. US Patent App. 13/539,417, Jan. 2, 2014.Google ScholarGoogle Scholar
  25. L. M. Grupp et al. Characterizing Flash Memory: Anomalies, Observations, and Applications. In MICRO, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Z. Guo et al. Large-Scale SRAM Variability Characterization in 45 nm CMOS. JSSC, 44(11), 2009.Google ScholarGoogle Scholar
  27. D. Henderson and J. Mitchell. IBM POWER7 System RAS, Dec. 2012.Google ScholarGoogle Scholar
  28. M. Horiguchi and K. Itoh. Nanoscale Memory Repair. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. R.-F. Huang et al. Alternate Hammering Test for Application-Specific DRAMs and an Industrial Case Study. In DAC, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Intel. Intel 64 and IA-32 Architectures Optimization Reference Manual, 2012.Google ScholarGoogle Scholar
  31. Intel. 4th Generation Intel Core Processor Family Desktop Datasheet, 2013.Google ScholarGoogle Scholar
  32. K. Itoh. Semiconductor Memory. US Patent 4,044,340, Apr. 23, 1977.Google ScholarGoogle Scholar
  33. JEDEC. Standard No. 21C. Annex K: Serial Presence Detect (SPD) for DDR3 SDRAM Modules, Aug. 2012.Google ScholarGoogle Scholar
  34. JEDEC. Standard No. 79--3F. DDR3 SDRAM Specification, July 2012.Google ScholarGoogle Scholar
  35. M. K. Jeong et al. Balancing DRAM Locality and Parallelism in Shared Memory CMP Systems. In HPCA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. W. Jiang et al. Cross-Track Noise Profile Measurement for Adjacent-Track Interference Study and Write-Current Optimization in Perpendicular Recording. Journal of Applied Physics, 93(10), 2003.Google ScholarGoogle ScholarCross RefCross Ref
  37. R. M. Karp et al. A Simple Algorithm for Finding Frequent Elements in Streams and Bags. Transactions on Database Systems, 28(1), 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. B. Keeth et al. DRAM Circuit Design. Fundamental and High-Speed Topics. Wiley-IEEE Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. S. Khan et al. The Efficacy of Error Mitigation Techniques for DRAM Retention Failures: A Comparative Experimental Study. In SIGMETRICS, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. D. Kim et al. Variation-Aware Static and Dynamic Writability Analysis for Voltage-Scaled Bit-Interleaved 8-T SRAMs. In ISLPED, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Y. Kim et al. A Case for Exploiting Subarray-Level Parallelism (SALP) in DRAM. In ISCA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Y. Konishi et al. Analysis of Coupling Noise between Adjacent Bit Lines in Megabit DRAMs. JSSC, 24(1), 1989.Google ScholarGoogle Scholar
  43. D. Lee et al. Tiered-Latency DRAM: A Low Latency and Low Cost DRAM Architecture. In HPCA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. J. Liu et al. RAIDR: Retention-Aware Intelligent DRAM Refresh. In ISCA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. J. Liu et al. An Experimental Study of Data Retention Behavior in Modern DRAM Devices: Implications for Retention Time Profiling Mechanisms. In ISCA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. L. Liu et al. A Software Memory Partition Approach for Eliminating Bank-level Interference in Multicore Systems. In PACT, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. J. A. Mandelman et al. Challenges and Future Directions for the Scaling of Dynamic Random-Access Memory (DRAM). IBM Journal of R&D, 46(2.3), 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. M. Micheletti. Tuning DDR4 for Power and Performance. In MemCon, 2013.Google ScholarGoogle Scholar
  49. D.-S. Min et al. Wordline Coupling Noise Reduction Techniques for Scaled DRAMs. In Symposium on VLSI Circuits, 1990.Google ScholarGoogle Scholar
  50. R. Morris. Counting Large Numbers of Events in Small Registers. Communications of the ACM, 21(10), 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. O. Mutlu. Memory Scaling: A Systems Architecture Perspective. In MemCon, 2013.Google ScholarGoogle Scholar
  52. P. J. Nair et al. ArchShield: Architectural Framework for Assisting DRAM Scaling by Tolerating High Error Rates. In ISCA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. C. Nibby et al. Remap Method and Apparatus for a Memory System Which Uses Partially Good Memory Devices. US Patent 4,527,251, July 2 1985.Google ScholarGoogle Scholar
  54. E. Pinheiro et al. Failure Trends in a Large Disk Drive Population. In FAST, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. M. Redeker et al. An Investigation into Crosstalk Noise in DRAM Structures. In MTDT, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. K. Roy et al. Leakage Current Mechanisms and Leakage Reduction Techniques in Deep-Submicrometer CMOS Circuits. Proc. of the IEEE, 91(2), 2003.Google ScholarGoogle ScholarCross RefCross Ref
  57. K. Saino et al. Impact of Gate-Induced Drain Leakage Current on the Tail Distribution of DRAM Data Retention Time. In IEDM, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  58. J. H. Saltzer and M. F. Kaashoek. Principles of Computer Design: An Introduction. Chapter 8, p. 58. Morgan Kaufmann, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. B. Schroeder and G. A. Gibson. Disk Failures in the Real World: What Does an MTTF of 1,000,000 Hours Mean to You? In FAST, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. N. Suzuki et al. Coordinated Bank and Cache Coloring for Temporal Protection of Memory Accesses. In ICESS, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. A. Tanabe et al. A 30-ns 64-Mb DRAM with Built-In Self-Test and Self-Repair Function. JSSC, 27(11), 1992.Google ScholarGoogle Scholar
  62. D. Tang et al. Assessment of the Effect of Memory Page Retirement on System RAS Against Hardware Faults. In DSN, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Y. Tang et al. Understanding Adjacent Track Erasure in Discrete Track Media. Transactions on Magnetics, 44(12), 2008.Google ScholarGoogle Scholar
  64. A. J. van de Goor and J. de Neef. Industrial Evaluation of DRAM Tests. In DATE, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. A. J. van de Goor and I. Schanstra. Address and Data Scrambling: Causes and Impact on Memory Tests. In DELTA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. B. Van Durme and A. Lall. Probabilistic Counting with Randomized Storage. In IJCAI, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. R. Venkatesan et al. Retention-Aware Placement in DRAM (RAPID): Software Methods for Quasi-Non-Volatile DRAM. In HPCA, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  68. R. Wood et al. The Feasibility of Magnetic Recording at 10 Terabits Per Square Inch on Conventional Media. Transactions on Magnetics, 45(2), 2009.Google ScholarGoogle ScholarCross RefCross Ref
  69. Xilinx. Virtex-6 FPGA Integrated Block for PCI Express, Mar. 2011.Google ScholarGoogle Scholar
  70. Xilinx. ML605 Hardware User Guide, Oct. 2012.Google ScholarGoogle Scholar
  71. Xilinx. Virtex-6 FPGA Memory Interface Solutions, Mar. 2013.Google ScholarGoogle Scholar
  72. J. H. Yoon et al. Flash & DRAM Si Scaling Challenges, Emerging Non-Volatile Memory Technology Enablement. In Flash Memory Summit, 2013.Google ScholarGoogle Scholar
  73. T. Yoshihara et al. A Twisted Bit Line Technique for Multi-Mb DRAMs. In ISSCC, 1988.Google ScholarGoogle ScholarCross RefCross Ref

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 SIGARCH Computer Architecture News
    ACM SIGARCH Computer Architecture News  Volume 42, Issue 3
    ISCA '14
    June 2014
    552 pages
    ISSN:0163-5964
    DOI:10.1145/2678373
    Issue’s Table of Contents
    • cover image ACM Conferences
      ISCA '14: Proceeding of the 41st annual international symposium on Computer architecuture
      June 2014
      566 pages
      ISBN:9781479943944

    Copyright © 2014 IEEE

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 14 June 2014

    Check for updates

    Qualifiers

    • research-article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader