DDR3 SDRAM 理论知识
1.1 DDR3 SDRAM 基本概念DDR3 SDRAM 英文全称“Double-Data-Rate Three Synchronous Dynamic Random Access Memory”译为“第三代双倍速率同步动态随机存取内存”或“同步动态随机存储器”。双倍速率(Double-Data-Rate)双边沿输出输入数据通俗来讲就是在一个周期内输出2 次数据上升沿输出一次数据下降沿输出一次数据。同步(Synchronous)DDR3 SDRAM 工作时钟的时钟频率与对应控制器(CPU/FPGA)的时钟频率相同并且 SDRAM 内部的命令发送与数据传输均以此时钟为基准实现指令或数据的同步操作。动态(Dynamic)DDR3 SDRAM 需要不断的刷新来保证存储阵列内数据不丢失。随机(Random)数据在 DDR3 SDRAM 中并不是按照线性依次存储而是可以自由指定地址进行数据的读写。1.2 DDR3 SDRAM 数据存取原理DDR3 SDRAM 内部有若干存储阵列L-Bank每个存储阵列通过行地址(Row Address)和列地址(Column Address)(先行后列)精确定位到存储单元每个存储单元包含若干存储体每个存储体存储1bit数据。所以在对 DDR3 SDRAM 进行数据存取时要先确定 L-Bank 地址定位到指定逻辑 Bank再依次确定行地址和列地址选中存储单元进而进行数据的存取操作而且一次只能对一个 L-Bank 的一个存储单元进行操作。1.3 DDR3 SDRAM 的存储容量以下图红色方框的DDR3 SDRAM 芯片为例“8Meg×16×8Banks”才是表示 SDRAM 存储容量的具体参数。8Meg表示单个 L-Bank 包含的存储单元的个数计算方法为单个存储阵列行地址数和列地址数的乘积。以此芯片为例行地址总线为 A0-A12行地址位宽 为 13 位 行 地 址 数 为 8192(2^13)(8K) 行 列地址位宽为10 位 列 地 址 数 为1024(2^10)(1K)列单个 L-Bank 中包含的存储单元个数为行地址数(8192)与列地址数(1024)相乘乘积为 8M(8K×1K8M)16表示数据位宽即每个存储单元存储数据的 bit数8BANKS表示一片 DDR3 SDRAM中包含的 L-Bank 个数此 芯片包含 8 个 L-Bank。DDR3 SDRAM存储容量(Bit)L-Bank 存储单元数×数据位宽(Bit)×L-Bank 个数1.4 DDR3 SDRAM 速度等级时钟频率(Clock Frequency)单位MHz所列举的具体参数为 SDRAM 正常工作的最高时钟频率SDRAM 工作时只能等于或低于这一时钟频率tRCD 表示写入自激活命令到开始进行数据读写中间所需的等待时间列举的数值表示等待时间的最小值单位为 nstRP 表示自预充电指令写入到预充电完成 所 需 的 等 待 时 间 列 举 的 数 值 表 示 等 待 时 间 的 最 小 值 单 位 为 ns CL(CAS(READ)latency)列选通潜伏期表示自数据读指令写入到第一个有效数据输出所需等待时间单位 nsTarget tRCD-tRP-CL 表示最大工作频率下tRCD、tRP、CL 等待的最小时钟周期数。