章铁飞,徐 斌
浙江工商大学 计算机与信息工程学院,杭州310018
动态随机存取存储器(DRAM)在商业计算机系统中被广泛用作主存,其由一个电容器和一个晶体管构成,通过电容器的充放电来存储一位信息。DRAM通过减小存储单元尺寸来持续增加容量,但也导致芯片易受到干扰误差的影响,当某DRAM内存行中的存储单元因为访问被激活时,相邻行的存储单元易受到干扰,导致相邻行的数据错误[1-2],因为来自相邻行的耦合降低阈值电压并增加存储单元的漏电流,较高的漏电流引起更快的电荷从DRAM存储单元的电容器泄漏,导致存储单元丢失数据。这种相邻行因为数据访问、频繁激活而导致存储单元数据错误的现象称之为行扰动(Row Hammering)。
当某DRAM内存行被访问时,它必须先被激活后,才能读写数据。一内存行越频繁地被访问,则被激活的次数越多。图1显示攻击行(aggressive row)频繁地激活,导致其相邻的两个受害行(victim row)出现行扰动问题。由于漏电效应,DRAM单元默认地周期性刷新补充电荷。在刷新间隔内,如果相邻行数据频繁的激活次数超过阈值,则大概率地会导致DRAM单元出现行扰动问题。该激活的阈值,称之为行扰动阈值(RHth)。随着DRAM存储单元尺寸的进一步缩小,行扰动阈值不断降低,使得行扰动问题日益严重。此外,专门设计的恶意程序[3-4]可能会故意频繁地将缓存的内容刷新回内存,存储单元更容易地达到行扰动阈值。为保护数据的完整性和安全性,未来的DRAM必须有针对性地解决行扰动问题。……