Rowhammer Terminology Cheat Sheet
This is a list of terms commonly used to describe Rowhammer attacks and mitigations. Sometimes, some of these terms have different meanings; in those cases, I will be describing all meanings I am aware of.
If you spot any errors, inconsistencies, or can provide greater clarity, please drop me an e-mail: .
RH: Rowhammer. Sometimes also spelled as RowHammer.
Rowhammer mitigation: a scheme that prevents some, but not all, forms of Rowhammer attacks from succeeding.
Complete/Provable Rowhammer mitigation: a scheme that prevents all forms of Rowhammer attacks from succeeding. Often there is an accompanying proof of completeness under a set of assumptions. Sometimes, the completeness guarantee is probabilistic (i.e., the probability of the scheme failing to stop a Rowhammer attack is ε, where ε can be made arbitrarily small).
Disturbance error: the phenomenon by which one DRAM row interferes with another row located in its vicinity. An error occurs when one or more cells revert their charge causing a DRAM read to return different value than the one original stored.
Aggressor row: a row activated repeatedly with the goal of inducing bit flips on adjacent (or nearby) rows in a bank. (In some older terminology, aggressor row is sometime called target row).
Victim row: a row targeted (or tested) for the presence of bit flips.
Adjacent rows: two rows located right next to each other inside a DRAM chip.
Distant rows: two rows that are not adjacent but "close enough" that one can disturb the other.
Row distance between row A and row B: the number of rows between A and B without counting A or B. For example, the row distance between two adjacent rows is 0 and the row distance between two distant rows is greater or equal to 1.
Single-sided Rowhammer (RH) attack: a row activated repeatedly with the goal of inducing bit flips on adjacent (or nearby) rows in a bank. (In some older terminology, aggressor row is sometime called target row).
Double-sided RH attack: an attack with two aggressor rows located one row apart.
Diffused RH attack: an attack involving more than 3 aggressor rows, at least one of which is a distant row.
Maximum Activation Count (MAC): a per-DRAM device metric describing the minimum number of row activations required to mount a single-sided attack.
Blast Radius: the physical distance (i.e., the number of rows apart) between an aggressor and a victim row. A blast radius of 1 corresponds to the case when the aggressor and victim rows are adjacent. Distant rows correspond to a blast radius greater than 1.
Attenuation Factor: a factor representing the reduction of disturbance errors as the blast radius increases. This factor is assumed to directly corelate with the increase in the number of activations an aggressor row requires to flip bits in victim rows located farther away. For example, an attenuation factor of 10 means that a victim row requires 10 times more activates to flip bits in a victim row located two rows away than an adjacent victim.
On-die ECC: a form of error correction performed inside of a DRAM chip. It is typically done in a transparent manner -- no other component knows that an error occurred and was corrected. LPDDR4 and DDR5 incorporate on-die ECC that can correct 1-bit data corruptions.
RFM (refresh management): a scheme by which a memory controller tracks the total number of activations issued to a bank. If this number is higher than a vendor-specified threshold, the memory controller issues additional RFM commands to a bank. An RFM command is like a regular refresh command and carries no row or column addresses. Upon receiving an RFM command, the DRAM performs RH mitigations. Unfortunately, details about the remediation schemes are proprietary and confidential to the DRAM vendor.
RH threshold: the maximum number of activations a row can sustain until a RH mitigation action must be performed. With RFM, vendors specify a bank-wide RH threshold for their parts.