存储器:DRAM(三)术语与标准

器件参数

Terms Explanation
BL Burst Lengths, 突发长度
DQ 芯片数据I/O位宽
Pre-fetch 预取
Channels(Ch) 通道数
Ranks(Ra) Rank数
Bank Groups(Bg) Bank Groups数
Bank(Ba) Bank数
Rows(Ro) 一个bank的行数
Cols(Co) 一个bank的列数

DDR标准

DDR3 DDR4 DDR5
Max Die Density(Gbit) 4 16 64
Max UDIMM Size(GB) 8 32 128
Max Data Rate(Gbps) 1.6 3.2 6.4
Channels 1 1 2
Bandwidth(Non-ECC)(bits) 64 64 64(2x32)
Banks Per Group 8 4 4
Bank Groups 1 4/2 8/4
Burst Length 8 8 16
Voltage(Vdd)(V) 1.5 1.2 1.1

时间参数

注:以下仅列出下标,nn的表示cycle数,tt表示具体时长(ns)

Terms Explanation
tRAS/nRASt_{RAS}/n_{RAS} RAS Active Time/Active to Pre-charge Delay, 行有效至预充电命令的延迟
tRP/nRPt_{RP}/n_{RP} Pre-charge command period,预充电所需时间
tRCD/nRCDt_{RCD}/n_{RCD} RAS to CAS Delay,RAS至CAS延迟
tCL/nCLt_{CL}/n_{CL} CAS Latency, CAS潜伏期/读取潜伏期,从CAS发出到第一批数据输出的延迟(对读写性能影响最大)
tRL/nRLt_{RL}/n_{RL} Read Latency, 读取潜伏期, 从读信号发出到第一批数据输出的延迟
tWL/nWLt_{WL}/n_{WL} Write Latency, 写入潜伏期, 从写信号发出到第一批数据成功写入的延迟
tAC/nACt_{AC}/n_{AC} Access Time from CLK, 时钟触发后的访问时间,从数据I/O总线上有数据输出之前的一个时钟上升沿开始到数据传到I/O总线上止的这段延迟
tWR/nWRt_{WR}/n_{WR} Write Recovery Time, 对同一个bank的最后有效操作到预充电命令之间所允许的最大延迟
tRFC/nRFCt_{RFC}/n_{RFC} Row Refresh Cycle Time, 行刷新周期

读取请求发出后,首先需要tRASt_{RAS}tRPt_{RP}等待预充电(行激活),然后发出行地址,等待tRCDt_{RCD}后发出列地址,等待tCLt_{CL}后读取数据

在网上找到一张比较模糊的图,但标注得很准确。其中,BA0和BA1开新Bank,A10开新行,剩下的信号无需预充电即可读取。

image

RAS讨论

如果tRASt_{RAS}太长,系统会因为无意义的等待而降低性能。若tRASt_{RAS}等待周期太短,则会导致已被激活的行地址会更早的进入非激活状态,这样可能会因为缺少足够的时间而无法完成数据的突发传输
所以tRASt_{RAS}的值一般设置为:

tRAS=tCL+tRCD+tRPt_{RAS}= t_{CL} + t_{RCD} + t_{RP}

为提高系统性能,应尽可能降低tRASt_{RAS}的值,但是如果发生内存错误或系统死机,则应该增大tRASt_{RAS}的值。

参考

DDR SRAM wiki

DRAM知识整理系列(三):部分时序参数整理