Memory testing¶
This chapter provides a brief overview of memory validation and testing methodologies used for ensuring that the Rowhammer tester remains usable with various memory targets.
CI driven testing¶
The digital design targets supported by the Rowhammer tester are periodically synthesized with a Continuous Integration system within Antmicro’s internal infrastructure. The synthesized designs (bitstreams) are then uploaded to physical testers orchestrated with CI runners. You can read more about the hardware-in-the-loop testing methodology and Antmicro’s Scalerunner project in this blog note.
The hardware platforms currently used in the CI-based testing are:
RDIMM DDR5 Tester Rev. 1.0 with off-the-shelf
Micron MTC10F1084S1RC48BA1 NGCC
memory module installed.SODIMM DDR5 Tester with off-the-shelf
Micron MTC8C1084S1SC48BA1
memory module installed.SODIMM DDR5 Tester with LPDD5 Testbed with
Micron MT62F1G32D4DR-031 WT:B
memory IC soldered.LPDDR4 Tester with DDR5 Testbed with
Micron MT60B2G8HB-48B
memory IC soldered.
Manual testing¶
In order to increase test coverage with respect to a number of different off-the-shelf memory modules, semi-automated testing is performed.
In this scenario the memory module under test is installed in one of the testers and verified with a Memtest
routine.
The logs from the testing process are collected in a common storage bucket.
Based on the collected logs, a historical test coverage is evaluated.
The unified testing procedure consists of three short memory tests followed by one extended test:
Short Test Run each of the following commands:
python3 rowhammer_tester/scripts/mem.py --srv --size 0x200000
Repeat this command three times to ensure consistency.
Extended Test Run the following command:
python3 rowhammer_tester/scripts/mem.py --srv --size 0x800000
RDIMM DDR5 test coverage¶
The following RDIMM DDR5 coverage table outlines the DDR5 RDIMM modules that have passed all of the above tests. The table matches the memory module and the SHA of the latest Rowhammer tester commit that was used during the experimentation.
Memory MPN |
Manufacturer |
RCD Manufacturer |
Short Memtest |
Extended Memtest |
Latest SHA |
|
---|---|---|---|---|---|---|
1 |
HMCG84MEBRA112NBB |
SK hynix |
Rambus |
6/6 |
2/2 |
|
2 |
HMCG88AGBRA188NN_AA |
SK hynix |
Montage |
6/6 |
2/2 |
|
3 |
KF548R36RB-32 |
Kingston |
Montage |
6/6 |
2/2 |
|
4 |
KF560R32RB-16 |
Kingston |
REA Renesas |
6/6 |
2/2 |
|
5 |
M321R4GA0BB0-CQKMS |
Samsung |
Montage |
6/6 |
2/2 |
|
6 |
M321R4GA3BB6-CQKET |
Samsung |
IDT Renesas |
6/6 |
2/2 |
|
7 |
M321R4GA3BB6-CQKMG |
Samsung |
Montage |
6/6 |
2/2 |
|
8 |
M321R4GA3PB0-CWMCJ |
Samsung |
IDT Renesas |
6/6 |
2/2 |
|
9 |
M329R8GA0BB0-CQKVG |
Samsung |
Rambus |
6/6 |
2/2 |
|
10 |
MTC10F1084S1RC48BA1_JHCC |
Micron |
Rambus |
6/6 |
2/2 |
|
11 |
MTC10F1084S1RC48BA1_NGCC |
Micron |
IDT Renesas |
6/6 |
2/2 |
|
12 |
MTC10F1084S1RC48BA1_NHFF |
Micron |
Rambus |
6/6 |
2/2 |
|
13 |
MTC18F104S1PC48BA2_NGCC |
Micron |
IDT Renesas |
6/6 |
2/2 |
|
14 |
MTC20F2085S1RC48BA1_JGCC |
Micron |
IDT Renesas |
6/6 |
2/2 |
|
15 |
MTC20F2085S1RC48BA1_JHCC |
Micron |
Rambus |
6/6 |
2/2 |
|
16 |
MTC20F2085S1RC48BA1_PGCC |
Micron |
IDT Renesas |
6/6 |
2/2 |