1 / 35

Hasan Hassan , Nandita Vijaykumar, Samira Khan, Saugata Ghose , Kevin Chang,

SoftMC is an FPGA-based DRAM testing infrastructure designed for characterizing, analyzing, and understanding DRAM cell behavior. It enables retention time distribution tests and latency reduction experiments, paving the way for improved DRAM reliability and performance. SoftMC offers a high-level view of memory characterization and is easily programmable using a C++ API, making it accessible to a wide range of users.

gclay
Download Presentation

Hasan Hassan , Nandita Vijaykumar, Samira Khan, Saugata Ghose , Kevin Chang,

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SoftMCA Flexible and Practical Open-Source Infrastructure for Enabling Experimental DRAM Studies Hasan Hassan, Nandita Vijaykumar, Samira Khan, SaugataGhose, Kevin Chang, Gennady Pekhimenko, Donghyuk Lee, OguzErgin, OnurMutlu

  2. Executive Summary • Two critical problems of DRAM: Reliability and Performance • Recently-discovered bug: RowHammer • Characterize, analyze, and understand DRAM cell behavior • We design and implement SoftMC, an FPGA-based DRAM testing infrastructure • Flexible and Easy to Use (C++ API) • Open-source (github.com/CMU-SAFARI/SoftMC) • We implement two use cases • A retention time distribution test • An experiment to validate two latency reduction mechanisms • SoftMC enables a wide range of studies

  3. Outline • DRAM Basics & Motivation • SoftMC • Use Cases • Retention Time Distribution Study • Evaluating Recently-Proposed Ideas • Future Research Directions • Conclusion

  4. DRAM Operations DRAM Cell DRAM Row Memory Bus CPU Memory Controller Precharge Read Activate Sense Amplifier

  5. DRAM Latency 0 (refresh) 64 ms Retention Time:The interval during which the data is retained correctly in the DRAM cell without accessing it DRAM Cell Sense Amplifier time Read Precharge Activate Activate Ready-to-access Latency Precharge Latency Activation Latency

  6. Latency vs. Reliability DRAM Cell Sense Amplifier time Read Precharge Activate Activate Violating latencies negatively affects DRAM reliability Ready-to-access Latency Precharge Latency Activation Latency

  7. Other Factors Affecting Reliability and Latency • Temperature • Voltage • Inter-cell Interference • Manufacturing Process • Retention Time • … To develop new mechanisms improving reliability and latency, we need to better understand the effects of these factors

  8. Characterizing DRAM Many of the factors affecting DRAM reliability and latency cannot be properly modeled We need to perform experimental studies of real DRAM chips

  9. Outline • DRAM Basics & Motivation • SoftMC • Use Cases • Retention Time Distribution Study • Evaluating Recently-Proposed Ideas • Future Research Directions • Conclusion

  10. Goals of a DRAM Testing Infrastructure • Flexibility • Ability to test any DRAM operation • Ability to test any combination of DRAM operations and custom timing parameters • Ease of use • Simple programming interface (C++) • Minimal programming effort and time • Accessible to a wide range of users • who may lack experience in hardware design

  11. SoftMC: High-level View FPGA-based memory characterization infrastructure Prototype using Xilinx ML605 Easily programmable using the C++ API

  12. SoftMC: Key Components 1. SoftMC API 2. PCIe Driver 3. SoftMC Hardware

  13. SoftMC API InstructionSequenceiseq; iseq.insert(genACT(bank, row)); iseq.insert(genWAIT(tRCD)); iseq.insert(genWR(bank, col, data)); iseq.insert(genWAIT(tCL + tBL + tWR)); iseq.insert(genPRE(bank)); iseq.insert(genWAIT(tRP)); iseq.insert(genEND()); iseq.execute(fpga); Writing data to DRAM: Instruction generator functions

  14. SoftMC: Key Components 1. SoftMC API 2. PCIe Driver* Communicates raw data with the FPGA 3. SoftMC Hardware * Jacobsen, Matthew, et al. "RIFFA 2.1: A reusable integration framework for FPGA accelerators." TRETS, 2015

  15. SoftMC Hardware Instruction Receiver DDR PHY Instructions DRAM Instruction Dispatcher Instruction Queue PCIe Controller Auto-refresh Controller Calibration Controller Host Machine Read Capture Data Wait (Ready-to-access Latency) Activate Read SoftMC Hardware (FPGA)

  16. Outline • DRAM Basics & Motivation • SoftMC • Use Cases • Retention Time Distribution Study • Evaluating Recently-Proposed Ideas • Future Research Directions • Conclusion

  17. Retention Time Distribution Study Observe Errors Read Back Increase the refresh interval Write Reference Data to a Row Wait (Refresh Interval) Can be implemented with just ~100 lines of code

  18. Retention Time Test: Results @ ~20⁰C (room temperature) Module A Module B Validates the correctness of the SoftMC Infrastructure Module C

  19. Outline • DRAM Basics & Motivation • SoftMC • Use Cases • Retention Time Distribution Study • Evaluating Recently-Proposed Ideas • Future Research Directions • Conclusion

  20. Accessing Highly-charged Cells Faster NUAT (Shin+, HPCA 2014) ChargeCache (Hassan+, HPCA 2016) A highly-charged cell can be accessed with low latency

  21. How a Highly-Charged Cell Is Accessed Faster? 0 (refresh) 64 ms DRAM Cell Sense Amplifier time Read Precharge Activate Activate Ready-to-access Latency Precharge Latency Activation Latency

  22. Ready-to-access Latency Test Lower cell charge Longer wait Shorter wait Higher cell charge Observe Errors Wait for the Wait Interval Read Back Write Reference Data Change the Wait Interval With custom ready-to-access latency parameter Can be implemented with just ~150 lines of code

  23. Ready-to-access Latency: Results Expected Curves Real Curves @ 80⁰C temperature We do not observe the expected latency reduction effect in existing DRAM chips

  24. Why Don’t We See the Latency Reduction Effect? • The memory controller cannot externally control when a sense amplifier gets enabled in existing DRAM chips Data 1 Ready to Access Charge Level Ready to Access Cell charge Data 0 Potential Reduction Enabling the Sense Amplifier Sense Amp Fixed Latency! time ACT R/W

  25. Outline • DRAM Basics & Motivation • SoftMC • Use Cases • Retention Time Distribution Study • Evaluating Recently-Proposed Ideas • Future Research Directions • Conclusion

  26. Future Research Directions • More Characterization of DRAM • How are the cell characteristics changing with different generations of technology nodes? • What types of usage accelerate aging? • Characterization of Non-volatile Memory • Extensions • Memory Scheduling • Workload Analysis • Testbed for in-memory Computation

  27. Outline • DRAM Basics & Motivation • SoftMC • Use Cases • Retention Time Distribution Study • Evaluating Recently-Proposed Ideas • Future Research Directions • Conclusion

  28. Conclusion • SoftMC: First publicly-available FPGA-based DRAM testing infrastructure • Flexible and Easy to Use • Implemented two use cases • Retention Time Distribution Study • Evaluation of two recently-proposed latency reduction mechanisms • SoftMC can enable many other studies, ideas, and methodologies in the design of future memory systems • Download our first prototype github.com/CMU-SAFARI/SoftMC

  29. SoftMCA Flexible and Practical Open-Source Infrastructure for Enabling Experimental DRAM Studies Hasan Hassan, Nandita Vijaykumar, Samira Khan, SaugataGhose, Kevin Chang, Gennady Pekhimenko, Donghyuk Lee, OguzErgin, OnurMutlu

  30. Backup Slides

  31. Key SoftMC Instructions

  32. SoftMC @ Github

  33. Ready-to-Access Latency Test Results Module B Module A Module C

  34. Activation Latency Test With low activation latency parameter ACT-PRE Write Reference Data Wait for the Wait Interval Wait for the Wait Interval Observe Errors Read Back Change the wait interval

  35. Activation Latency Test Results Module B Module A Module C

More Related