🤖 AI Summary
This work addresses ColumnDisturb, a newly identified column-level read disturbance vulnerability in DRAM that affects all cells across three consecutive subarrays. To counter this threat, the authors propose ColumnKeeper, a defense framework that departs from conventional row-based protection paradigms by introducing column-level security mechanisms. ColumnKeeper comprises two complementary approaches: a deterministic mechanism, CK-D, leveraging subarray-level dual counters, and a probabilistic mechanism, CK-P, employing cross-subarray selective refresh. Both achieve low-overhead column-level protection for the first time. Under a 1M disturbance threshold, CK-D and CK-P incur average performance overheads of only 0.15% and 0.36%, with area overheads of 0.1 mm² and 0.03 mm², respectively, substantially outperforming existing defenses.
📝 Abstract
Modern DRAM chips are vulnerable to read disturbance phenomena such as RowHammer and RowPress, which induce bitflips after accessing nearby rows a certain number of times (the read disturbance threshold). ColumnDisturb is a new, fundamentally different DRAM read disturbance phenomenon. Specifically, ColumnDisturb (i) disturbs DRAM columns instead of rows, and (ii) increases the number of affected DRAM cells from those in only a few neighboring rows to all cells across three consecutive DRAM subarrays.
We propose ColumnKeeper, the first set of ColumnDisturb mitigations, in two variants: ColumnKeeper-D (CK-D), a deterministic mechanism, and ColumnKeeper-P (CK-P), a probabilistic one. CK-D exploits DRAM's open-bitline architecture to provide deterministic security guarantees at low performance and energy overheads: it uses two counters per subarray to track activations affecting the odd and even columns, and refreshes one row in a subarray when either counter reaches a predetermined threshold. CK-P instead refreshes one row in three consecutive subarrays upon a row activation in the middle subarray, with a predetermined probability, providing configurable security guarantees at low area overhead.
Both mechanisms prevent ColumnDisturb bitflips at low performance, energy, and area overheads. At the current experimentally-demonstrated ColumnDisturb threshold (1M), CK-D and CK-P incur very low average single-core performance overheads of 0.15% and 0.36%, respectively. For near-future thresholds (128K), these rise to a still low average of 1.70% and 2.73%. Mitigating ColumnDisturb at low thresholds (e.g., 16K) remains possible by adopting smaller subarray sizes or enabling subarray-level parallelism. CK-D and CK-P require low area overheads of 0.1 mm^2 and 0.03 mm^2, respectively. ColumnKeeper is freely available at https://github.com/CMU-SAFARI/ColumnKeeper .