现代DRAM芯片容易受到读取干扰现象的影响,例如RowHammer和RowPress,这些现象会在访问相邻行一定次数后导致比特翻转。ColumnDisturb是一种全新的、根本不同的DRAM读取干扰现象。与RowHammer和RowPress不同,ColumnDisturb干扰的是DRAM的列而非行,并且受影响DRAM单元的数量从仅几个相邻行扩展到三个连续DRAM子阵列中的所有单元。本文提出了ColumnKeeper,这是第一套ColumnDisturb缓解方案,包含两种变体:ColumnKeeper-D(CK-D)是一种确定性机制,ColumnKeeper-P(CK-P)是一种概率性机制。CK-D利用DRAM的开位线架构,以较低的性能和能量开销提供确定性的安全保证:它使用每个子阵列的两个计数器来跟踪影响奇数列和偶数列的激活,当任一计数器达到预定阈值时,刷新子阵列中的一行。CK-P则以预定概率在中间子阵列行激活时刷新三个连续子阵列中的一行,以较低的面积开销提供可配置的安全保证。两种机制都能以较低的性能、能量和面积开销防止ColumnDisturb比特翻转。在当前实验证明的ColumnDisturb阈值(1M)下,CK-D和CK-P的平均单核性能开销分别仅为0.15%和0.36%。对于近未来的阈值(128K),开销仍较低,平均分别为1.70%和2.73%。通过采用更小的子阵列大小或启用子阵列级并行性,在低阈值(如16K)下缓解ColumnDisturb仍然是可能的。CK-D和CK-P的面积开销分别仅为0.1 mm²和0.03 mm²。ColumnKeeper代码已开源。
💡 推荐理由: ColumnDisturb是一种新型DRAM漏洞,影响范围远超传统RowHammer,现有缓解方案对其无效。本文提出的ColumnKeeper是首个有效的缓解方案,对保障现代DRAM系统的可靠性至关重要。
🎯 建议动作: 研究跟进