一、简介
全称是第双倍速率同步动态随机访问存储器。同步指的是其时钟频率和对应的FPGA/CPU控制器的系统时钟频率相同,随机指的是读取可以随机指定地址,无需按照严格的线性次序变化。
DDR DDR2 DDR3 DDR4 DDR5电压等级逐渐降低,读取速率更快
二、主要特点
掉电时无法保存数据,需要周期性刷新;时钟的上升沿和下降沿都可以读取数据,因此一个时钟周期可以读取两笔数据;突发传输,突发长度burst length一般为8.为了读写稳定采用差分时钟线。
三、一些基本概念
Data rates: 每秒传输多少个数据,是时钟频率的两倍;
Prefetch:预读取,即将相邻地址的数据一起读出来,比如对于DDR3可以实现8bit的预读取,如果他的数据位宽为16bit,那么一次读取就可以读取出来16×8bit的数据量;
Bank group:可以把DDR想象成一本书,ban group 就是章节编号,bank就是一章中每一小节的编号,行列就是某一页里面具体的某行某列。
Burst length :prefetch的数目;
Core frequency:颗粒核心频率,即内存cell阵列的工作频率。
IO clk Frequency:内存的数据传输速率。它和内存的prefetch有关。对于DDR,一个时钟周期的上升沿和下降沿都在传输数据,即一个时钟周期传输2bit的数据,所以DDR的prefetch为2bit。对于DDR2,IO时钟频率是其核心频率的两倍,同时也是双沿传输数据,因此DDR2的prefetch为2×2bit=4bit。对于DDR3,IO时钟频率是其核心频率的四倍,同时也是双沿传输数据,因此DDR3的prefetch为4×2bit=8bit。
四、DDR2的存储
bank,行地址和列地址。可以把DDR想象成一本书,bank就是页码,行列就是某一页里面具体的某行某列。
数据写入DDR的时候,先指定一个bank地址,再指定行地址,最后指定列地址;
DDR容量计算:bank数量×行数量×列数量×每个存储单元容量;
可以从命名中读出DDR的传输数据端口位宽,支持的最大时钟频率,传输数据的带宽,带宽=时钟频率×数据位宽×2(因为上升沿和下降沿都可以传输数据)
五、DDR与主控之间的连接信号
主要关注DQS(保证数据和地址同时到达)和DQM信号
六、DDR2的4bit数据预读
所以一次读数据会读四个出来,因此DDR2的突发长度最小为4,由于DDR是2bit的prefetch,他的最小突发长度为2.
突发长度为4的DDR2读时序图:
对于读操作,控制信号,地址信号与时钟上升沿采用中心对齐方式;DQ和DQS信号采用边沿对齐方式,对于写,都是中心对齐方式。DQS与DQ共同走线,构成随路时钟,保证数据传输稳定。这是因为在写操作的时候,数据是由DDR2的控制器(FPGA)发出的,由于DDR控制器工作时钟与物理层外部时钟PHY之间有相位差,而理论上DQS与PHY时钟应该同步,因此数据与DQS都是中心对齐的方式。在读的时候,DQ与DQS边沿对齐。DQ是双向数据总线,既可以读也可以写。
七、DDR子系统结构
控制器controller,DDR PHY和DRAM存储颗粒。
7.1 控制器controller
负责初始化DRAM,并重排读写命令,通过多端口(如AXI)与其他用户核进行连接。他接受来自一个或多个CPU,DSP的请求,由仲裁其来决定优先级,如果一个请求处于高优先级(赢得仲裁),会被映射到一个DRAM的物理地址并被转换为一个DRAM命令序列。这些命令序列被放置在内存控制器中的队列池(Queue pool)中,内存控制器会执行队列池中这些被挂起的命令,并将逻辑地址转化为物理地址,并由状态机输出符合DRAM访问协议的电信号,经由PHY驱动DRAM的物理IO口。
7.2 DDR PHY
是连接DDR颗粒和DDR Controller的桥梁,它负责把DDR Controller发过来的数据转换成符合DDR协议的信号,并发送到DDR颗粒。
7.3 DDR DRAM颗粒
从DDR PHY到内存颗粒的层次关系如下:channel->DIMM->rank->chip->bank->row/column组成的memory array。例如,i7 CPU 支持两个Channel(双通道),每个Channel上可以插2个DIMM(dual inline memory module,双列直插式存储模块),每个DIMM由2个rank构成,8个chip组成一个rank。一个Channel对应于一个控制器,DIMM是主板上的一个内存插槽,一个channel可以包含多个DIMM。一组可以被一个内存通道同时访问的芯片组合称作一个rank。Chip是内存条上的一个芯片,由多个bank组成,大多数是4bit/8bit/16bit,多个chip做成一个rank,配合完成一次访问的位宽。
###参考文章一文搞懂DDR SDRAM工作原理 - 知乎一步一步带你理解DDR基本原理_ddr内存控制器的工作原理-CSDN博客
如有侵权请联系删除