电脑突然卡顿一下,游戏画面短暂停滞,这些瞬间背后可能是内存正在悄悄进行一场数据“保鲜”行动。
手机没电了需要充电,人累了需要休息,而DRAM(动态随机存取存储器)中的数据如果不定期“刷新”,就会慢慢消失。你可能不知道,每过64毫秒,你电脑内存中的所有数据都需要被完整读取并重新写入一次,以防止它们消失不见-7。

刷新操作每过7.8微秒就会发生一次,每次持续约75纳秒,这意味着内存芯片约0.4%到5%的时间都在执行刷新操作-7。

DRAM是目前计算机中最常见的内存类型,它的工作原理相当巧妙。与SRAM(静态随机存取存储器)使用晶体管存储数据不同,DRAM用一个微小的电容来存储电荷-2。
这个微小的电容要么被充电(代表“1”),要么放电(代表“0”)。这种设计让DRAM的集成度远高于SRAM,成本也更低,因此成为现代计算机内存的主流选择。
问题在于电容无法长时间保持电荷。即使没有任何外界干扰,电容上的电荷也会通过多种途径慢慢流失-1。
电荷流失的速度受温度影响很大,温度越高,电荷流失得越快。这就是为什么内存过热会导致系统不稳定,也是为什么dram必须刷新的根本原因-1。
为了保证数据不丢失,DRAM采用了周期性刷新的机制。这个过程有点像定期检查仓库库存并补充即将过期的货物。
刷新的本质是“读取后重写”:将存储在电容中的电荷状态读取出来,经过放大后重新写入-3。
典型的刷新周期在8毫秒到16毫秒之间,有些器件的刷新周期可达100毫秒以上-1。不同的刷新方式采用不同的策略来平衡性能和刷新开销。
集中式刷新简单粗暴,在一个刷新周期末尾集中一段时间逐行刷新所有存储单元,缺点是刷新期间会阻塞一切内存访问,形成“死时间”-1。
分散式刷新则把刷新操作分散到每个存取周期的后半段,好处是没有死时间,缺点是整体内存速度会降低-1。
异步式刷新结合了两者的优点,不规定固定的刷新周期,只要求每行在2毫秒内被刷新一次-1。这种方法平衡了性能和刷新开销,逐渐成为主流方案。
DRAM刷新可不是免费午餐,它需要付出实实在在的性能和功耗代价。当内存刷新时,整个芯片都会被封锁,无法执行正常的读写操作-7。
这意味着,在我们的电脑或服务器中,dram必须刷新不仅是为了数据安全,也会带来可感知的性能影响。
有研究表明,内存芯片用于刷新的时间占其运行时间的0.4%到5%之间-7。同时,刷新操作消耗了相当比例的功耗,而内存功耗已经是计算机总功耗中的重要组成部分。
随着DRAM密度不断提高,刷新开销问题变得越来越严重。早期DRAM密度较小时,需要刷新的单元数少,刷新开销微不足道-4。
但当DRAM发展到千兆比特级别时,刷新周期并没有相应改善,导致单位时间内需要刷新的存储单元急剧增加,性能开销变得不容忽视-4。
面对刷新带来的性能和功耗问题,研究人员正在开发各种优化技术。一项2023年的中国专利提出了自适应DRAM刷新控制方法-8。
这种方法先将刷新指令进行缓存,然后判断读写总线状态:如果总线空闲,就发送刷新指令;如果总线忙碌,则依据缓存中刷新指令的数量决定是否发送-8。
另一个创新方向是根据不同存储单元的实际需求调整刷新频率。研究人员发现,不同DRAM单元的电荷保持时间差异很大,有些单元需要更频繁的刷新,而有些则可以延长刷新间隔-6。
这种思路类似于“精准灌溉”,只给需要水的植物浇水,而不是给整个花园统一浇水。
有趣的是,最近的一些DRAM自刷新方法已经可以在刷新时进行读写操作,这大大提高了内存的利用效率-9。
还有一些专利技术通过在字线级别设置不同的刷新间隔,只对那些真正需要刷新的单元进行刷新,从而节省了能源和命令带宽-6。
当气温飙升到85°C以上时,内存的静态刷新时间会从64毫秒直接减半至32毫秒-7,刷新指令的间隔也从7812.5纳秒缩短到3906.25纳秒,就像高温下人的记忆力会减退一样。
那些需要更频繁刷新的存储单元被称为“弱字线”,而那些电荷保持能力强的则是“强字线”-6。与dram必须刷新的固定思维不同,未来的内存或许能学会“选择性记忆”。
网友“技术迷”提问:我一直以为内存数据是稳定的,直到读了这篇文章才知道DRAM需要不断刷新。如果刷新过程中突然断电,数据会不会丢失?
这是个很好的问题!其实,DRAM被称为“易失性存储器”是有原因的——断电后,电容上的电荷会迅速流失,数据当然会丢失-2。即使在正常工作时,dram必须刷新正是因为电荷会自然流失,刷新只是延缓了这个过程,而非彻底解决。
你可以把DRAM想象成一个漏水的水桶,刷新操作就是定期往里加水,让水位保持在一定高度。一旦停止加水(断电),水位很快就会下降,数据也就丢失了。
这也是为什么计算机需要硬盘等非易失性存储设备来长期保存数据。有趣的是,SRAM(静态随机存取存储器)虽然不需要刷新,但同样会在断电后丢失数据,因为它依赖持续的电力来维持晶体管状态-10。
网友“硬件爱好者”提问:不同的刷新方式对电脑性能影响大吗?我该怎样选择适合自己需求的内存?
不同刷新方式确实对性能有不同影响。集中式刷新会有明显的“死时间”,在刷新期间内存完全不可用,对实时性要求高的系统(如高频交易、科学计算)影响较大-1。
分散式刷新虽然避免了明显的死时间,但整体内存速度会降低-1。异步式刷新是目前的主流,它平衡了性能和刷新开销,对于大多数用户来说是最佳选择-1。
选择内存时,普通用户无需过分担心刷新方式,因为现代DDR4/DDR5内存已经采用高度优化的刷新策略。
如果你是高性能计算用户或游戏玩家,可以关注内存的时序参数和频率,这些对性能影响更直接。值得注意的是,随着温度升高,dram必须刷新的频率也会增加,所以保持良好的散热对内存性能也很重要-7。
网友“节能先锋”提问:刷新操作真的很耗电吗?有没有什么方法可以减少内存刷新的能耗?
确实如此!刷新操作是DRAM功耗的重要组成部分-4。有数据显示,内存芯片的功耗占典型计算机功耗的很大一部分,而其中大部分功率都用于执行刷新操作-7。
减少刷新能耗的方法包括:降低刷新频率(在保证数据不丢失的前提下)、采用温度自适应刷新(温度低时降低刷新频率)、使用创新的刷新算法-4。
一些最新的研究正在探索“智能刷新”技术,比如只刷新那些真正需要的存储单元,而不是机械地刷新所有单元-6。还有研究尝试将刷新操作与正常的读写操作结合起来,提高效率-9。
从用户角度,保持电脑凉爽可以间接降低刷新能耗,因为高温会迫使内存提高刷新频率-7。选择能效比较高的内存模块,或使用具有高级电源管理功能的主板,也能在一定程度上减少内存的整体能耗。