读扰动:反复敲同一行,邻居会漏光

第 9 关 · Row Hammer · 工艺波动与漏电率

一条字线被反复拉高,相邻行的单元会通过寄生电容 Cc 被一点点抽走电荷;单次只有毫伏级, 但它是累积的。拖动 工艺波动 σ,看 fab 的随机涨落如何决定 144 颗单元里谁先掉到判决门限以下。

电荷充足 开始流失 接近门限 低于判决门限 已翻转 bit 左侧红条 = 被反复 ACT / PRE 的攻击行

读数

hammer 次数0
已翻转单元0 / 144
平均剩余电荷100%
最弱单元100%
首个翻转发生在—
TRR 介入0 次

全场电荷分布

耗尽剩余电荷充足

工艺波动是乘性的,所以这张分布会一路向左滑,而且是一条尾巴先探出去—— 先翻的永远是尾巴上那几颗。

建议这样试

  1. 先按默认 σ=0.45 跑一轮。红点只会出现在攻击行上下紧邻的两行——耦合系数最高,最远一排几乎不动。
  2. 把 σ 拉到 0 再跑。所有单元几乎同时变红。没有波动就没有「薄弱点」,翻转退化成集体阈值现象。
  3. 把 σ 拉到 0.85。红点开始扩散到隔一行甚至更远的单元,这时阵列里几乎没有安全区。
  4. 打开 TRR。每 3000 次 hammer 回写邻居行 18% 电荷,能看到格子「回血」。翻转被推迟到约 2.8 倍次数——但推到极限照样会翻。

模型说明:单元保持能力 τ ≈ Cs · ΔV / I_leak,漏电率按对数正态分布 m = exp(σ·1.3·(2u−1)) 生成,衰减按 q −= dN/NMAX · 1.05 · m · f 线性累积, 判决门限 12%。f 按到攻击行的距离取 0.15 / 1.0 / 0.45 / 0.22。 这是教学简化模型,不对齐某颗具体颗粒的失效数据。快捷键:空格开始/暂停,R 重新开始。