User Tools

Site Tools


softmc

Understanding and Improving Modern DRAM Performance, Reliability, and Security with Hands-On Experiments

Course Description

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.

SoftMC 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. SoftMC provides a simple and intuitive high-level programming interface (in C++) 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 SoftMC memory controller operations in the FPGA. SoftMC 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 SoftMC while developing SoftMC programs for new DRAM characterization studies related to performance, reliability, and security. You may also improve the SoftMC infrastructure itself to enable new studies. And, who knows, you might discover new security vulnerabilities like RowHammer.

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.

Prerequisites of the course:

  • Digital Design and Computer Architecture (or equivalent course)
  • Familiarity with FPGA programming
  • Interest in low-level hacking and memory
  • Interest in discovering why things do or do not work and solving problems

The course is conducted in English.

Course description page Moodle

Mentors

Mailing List: safari-ps-softmc@sympa.ethz.ch (sent to all mentors)

Name E-mail Office
Lead Supervisor Hasan Hassan hasan.hasan@safari.ethz.ch ETZ H 61.2
Supervisor Giray Yaglikci giray.yaglikci@safari.ethz.ch ETZ H 61.2
Supervisor Ataberk Olgun ataberk.olgun@safari.ethz.ch
Supervisor Lois Orosa lois.orosa@safari.ethz.ch ETZ H 61.2
Supervisor Haocong Luo haocong.luo@inf.ethz.ch ETZ H 61.2
Supervisor Minesh Patel minesh.patel@safari.ethz.ch ETZ H 61.2
Supervisor Jeremie Kim jeremie.kim@safari.ethz.ch

Lecture Video Playlist on YouTube

2022 Meetings/Schedule (Tentative)

Week Date Livestream Meeting Learning Materials Assignments
W0 23.02
Wed.
Video
P&S SoftMC Tutorial SoftMC Tutorial Slides
(PDF) (PPT)
W1 08.03
Tue.
Video
M1: Logistics & Intro to DRAM and SoftMC
(PDF) (PPT)
Required Materials
Recommended Materials
HW0
W2 15.03
Tue.
Video
M2: Revisiting RowHammer
(PDF) (PPT)
(Paper PDF)
W3 22.03
Tue.
Video
M3: Uncovering in-DRAM TRR & TRRespass
(PDF) (PPT)
W4 29.03
Tue.
Video
M4: Deeper Look Into RowHammer's Sensitivities
(PDF) (PPT)
W5 05.04
Tue.
Video
M5: QUAC-TRNG
(PDF) (PPT)
W6 12.04
Tue.
Video
M6: PiDRAM
(PDF) (PPT)

Learning Materials

Meeting 1: Required Materials

Meeting 1: Recommended Materials

More Learning Materials

Assignments

HW0: Student Information (Due: 11.03)

softmc.txt · Last modified: 2022/04/29 11:34 by hhasan