每次游戏加载缓慢、视频剪辑卡顿,看着屏幕上旋转的等待图标,你可能不知道,这背后是内存条里一场精密而紧张的数据接力赛。
DRAM读取过程中,行地址首先通过地址总线传输到地址引脚,随后/RAS引脚被激活-1。列地址被放入行地址选通电路,行地址解码器选择正确的行并送到传感放大器-1。

当/CAS引脚被激活,列地址被送到列地址选通器,这时需要的数据已经找到,Dout针脚开始有效,数据开始从内存传输到系统-1。

DRAM,全称动态随机存取存储器,是现代计算机内存的核心组件。它的基本单元简单得令人惊讶:一个晶体管加一个小电容。
电容负责存储电荷,有电荷代表“1”,无电荷代表“0”-4。晶体管则充当开关角色,控制电容的充放电过程-4。
这种设计使DRAM能够实现高密度存储,但也带来了一个根本性挑战:电容会漏电。即使晶体管关闭,电荷仍会缓慢流失-4。如果放任不管,电容中的“1”会慢慢变成“0”,数据就这样无声无息地消失了。
这就解释了为什么DRAM需要“动态”刷新,也解释了为什么断电后内存中的数据会全部丢失。每个存储单元都是一个微型的电荷容器,需要持续维护才能保持数据完整。
一次完整的DRAM读取操作像一场精心编排的八步舞蹈。首先,行地址通过地址总线传输到地址引脚-1。
接着/RAS引脚被激活,将列地址放入行地址选通电路-1。行地址解码器开始工作,选择正确的行并送到传感放大器-1。
此时/WE引脚未被激活,DRAM知道这不是写入操作-1。随后,列地址通过地址总线传输到地址引脚,/CAS引脚被激活,列地址被送到列地址选通器-1。
最关键的一步来了:/CAS引脚也充当输出启动信号,一旦/CAS信号被放到传感放大器,需要的数据就已定位完成,Dout针脚开始有效,数据正式从内存传输到系统-1。
/RAS和/CAS引脚停止激活,等待下一个读取命令-1。整个过程必须在极短时间内完成,任何一步的延迟都会影响整体性能。
在DRAM读取过程中,有两种主要类型的延迟影响着性能。第一种是连续读取操作之间的延迟,因为DRAM不可能完成一个读取后立刻开始下一个-1。
电容需要充放电时间,信号也需要传输时间-1。这包括/RAS和/CAS预充电延迟时间,当这些引脚失活后,必须给足够时间为下次激活做准备-1。
第二种延迟更为隐蔽,被称为内部读取延迟-1。这种延迟不是由停止/RAS和/CAS激活产生的,而是由激活这些引脚本身产生的-1。
比如,行存取时间(tRAC)是从激活RAS到数据出现在数据总线之间的时间-1。列存取时间(tCAC)则是激活/CAS引脚到数据出现在数据总线之间的时间-1。
传统DRAM读取有一个有趣特性:破坏性读出。当读取一行存储单元时,小电容经过充放电后,原本的信息就丢失了-4。
原来有电荷的电容放电了,原来没有电荷的却可能被充电-4。这种“破坏性”看似是缺陷,实则是工作原理的一部分。
为了解决这个问题,DRAM设计了一个巧妙的恢复机制。读取时,放大器会还原并暂存单元行每个cell的电容电压-4。输出数据后,根据放大器锁存的值,系统会把各条位线拉到供电电压或接地,电容就会根据位线电压重新充放电-4。
这一特性直接影响了DRAM的性能表现。每次读取后必须进行的恢复操作增加了延迟,但也确保了数据的准确性。
DRAM技术在过去几十年经历了显著演进。从SDRAM到DDR1的转变引入了数据选通、终结电压和线路末端终止技术,优化了信号质量-3。
DDR2进一步改进,采用了Strobe Pair设计和片上终接技术减少不对称性错误-3。DDR3则引入了命令敏感的ODT技术,并为数据和地址使用不同的电压参考-3。
现代DDR4和DDR5通过更精细的参考电压调整和更高的预取并行度进一步提升性能-3。特别是DDR5的16n预取并行度,意味着它可以一次处理16组数据-3。
从SDRAM的1n预取到DDR5的16n预取,这种并行度的提升使内存系统能够在保持核心速度不变的情况下,显著提高数据吞吐量-3。
学术界和工业界正在探索多种创新方案来进一步降低DRAM延迟。FASA-DRAM技术是一个典型例子,它将数据移动过程解耦为两个阶段-7。
第一阶段是负载减少破坏性激活(LRDA),它以破坏性方式将数据提升到DRAM缓存中-7。第二阶段是延迟周期窃取恢复(DCSR),当DRAM存储体空闲时恢复原始数据-7。
这种方法将最耗时的恢复阶段与激活解耦,通过存储体级并行性隐藏恢复延迟-7。评估显示,与DDR4 DRAM相比,FASA-DRAM在四核工作负载中平均性能提高19.9%,能耗降低18.1%-7。
另一项创新是IS-DRAM技术,它采用非破坏性读取设计-9。与传统DRAM不同,IS-DRAM将电荷存储在埋氧层下方的衬底中-9。存储的电荷通过界面耦合效应调制顶部硅晶体管的漏电流,实现“原位”读取-9。
现代内存系统采用越来越智能的预读取策略来减少延迟。一项专利技术描述了一个系统,在数据请求到达前预开启多个存储单元组-5。
预读取模块会监控这些存储单元组的状态和总线占用情况,根据占用信息对它们进行预读取排序-5。系统还会根据CPU核心之间的距离动态调整数据读取路径-5。
设第一CPU核心与第二CPU核心之间最短路径经过的CPU核心数量为n,当n大于等于N/2-1时,数据通过上层存储器读取-5。当n小于N/2时,数据则沿着最短路径上的CPU核心缓存由近及远地读取-5。
这种方法通过并行预读取显著加快数据获取速度,减少内存访问延迟-5。同时,它根据缓存状态反馈重新排序预读取,避免无效功耗-5。
DRAM技术演进图展示了从SDRAM到DDR5的关键改进:SDRAM仅支持1n预取,DDR1提升至2n,DDR2实现4n预取,DDR3和DDR4达到8n,而最新DDR5则实现了16n预取并行度-3。
当电脑因内存延迟而卡顿时,数据正在经历行地址传输、引脚激活、解码选择、传感放大和最终传输的复杂旅程-1。屏幕上每个流畅瞬间,都是内存模块内数亿次精密协作的成果。