【未完】【DDR系列文章收集】
资料来源
1.https://zhuanlan.zhihu.com/p/343262874
(1)主要讲DRAM刷新的内容: 为什么需要刷新(漏电流导致电容电荷的流失)? 刷新的本质(对存储数据的电容进行充电操作,防止表示数据 1 的电荷因为漏电流的原因随时间流失)?刷新的间隔(不能太长,也不能太短;太长不能保证数据正确性,太短影响正常读写操作)? DRAM刷新命令以及DRAM刷新时序参数(tREFI, tREFC)? DRAM超前延后刷新命令;
(2) 该处的刷新由memory controller和 DRAM 颗粒内部电路共同实现.MC 以发送刷新命令的方式通知 DRAM 颗粒进行刷新;DRAM 颗粒内部电路则负责进行刷新操作。
2. https://zhuanlan.zhihu.com/p/346528173
(1) 主要讲DRAM self refresh内容;”自“刷新,即无需控制器发出刷新命令(但是memory controller需要发出SRE命令,让DRAM进入self refresh模式),DRAM 基于内部的定时器进行定时刷新.自刷新与刷新同样是用于保持DRAM内的数据;
(2) 什么场景下,需要使用DRAM self refresh(如系统进入低功耗模式)?
(3) 多种self refresh模式以适应不同工作温度范围,高温会加大漏电流的影响,需要提升刷新频率(通过配置寄存器进行模式的选择)?
(4) 进入self refresh状态前,DRAM的状态? 参考DDR spec状态转换图可知,进入self refresh前,DRAM需处于idle状态; 进入self refresh状态后,可以停掉外部时钟,以减少功耗;但是,停掉的时钟必须在退出self refresh状态前重新启动并稳定;
3.https://zhuanlan.zhihu.com/p/262052220
(1) 主要讲解DDR的基础知识,比如rank, bank group, bank, row, col的概念;
(2) 补充:《数字电路技术基础-阎石》一书中有简单讲过一些DRAM的基础知识,其中,单管动态MOS存储单元的字线对应DDR spec中的row, 位线对应DDR spec中的col;在确定了待读取地址的 Bank group与 Bank 后(可以根据bank group与bank得到row信息),地址中的行部分将激活(activate)存储阵列中的一行(line),这被称为 Word line。在该行被激活后,其数据被从存储阵列中读出,写入 Sense Amplifiers。随后,DRAM 根据列地址从 Sense Amplifiers 中缓存的 Word line 再读取出属于该列的数据,这部分数据的长度与 DRAM 列数据位宽相同,称为 Bit line;
(3) page size的概念:指的是每一行中的 bit 数量。换句话说,是当一行被激活时,载入到 Sense Amps 的比特数量。假设列地址的位宽为 10bit,则每一行有 1k 个列。对于 x4 器件而言,每一行的 bit 数量为 1k x 4 = 4k bit(512B)。同理,x8/16 器件的 page size 分别为 1k/2k Byte.
(4) rank:DRAM 中有 single/Dual/Quad Rank 等术语。Rank 是 DRAM 中的最高层次的逻辑单元,一般用于增加整个系统的存储容量。
4.https://zhuanlan.zhihu.com/p/268347945
(1) 主要讲述DDR4的一些命令与时序参数;
(2) ACTIVE:激活命令用于在访问之前打开某个 bank 中的某个 row(该处的访问指读写操作);与激活命令相关的常用时序参数共有 3 个:tRRD_S,tRRD_L 以及 tFAW;
- tRRD_S:row-to-row delay--short,当向多个属于不同 bank group 的 bank 发送 ACT 命令时,ACT 命令之间需要满足 tRRD_S 长度的间隔;
- tRRD_L:row-to-row delay--long,与 tRRD_S 的不同点在于当向多个属于同一个 bank group 的 bank 发送 ACT 命令时,ACT 命令之间需要满足 tRRD_L 长度的间隔;
- tFAW:Four Activate Window,限制容纳至多四个 ACT 命令的窗口,在这段时间内最多只能发出四个 ACT 命令。当连续发送 ACT 命令时,ACT 命令之间一方面需要满足 tRRD_S/L ;另一方面,在发送四个 ACT 命令后,需要等待 tFAW 窗口结束,才能发送第五个 ACT 命令。
(3) REFRESH:为了确保存储在 SDRAM 中的数据不会丢失,存储控制器需要平均间隔 tREFI ,发送一次 REFRESH 命令。 但是在进行刷新之前,SDRAM 所有的 bank 需要进行 PRECHARGE 预充电,并空闲一段时间,这个时长称为 tRP(min) 。在发出 REFRESH 命令后,必须经过 tRFC(min) 的延迟,才能发出下一个命令(DES 命令除外)。
(4) READ:通用读时序 Read Timing,时钟-数据有效信号(Strobe)间的时序关系 Clock to Data Strobe relationship,数据-数据有效信号间的时序关系 Data Strobe to Data relationship;
- CL (CAS latency)Column-Address-Strobe,当列地址在地址信号上就绪时,CL 是内部读命令与读数据第一个比特之间的延迟时钟周期。
- AL (Additive Latency)AL 延迟允许紧跟激活命令后发出读命令,器件内部将读命令延迟 AL 个时钟周期后执行。
- RL (Read Latency)总的读延迟,RL = AL + CL;
- tCCD_S/L读取不同 bank 之间的延迟,和 tRRD_S/L 类似,访问不同 bank group 的 bank 相比属于同一 bank group 的延迟要小一点,为 tRRD_S(short);
- tDQSCK(MIN/MAX):数据有效信号 strobe 上升沿相对于时钟信号 CK_t(上升沿)、CK_c(下降沿)所允许的延迟范围;
- tDQSCK:数据有效信号 strobe 上升沿相对于时钟信号 CK_t(上升沿)、CK_c(下降沿) 的实际延迟;
- tQSH:数据有效信号高电平脉冲脉宽;
- tQSL:数据有效信号低电平脉冲脉宽;
(5) WRITE:与READ时序参数类似;
- CWL(CAS Write latency):Column-Address-Strobe Write,写命令与第一个送出第一个写数据之间的延迟;
- AL(Additive Latency): AL 延迟允许紧跟激活命令后发出写命令,器件内部将写命令延迟 AL 个时钟周期后执行。该项特性用于保持器件内部的高带宽与高速率
- WL(Read Latency):总的写延迟,WL = AL + CWL;
- tCCD_S/L:写入不同 bank 之间的延迟,和 tRRD_S/L 类似,访问不同 bank group 的 bank 相比属于同一 bank group 的延迟要小一点,为 tRRD_S (short);
5.https://zhuanlan.zhihu.com/p/348360737
(1) 主要讲解write leveling;
(2) write leveling作用:调整CK与DQS信号间相位,使DRAM处二者边沿对齐;
(3) write leveling过程:MC配置DRAM颗粒的mode register使其进入write leveling模式; 源端MC同步发送时钟信号 CK 和数据有效信号 DQS ,接收端DRAM处出现了偏差,一般来说时钟信号会更滞后一些。此时,从 DRAM 端返回的 DQ 值为 0,表示 DQS 上升沿时 CK 信号为低电平。源端 MC 根据 DQ 数值,继续加大 DQS 的延迟,直至 DQ 值为 1,此时 DQS 上升沿时 CK 信号为高电平。再略微将延迟调小,就捕捉到了 CK 的上升沿,记录此时的 DQS 延迟值,就完成了 DQS(数据)与 CK 的同步。
(4) write leveling关键时序:
- tDQSS,tDSS,tDSH:此三者都是 write leveling 调整的最终目的。tDQSS 是 DQS 上升沿相对 CK 上升沿的偏差,DDR4 要求两者的偏差在 ±0.27 个 tCK 范围内,这也是 write leveling 精度的参照。tDSS,tDSH 分别是 DQS 信号下降沿相对于 CK 上升沿的建立和保持时间。建立或者保持时间的违例会导致 DQS 采样失败。
- tWLMRD: write leveling 的专属参数。在 MC 配置 DRAM MR,使之进入 write leveling 模式后,经过 tWLMRD 后,MC 开始发出第一个用于 write leveling 的 DQS 脉冲.
- tWLO/tWLOE:DRAM 在 DQS 采样 CK 值后,通过 DQ 返回采样值,这里需要注意的是,返回采样值是一个异步的操作。DRAM 会在采样后的 tWLO 时刻返回采样值。协议规定,DQ 的所有比特都会返回一个相同的值,但这些比特的跳变时间之间有一个偏差,这个偏差的最大值是 tWLOE。
6.https://zhuanlan.zhihu.com/p/397260462
(1) 关于DDR模型的内容(行为级模型,时序模型,信号完整性模型等),不再局限于DDR spec中的描述;
7.【未阅】https://zhuanlan.zhihu.com/p/401232961