Demystifying DRAM Read Disturbance: Bridging the Gap Between Experimental Characterization and Device-Level Modeling of RowHammer and RowPress Phenomena
Haocong Luo, Longda Zhou, Ataberk Olgun, İsmail Emir Yüksel, Nisa Bostanci, Zhigang Ji, Xing Wu, Onur Mutlu
cs.AR, cs.CR
2026-07-30
用 TCAD 加真片实测打通 RowHammer 实验与器件机理:翻转方向由电荷陷阱靠在哪侧字线决定,1→0 与 0→1 两类翻转在芯片上几乎不重叠(平均 Jaccard 仅 1.5%–6.8%)。
DRAM 有个老毛病:你反复读写某一行(攻击行),它隔壁那些你没碰过的行(受害者行)里的数据可能自己翻转,1 变 0、0 变 1。这就是 RowHammer,升级版叫 RowPress,把攻击行长时间「按住」而非反复开关。小则数据损坏,大则被人拿来绕过内存隔离、做提权攻击,是 DRAM 安全和可靠性的硬骨头。
研究它的有两拨人,各干各的,结论对不上。一拨拿真芯片做实验,在不同温度、数据模式下数翻转个数、量出「触发第一次翻转最少要敲多少次攻击行」(记作 ACmin);另一拨用 TCAD 这类器件级仿真,从晶体管物理机制推翻转怎么来的。问题是器件级模型解释不了真片上的全部观测。比如按模型,两边同时敲(double-sided RowHammer)应该只放大 1→0 翻转、压住 0→1,可真芯片上两类翻转都冒出来。这篇要做的就是把这两拨人对上,给后续的「理解、测量、防御」打地基。作者来自 ETH Zurich(Onur Mutlu 组)、华东师大和上海交大。
三条腿走路。第一,真片实测:拿市售 DDR4 芯片(多家厂商),用他们自家的 FPGA 测试台 DRAM Bender 跑,RowPress 部分在 80°C 下测(温度越高 RowPress 越凶)。第二,TCAD 仿真:用 Sentaurus 建了一个基于 1z 纳米工艺的马鞍鳍(saddle-fin)凹槽沟道结构,把器件几何、电压、电容都对到真工艺标定值。第三,晶圆级电学测量,在流片的 sub-20nm 测试结构上直接量漏电。
一个关键动作是「反查」每根相邻攻击字线的身份。受害者行两侧各有一根攻击字线,离它近的叫 NWL(neighbor,邻居字线),远的叫 PWL(passing,过路字线)。他们靠翻转方向反推出每根是 NWL 还是 PWL,再跟实测核对,几乎所有模块都是 100% 吻合。
整个分析锚在三个最基础的量上:翻转方向(1→0 还是 0→1)、翻转个数、以及 ACmin。这三个量都该追溯到一阶物理机制,所以拿它们当对账的标尺。
他们先列了三处「模型说 A、真片是 B」的硬伤,再逐一补上。最核心的一条:翻转方向由电荷陷阱(charge trap)落在哪一侧决定。陷阱靠近 NWL,就放大 1→0、压住 0→1;靠近 PWL 则反过来。
为了证明「方向看陷阱位置」,他们给了一组很硬的证据:double-sided 敲击同时产生的 1→0 和 0→1 翻转,在芯片物理位置上几乎不重叠。各模块的平均 Jaccard 重叠率只有 1.49%–6.77%,最高的 S4 模块也就 6.65% 和 6.77%,M0 模块只有 2.57%(50°C)和 2.77%(80°C)。翻成 1→0 的格子和翻成 0→1 的格子,基本是两拨不同的单元,正好对应「陷阱位置不同、翻向不同」。
数字方面,double-sided 相比 single-sided 把触发翻转所需的激活次数砍掉一大截:NWL 侧对应方向降 75.5%,PWL 侧降 74.7%。0→1 比 1→0 更容易触发(ACmin 更小),因为电子迁移路径更短、效率更高。敲击次数够高时,1→0 会反超 0→1,因为当前 DRAM 工艺在 NWL 侧更容易引入陷阱。
| 观测 | 器件级成因 | 机制 |
| double-sided 同时产生 1→0 与 0→1 | 电荷陷阱位置 | 靠 NWL 的陷阱促 1→0、靠 PWL 的促 0→1 |
| 0→1 的 ACmin 比 1→0 小 | 电子迁移路径长度 | 路径短、效率高、更快翻 |
| 高敲击数下 1→0 多于 0→1 | 工艺引入的几何/材料不对称 | NWL 侧更脆弱、更易成陷阱 |
RowPress 那边,模型原本预言 NWL 侧 RowPress 会产生 0→1 翻转,真片上正常工作条件下根本看不到,因为漏电太弱,压不过单元本来的保持漏电。PWL 侧 RowPress 的 1→0 翻转则对体区空穴陷阱密度(DHT,bulk)非常敏感,这个参数也是仿真能不能对上真片的关键旋钮。还有一条反直觉:对 PWL 侧 RowPress,1→0 和 0→1 两类翻转的 ACmin 都随攻击行导通时间(tAggON)增加而下降,而不是模型预期的「相互竞争、不单调下降」。
防御 RowHammer 的所有手段,最后都在跟 ACmin 较劲:你得假设攻击者能敲到多少次,才知道刷新频率要提到多高、要不要给可疑行做迁移。这篇给出的提醒很实在:今天系统级用的「统计型翻转模型」太糙,它把 1→0 和 0→1 当成同质的随机事件来拟合,而这俩背后的物理机制不同、甚至相互竞争。
更具体的方法论警告:不要拿「高敲击数下的位错误率 BER」去估 ACmin。BER 好量,但它不是 ACmin 的直接代理,因为两种翻转的机制随敲击数变化方式不同。做器件安全评估的人,这点直接决定你怎么设计测试和设阈值。
对从业者的现实意义:这是地基,不是成品。它没有给出一个新的、能直接塞进模拟器的系统级模型(作者明说留给后续工作),但它把「为什么之前的模型对不上」讲清楚了,顺带指了下一步要啃的方向:RowHammer 与 RowPress 的组合访问模式、翻转阈值的时间漂移、以及 ColumnDisturb 这类新冒出来的扰动现象。
作者自己承认,「为什么高敲击数下 1→0 系统性地多于 0→1」只有定性解释(工艺在 NWL 侧更容易留陷阱),要定量锁定到确切的制造根因,不在本文范围。
仿真用的是单陷阱构型做敏感性分析(后面用界面陷阱密度 DIT 做了扩展),真芯片里陷阱远不止一个,这个简化是否会漏掉某些耦合效应,文中没有充分排除。TCAD 结构锚在 1z 纳米、马鞍鳍凹槽沟道这一种工艺上,换到其他 DRAM 节点或结构(比如更激进的埋字线、3D DRAM)能不能直接套用,通用性还没验证。
范围上只覆盖了 RowHammer 和 RowPress 两个最基础现象,它俩的组合、阈值的时间漂移、ColumnDisturb 这些作者自己点名是未来工作。最后,它是「理解 + 指导」,不是可部署的成品。想拿来直接加固系统,还得等基于这套机制的系统级模型做出来。