VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
Abstract
Der Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
Objective
DRAM is predominantly used to build the main memory systems of modern computing devices. To improve the performance, reliability, and security of DRAM, it is critical to perform experimental characterization and analysis of existing cutting-edge DRAM chips. DRAM Bender is an FPGA-based DRAM testing infrastructure that enables the programmer to perform all low-level DRAM operations (i.e., DDR commands) in a cycle-accurate manner. DRAM Bender provides a simple and intuitive high-level programming interface (in C++ and Python) that completely hides the low-level details of the FPGA from programmers. Programmers implement test routines in C++, and the test routines automatically get translated into the low-level memory controller operations in the FPGA. DRAM Bender developers write low-level hardware description language code to enable new and faster studies. In this P&S, you will have the chance to learn how DRAM is organized and operates in a low-level and gain practical experience in using DRAM Bender while developing SoftMC programs for new DRAM characterization studies related to performance, reliability, and security. You may also improve the FPGA-based testing infrastructure itself to enable new studies. And, who knows, you might discover new security vulnerabilities like RowHammer and RowPress. This will be the right P&S for you if you are interested in DRAM technology and would like to learn more about it as well as FPGA technology and how it can be used for practical purposes such as understanding and mitigating RowHammer attacks, generating true random numbers, reducing memory latency, fingerprinting and identifying devices, and improving reliability. The course is conducted in English. Course website: https://safari.ethz.ch/projects_and_seminars/doku.php?id=softmc
Resources
Lecture Notes
See:https://safari.ethz.ch/projects_and_seminars/doku.php?id=softmc
Literature
Learning Materials: =================== - DRAM Bender open source repository: https://github.com/CMU-SAFARI/DRAM-Bender - DRAM Bender description: https://arxiv.org/pdf/2211.05838.pdf - An old version (SoftMC) of DRAM Bender is here: https://github.com/CMU-SAFARI/SoftMC - SoftMC description: https://people.inf.ethz.ch/omutlu/pub/softMC_hpca17.pdf - SoftMC lecture: https://www.youtube.com/watch?v=tnSPEP3t-Ys - Example RowHammer study using SoftMC: https://people.inf.ethz.ch/omutlu/pub/Revisiting-RowHammer_isca20.pdf - Example security attack study using SoftMC: Link - Example neural network acceleration study using SoftMC: Link - Example random number generation study using SoftMC: Link - Example physical unclonable function study using SoftMC: https://people.inf.ethz.ch/omutlu/pub/dram-latency-puf_hpca18.pdf - The original RowHammer study using SoftMC: https://people.inf.ethz.ch/omutlu/pub/dram-row-hammer_isca14.pdf English translation