一、DDR3 发展历程
SDRAM(Synchronous Dynamic Random Access Memory)
同步动态随机存储器,同步是指内存工作需要同步时钟,内部的命令的发送
与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢
失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
DRAM 是用 PN 结电容存储 0/1 的,由于漏电的存在,时间长了两级板电位差
会消失也就是 1 会变成 0,所以过一段时间需要根据里面的内容补充电荷,这叫
刷新,刷新过程中不能读写。如果 DRAM 的存储单元没有被定时刷新,存储在里
面的数据就会丢失。补充电荷是按行来进行的,为了【全部】内存都能保住电荷,
必须对【所有】的行都得补充。
SDRAM 从发展到现代已经经历了五代,分别是 SDR SDRAM、DDR SDRAM、DDR2
SDRAM 、DDR3 SDRAM、DDR4 SDRAM 。第一代 SDRAM 采用单端(Single-Ended)时
钟信号,第二代、第三代与第四代由于工作频率比较快,所以采用可降低干扰的
差分时钟信号作为同步时钟。
DDR SDRAM:
严格的说 DDR 应该叫 DDR SDRAM,人们习惯称为 DDR。DDR SDRAM 是 Double Data
Rate SDRAM 的缩写,是双倍速率同步动态随机存储器的意思。SDR SDRAM 在一个
时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而 DDR 内存则
是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次
数据,因此称为双倍速率同步动态随机存储器。DDR 内存可以在与 SDR SDRAM 相
同的总线频率下达到更高的数据传输率。从外形体积上 DDR 与 SDR SDRAM 相比差
别并不大,他们具有同样的尺寸和同样的针脚距离。但 DDR 为 184 针脚,比 SDR
SDRAM 多出了 16 个针脚,主要包含了新的控制、时钟、电源和接地等信号。DDR
内存采用的是支持 2.5V 电压的 SSTL2 标准,而不是 SDR SDRAM 使用的 3.3V 电压
的 LVTTL 标准。
DDR2 SDRAM
DDR2 SDRAM(Double Data Rate Two SDRAM):为双信道两次同步动态随机
存取内存。工作电压为 1.8V。DDR2 采用全新定义的 240 PIN DIMM 接口标准,完
全不兼容于 DDR 的 184PIN DIMM 接口标准。
与 DDR 的最大区别在于,DDR2 内存可进行 4bit 预读取。两倍于标准 DDR 内
存的 2BIT 预读取,这就意味着,DDR2 拥有两倍于 DDR 的预读系统命令数据的能
力。内存技术最大的突破点其实不在于所谓的两倍于 DDR 的传输能力,而是,在
采用更低发热量,更低功耗的情况下,反而获得更快的频率提升,突破标准 DDR
的 400MHZ 限制。
预取技术:以 8 bit 预取技术为例
DDR3 SDRAM。
为双信道三次同步动态随机存取内存。DDR3 内存 Prefetch 提升至 8 bit,
即每次会存取 8 bits 为一组的数据。DDR3 传输速率介于 800~1600 MT/s 之间。
此外,DDR3 的规格要求将电压控制在 1.5V,较 DDR2 的 1.8V 更为省电。DDR3
也新增重置、ZQ 校准、温度自刷新等功能,让内存在休眠时也能够随着温度变
化去控制对内存颗粒的充电频率,以确保系统数据的完整性。
DDR3 SDRAM 可作为组件或模块,例如:DIMM、SODIMM、RDIMM 和 LRDIMM。
DDR4 SDRAM(Double Data Rate Fourth SDRAM)
DDR4 提供比 DDR3/ DDR2 更低的供电电压 1.2V 以及更高的带宽,DDR4 的传
输速率目前可达 2133~3200 MT/s。DDR4 新增了 4 个 Bank Group 数据组的设
计,各个 Bank Group 具备独立启动操作读、写等动作特性,Bank Group 数据组
可套用多任务的观念来想象,亦可解释为 DDR4 在同一频率工作周期内,至多可
以处理 4 笔数据,效率明显好过于 DDR3。 另外 DDR4 增加了 DBI(Data Bus
Inversion)、CRC(Cyclic Redundancy Check)、CA parity 等功能,让 DDR4 内
存在更快速与更省电的同时亦能够增强信号的完整性、改善数据传输及储存的可
靠性。
二、Custom、RDIMM、LRDIMM、UDIMM、
SODIMM 区别
Custom:颗粒 DDR3。
DIMM:内存条,由颗粒组成,主机用
注意:DDR、DDR2、DDR3 内存条不能随便插,因为金手指上引脚数量、卡口
数量、卡口位置可能会不同。
UDIMM,Unbuffered DIMM:服务器用,时延小,单条容量 2GB/4GB,最高
主频只能达到 1.33GHz。
RDIMM,Registered DIMM:服务器用,RDIMM 目前是较为主流的内存条,
单条容量在 2-32GB 之间,频率也有 1.33GHz 和 1.6GHz 两种选择。
SODIMM,Small Outline DIMM:定位于笔记本市场,UDIMM 和 RDIMM 都
隶属于 DIMM,内存模组的长度等,包括金手指的信号分布在内都是一样的。而
SODIMM 可以理解为小一号的内存模组。
LRDIMM,Load-Reduced DIMM:保证即使在单条内存 32GB 甚至更高容量下。
服务器每个内存通道依然能够布满至 3 条内存条。不过加入缓存也意味着时延进
一步增大,功耗提高。LRDIMM 目前常见的是单条容量 32GB,主频 1.33GHz。
具体的区别和应用领域,大家可以到镁光半导体网站上去了解一下:
https://www.micron.com/products/dram-modules
三、DDR3 基本知识
DDR3 寻址
这是个 DDR3 一个 Rank 的示意图。我们把左边 128MB Chip 拆开来看,它是
由 8 个 Bank 组成,每个 Bank 核心是个一个存储矩阵,就像一个大方格子阵。这
个格子阵有很多列(Column)和很多行(Row),实际上每个格子的存储宽度是内
存颗粒(Chip)的位宽
和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),
我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。这也
是为什么内存可以随机存取而硬盘等则是按块存取的原因。对于内存,这个单元
格可称为存储单元,那么这个表格(存储阵列)就是逻辑 Bank(Logical Bank,
下面简称 Bank)。
B 代表 Bank 地址编号,C 代表列地址编号,R 代表行地址编号。如果寻址命
令是 B1、R2、C6,就能确定地址是图中红格的位置。
Rank 有时也叫物理 Bank,注意其与上文中逻辑 BANK 的区别。在内存中,通
常一个 rank 为 4 片 DDR3。
1
Bank 地址线,BA0-BA2, 2^3=8,可以选择 8 个 Bank
2 列选 (Column Address Select), CAS#,用于指示现在要选通列地址。
3 行选(Row Address Select),RAS#用于指示现在要选通行地址。
4 地址线,A0-A13,用于行和列的地址选择(其中 A10 用于指示是否自动
预充电,A12 选择突发长度)。DDR3 的行列地址线是共用的。
5 数据线,DQ0-DQ15,用于提供全 16bit 的数据。
突发
突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,
连续传输的周期数就是突发长度(Burst
Lengths,简称 BL)。在进行突发传输
时,只要指定起始列地址与突发长度,内存就会依次地自动对后面相应数量的存
储单元进行读/写操作而不再需要控制器连续地提供列地址。
DDR3 SDRAM 采用突发的方式读写操作。存取数据是在选定的位置开始, 一
直持续到突发数据长度结束。DDR3 SDRAM 采用突发长度为 4 和突发长度为 8
的突发读写操作,可通过 A12 选择。
突发连续读取模式:只要指定起始列地址与突发长度,后续的寻址与数据的
读取自动进行,而只要控制好两段突发读取命令的间隔周期(与 BL 相同)即可
做到连续的突发传输。
谈到了突发长度时。如果 BL=4,那么也就是说一次就传送 4n 的数据。但是,
如果其中的第二笔数据是不需要的,怎么办?还都传输吗?为了屏蔽不需要的数
据,人们采用了数据掩码(Data
I/O
Mask,简称 DQM)技术。通过 DQM,内存
可以控制 I/O 端口取消哪些输出或输入的数据。这里需要强调的是,在读取时,
被屏蔽的数据仍然会从存储体传出,只是在“掩码逻辑单元”处被屏蔽。每个
DQM 信号针对一个字节数据。
封装
DDR3 SDRAM 在 DDR2 SDRAM 的基础上增加了部分功能,所以在引脚上也 有
了增加。8 位数据线和 16 位数据线芯片分别采用 78 球和 96 球的 FBGA 封装。