大话 SDRAM 和 DDR 动态随机存取存储器

联合电子设备工程委员会(JEDEC [ˈdʒeɪ dɛk],Joint Electron Device Engineering Council)是一个全球性的微电子行业标准制定组织,由其推出的各类半导体存储标准广为人知,例如:双倍速率 SDRAM(DDR,Double Data Rate)、低功耗双倍速率 SDRAM(LPDDR, Low Power DDR)、高带宽内存(HBM,High Bandwidth Memory)、嵌入式多媒体卡(e.MMC,Embedded Multi Media Card)、通用闪存(UFS, Universal Flash Storage)、固态硬盘(SSD,Solid State Drive),本文主要讨论 DDR 与 LPDDR 内存颗粒相关的原理、引脚定义,以及对应的 PCB 布线规范。

最早推出的单数据率(SDR,Single Data Rate)类型 SDRAM 只能够在时钟信号的上升沿传递数据,而后续问世的 DDR1 则可以同时工作在时钟信号的上升沿与下降沿,从而在相同的时钟频率下实现了双倍的传输效率;而在 DDR2 又引入了 4 位预取(Prefetch)机制,后续的 DDR3 进一步将预取宽度提升至 8 位,并且为 命令/地址线 引入了全新的 Fly-by 拓扑(之前版本采用 T 型 拓扑),优化信号走线的同时降低时钟偏移。DDR4 则着重于 Bank Group 提升寻址效率,最新的 DDR5 则增加了 PMIC 电源管理(集成多通道降压 Buck 和 LDO)以及 I³C 串行通信总线(即增强型 I²C 总线),同时预取宽度提升至 16 位,并且内置 ECC 错误校验。

Memory 存储器种类

随机存取存储器(RAM,Random Access Memory)是一种能够高速随机存取数据的易失性存储器,可以将其具体划分为如下两种类型:

  1. 静态随机存取存储器(SRAM,Static RAM)依靠晶体管组成的双稳态触发器来存储比特位,通常集成在芯片内部作为高速缓存使用;
  2. 动态随机存取存储器(DRAM,Dynamic RAM)需要通过不断刷新充电来维持数据,广泛运用于 SoC 芯片与低速存储器(例如 NAND Flash)之间作为数据传输的桥梁;

同步动态随机存取存储器(SDRAM,Synchronous DRAM)则在上述 DRAM 存储器的基础上引入了时钟同步机制,依次发展出下面两种类型:

  1. 单倍速率 SDRAM(SDR,Single Data Rate SDRAM):只能在时钟信号的 上升沿 传输一次数据;
  2. 双倍速率 SDRAM(DDR,Double Data Rate SDRAM):可以在时钟信号的 上升沿 和 下降沿 各传递一次数据;

接下来,我们将上述繁琐的存储器种类划分,简明直观的总结为下面的示意图:

DDR 版本发展脉络

这里的表格统计了内存颗粒从 SDRAM 发展到 DDR1、DDR2、DDR3、DDR4、DDR5 的时间脉络:

版本 时间 总线频率 传输速率 工作电压 拓扑 预取位数 Bank 数量 Bank Group
SDRAM 1993 年 100~166 MHz 100~166 MT/s 3.3V T 型 1n 4 无
DDR1 2000 年 133~200 MHz 266~400 MT/s 2.5V T 型 2n 4 无
DDR2 2003 年 266~400 MHz 533~800 MT/s 1.8V T 型 4n 4~8 无
DDR3 2007 年 533~800 MHz 1066~1600 MT/s 1.5V Fly-by 型 8n 8~16 无
DDR4 2014 年 1066~1600 MHz 2133~3200 MT/s 1.2V Fly-by 型 8n 16 4 组
DDR5 2019 年 1600~3200 MHz 3200~6400 MT/s 1.1V Fly-by 型 16n 32 8 组

注意:预取位数(Prefetch):是指一次读操作,能够从存储阵列当中读取到多少个数据位。

数据位宽 Data Width

位宽(Data Width)是指一枚 DDR 存储颗粒,单次能够并行传输的二进制位数(通常与 DQ 引脚的总数相匹配),DDR 硬件设计的基本原则是片上 DDR 存储颗粒的位宽与颗粒数量的乘积,必须等于 SoC 内存控制器的位宽:

\[ 单颗粒位宽 \times 颗粒数量 = SoC 内存控制器的物理位宽 \]

例如对于一个拥有 64 bit 位宽的 SoC 控制器,其对应的存储颗粒可以按照如下方式进行搭配(在不考虑多存储颗粒封装的 LPDDR4 与 LPDDR5 情况下):

\[ \begin{align} &8 颗 \times 单颗 8 位 = 64 位 \\ &4 颗 \times 单颗 16 位 = 64 位 \end{align} \]

注意:JEDEC 标准化组织使用 Rank(中文翻译为排列)来指代共享相同 地址、时钟、命令控制 总线的一组 DRAM 颗粒集合,其能够提供 SoC 内存控制器一次通信所需的全部数据位宽(通常为 64 位)。简而言之,一个 Rank 就是一套完整的内存数据位宽,即 SoC 内存控制器一次操作的数据抓取量。

JEDEC 系列标准

JESD79‑3/4/5 标准当中定义的 DDR3、DDR4、DDR5 单个存储颗粒的标准位宽有 x4、x8、x16 三种,而在后续推出的 JESD209‑4/5 标准当中,通过将多个存储颗粒封装在单枚芯片里,使得 LPDDR4 和 LPDDR5 单颗芯片的位宽能够达到 x32 和 x64 位。这里的 JESD(JEDEC Standard)是由联合电子设备工程委员会(JEDEC,Joint Electron Device Engineering Council)发布的标准文件编号前缀,该系列标准与 DDR 技术代际的对应关系如下面表格所示:

JESD 标准编号 涉及的 DDR 技术代际
JESD79‑3 DDR3 SDRAM
JESD79‑4 DDR4 SDRAM
JESD79‑5 DDR5 SDRAM
JESD209‑4 LPDDR4 和 LPDDR4X
JESD209‑5 LPDDR5 和 LPDDR5X

除此之外,JEDEC 组织还推出有涉及 Flash 存储器技术的一系列标准:

JESD 标准编号 涉及的存储器技术
JESD84 eMMC 系列规范(eMMC4.5、eMMC5.0、eMMC5.1)
JESD216 SPI/QSPI/OSPI/xSPI NOR Flash 系列闪存规范

以及涉及高速 ADC 与 DAC 转换器件的 JESD204 系列高速串行接口技术标准(用于替代传统 CMOS 单端和 LVDS 差分并行接口技术):

JESD 标准编号 传输速率
JESD204A 3.125 Gbps
JESD204B 12.5 Gbps
JESD204C 32 Gbps

注意:联合电子设备工程委员会(JEDEC,Joint Electron Device Engineering Council)是一个总部位于美国的跨国性半导体标准组织。

DRAM 基本电路结构

动态随机存取存储器(DRAM,Dynamic Random Access Memory)的最小存储单元由 1 个晶体管 Transistor(通常采用 NMOS)与 1 个电容 Capacitor(存储电荷时为 1,没有电荷时为 0)构成,因而被称为 1T1S 结构。

当电容器存储电荷的时候,表达的就是高电平 1;而当电容器没有存储电荷的时候,表达的则是低电平 0:

将海量的 1T1C 单元电路排列成由 行 Row 和 列 Column 组成的二维矩阵(如下图所示),其中横向控制线称为 字线(Word Line),连接到一整行晶体管的栅极,用于控制电荷的充放。而列数据线称为 位线(Bit Line),连接到每一个列的电容器,负责提供充放电荷的流入流出路径:

Bank 与 Bank Group

把由 1T1C 单元组成的二维矩阵,拆解为多个独立的小型阵列就称为存储体(Bank),每一个 Bank 都可以被独立的激活、读写、预充、刷新,并且能够进行并行操作,从而降低读写延迟,提升通信带宽。

总结一下,DRAM 存储器(SDRAM 和 DDR1/2/3)由多个 Bank 组成,每个 Bank 进一步由 1T1C 存储单元所构成的行列矩阵结构组成,其寻址层级依次为:

1
逻辑体(Bank)→ 行(Row)→ 列(Column)

SDRAM 和 DDR1/2/3 的传输频率和速率相对比较低,Bank 层的并行操作已经能够满足要求。然而传输频率和速率更高的 DDR4/5,面对更大的数据吞吐量,就需要进一步将多个 Bank 划分为存储体组(Bank Group),从而规避存储单元的读写等待延迟,并且让内存控制器获得更多的并行操作通道,同时能够配合更高的预取宽度:

  • DDR4:拥有 4 个存储体组 Bank Group(每组由 4 个存储体 Bank 组成,总共 16 个 Bank);
  • DDR5:拥有 8 个存储体组 Bank Group(每组由 4 个存储体 Bank 组成,总共 32 个 Bank);

相应的,DDR4/5 的寻址层级依次调整为如下的形式:

1
逻辑体组(Bank Group)→ 逻辑体(Bank)→ 行(Row)→ 列(Column)

注意:存储体组(Bank Group)能够避免单个 Bank 序列操作带来的延迟瓶颈,通过创建能够并行工作的独立子单元,使得内存控制器能够更加灵活高效的执行读写任务,减少因时序等待而产生的空闲时间,最大化内存总线的利用率和整体有效带宽。

SDRAM 与 DDR 的区别

经过数年的发展,内存经历了从同步动态随机存储器(SDRAM,Synchronous Dynamic Random Access Memory)到双倍数据率同步动态随机存储器(DDR,Double Data Rate Synchronous Dynamic Random Access Memory)的发展历程:

  1. 同步动态随机存储 SDRAM 名称当中的同步 Synchronous 是指其需要跟随来源于 SoC 内存控制器的外部时钟进行工作,而动态 Dynamic 表示的是由于 1T1C 结构当中电容需要不断刷新保持电荷,而随机寻址 Random Access 则表示可以随时进行任意地址访问。传统的 SDRAM 只能够在时钟信号的 上升沿 传递数据(1 个时钟周期只能传递 1 次数据),如下图所示:

  1. DDR 在本质上也属于 SDRAM 的一种,但是两者区别主要在于其命名中的双倍数据速率(Double Data Rate)表示其可以同时在时钟信号的 上升沿 和 下降沿 进行数据传递(1 个时钟周期可以传递 2 次数据),从而有效提升了数据传输的效率,如下图所示:

如何进行读/写/刷新操作

读出操作

读取数据是一个多步骤过程。内存控制器会发送 Bank 地址、行地址、列地址 相关的信息,具体流程可以参考下面的示意图以及后续的文字描述:

  1. 首先,SoC 发送读命令给 DRAM 存储器,其中前 5 个比特位用于从 Bank Group 当中选取指定的 Bank;
  2. 然后,该 Bank 内部所有字线全部被关闭(即关闭 NMOS 晶体管),断开电容的充放电路径;同时 Bank 内部所有位线预充电至满电容电压的约一半(假设电容充电至 1V 代表逻辑 1,放电至 0V 代表逻辑 0,那么这里就预充电至 0.5V);
  3. 接着,发送 16 位 行地址 激活指定行,当该行的存储单元被激活之后,便会向位线输出微弱电流,例如该行的某颗电容处于 1V 满电荷状态,电荷就会顺着位线进入感应放大器(Sense Amplifier)进行电平检测,进而判断出逻辑值 0 或者 1;
  4. 最后,感应放大器的判断结果会传递给读驱动器(Read Driver),此时会将 8 条位线连接到读驱动器的 8 条线路,进而传递给 SoC(由于读操作会损耗电容当中存储的电荷,如果需要保持数据,就需要通过刷新操作补充电容当中的电荷);

写入操作

执行写入操作的时候,SoC 会通过内存控制器将待写入的数据提前放置到数据总线,然后开启下面示意图所展示的一系列操作:

  1. 执行写入操作时,内存控制器(Memory Controller)通过地址总线给出地址信息(包含待写入的 行地址 与 列地址);
  2. 接下来,关闭指定 Bank 对应行的 NMOS 晶体管,隔离电容的充放电路径,同时将全部位线预充电至 0.5V(感应放大器会根据电容的电荷存储状态,将位线设置到合适的电压);此时如果需要让新数据覆盖旧数据,内存控制器就会发出写使能(Write Enable)信号,通过行地址选通信号 RAS 激活目标行,并在位线完成预充电之后,将列地址送入到 SoC 内存控制器;
  3. 内存控制器会将指定的 8 条位线,连接到写驱动器(Write Driver),此时写入驱动器里已经事先准备好了 8 位待写数据。写驱动器的驱动能力远远强于感应放大器,所以能够轻松覆盖指定行列所对应的 1T1S 存储单元数据。此时 WE 写使能信号会被拉低置为 0,表示正式开始写入操作,接着数据总线上待命的数据就会被锁存,并且写入到指定地址的 DRAM 存储单元当中;

前述的读出和写入操作,都需要一个固定的时钟信号来协调同步,所以 行地址选通(RAS Row Address Strobe)、列地址选通(CAS,Column Address Strobe)、写入使能(WE,Write Enable)等控制信号的时序必须严格对齐(除此之外,其它的控制信号还有片选 CS、时钟 CK、数据掩码 DM、输出使能 OE、刷新 REF、预充电 PRE 等等)。

注意:对存储单元某一行执行完读写操作之后,必须要进行行预充电(Row Precharge),从而关闭当前行,防止残留电荷与新的电荷发生叠加损坏数据,并且重置感应放大器内部的比较电压。本质就是把当前已经激活的行撤销掉激活,从而让出通道资源给后续新行的访问。

刷新操作

刷新操作是读写周期当中,需要重复执行的关键操作,该操作主要围绕感应放大器来进行(JEDEC 规范明确每一个逻辑行,必须在 64ms 时间窗口内至少完成 1 次刷新,避免电容漏电导致数据丢失):

第一步:通过字线激活指定行,导通该行所有存储单元的 NMOS 晶体管,随后将位线电压设定为满电容电压的一半(例如 0.5V),此时存储单元内的 NMOS 晶体管会根据两端电压差,允许电容中存储的电荷双向流动;

第二步:检测已经预置为 0.5V 的位线电压变化,若某一列位线上 1T1S 存储单元的电容存在 1V 满电荷,该电容就会向外泄放少量电流,使得位线的电压小幅抬升。此时感应放大器就会根据这个电压变化,判定存储单元保存的逻辑值是 0 还是 1;

第三步:将位线调整为标准电平(0V 或者 1V),将 1T1S 存储单元的充电至对应的标准电平,完成之后就关闭该行的选通,单次刷新流程结束;

注意:对存储单元执行读取操作之后,必须进行刷新操作。因为感应放大器判断逻辑值的时候,会损耗一部分电容当中保存的电荷,因而读取操作之后必须通过刷新操作,从而使其继续保持原有的逻辑电平状态。

总线拓扑 T 型 与 Fly-by

数据总线与地址/命令/控制总线的物理连接拓扑结构,可以具体划分为如下三种类型:

  1. 点对点拓扑:每颗存储颗粒都拥有独立的传输通道,控制器与颗粒之间一对一连接,不会共享总线资源,例如下面示意图中的黄色传输线(这种拓扑结构只针对 DQ / DQS / DM 这类数据信号线,并不是指代 DDR 布线的整体拓扑结构):

  1. Fly-by 菊花链串联拓扑:多颗存储颗粒使用一条直线串联到底,Fly-by 属于一种比较特殊的菊花链(Daisy Chain)拓扑结构,其必须通过 40Ω ~ 60Ω 终端电阻(VTT,Voltage Termination)来吸收末端反射 \(VTT = 终端匹配电压 = \frac{VDDQ}{2}\);(例如下面示意图中的黄色传输线,通常只针对 DDR 颗粒之间的共享信号,例如 A0 ~ A17 地址线,CK_t/CK_c 差分时钟线,RAS/CAS/WE/CS 等命令控制线):

注意:JEDEC 组织官方将 数据队列 DQ0 ~ DQ7、数据掩码 DM、数据总线反转 DBI_n 形成的信号线分组称为 数据字节通道(Data Bytelane)。

  1. 双 T 型拓扑:低速率 DDR3 以及更早之前的 DDR2 都采取了这种拓扑结构,内存控制器的地址/命令控制信号会先进入到第 1 个 T 型节点,划分为两路走线之后,再在第 2 个 T 型节点继续被划分为两路(上面示意图里的绿色传输线就采用这种方式),这种方式最大可以支持到 \(2^N\) 个存储颗粒的连接(其中 N 为分支次数)。

注意:数据线 DQ、DQS、DM 作为高速双向信号,必须严格遵循点对点连接。而对于 地址、时钟、命令控制 相关的信号,DDR1/2 和 DDR3 1066/1333 采用的是 T 型多分支拓扑,而 DDR3 1600 和 DDR4/5 则必须使用 Fly-by 菊花链串联拓扑。

内存颗粒的 FBGA 封装

DDR3、DDR4、DDR5 内存颗粒普遍采用 0.8mm 球间距的 FBGA 封装,传统球栅阵列(BGA,Ball Grid Array)封装的焊球间距‌通常为 1mm ~ 1.27mm,焊球直径通常为 ‌0.3mm ~ 0.5mm;DDR 内存颗粒采用的细间距球栅阵列(FBGA,Fine-Pitch Ball Grid Array)封装则是在传统 BGA 封装基础之上,进一步缩小了焊球的直径与间距(焊球间距‌缩小到 0.5mm ~ 0.8mm,焊球直径降低到 ‌0.2mm ~ 0.3mm),其中 FBGA-78 和 FBGA-96 是各大内存厂商比较常用的两种封装规格:

  • FBGA-78 封装:广泛运用于 x4 和 x8 位宽存储颗粒的 DDR 标准封装,拥有 78 个焊球;
  • FBGA-96 封装:广泛运用于 x16 位宽存储颗粒的 DDR 标准封装,拥有 96 个焊球;

注意:DDR 内存颗粒的相关封装标准,依然是由 联合电子设备工程委员会 JEDEC 在其《JEP95》规范当中制定。

DIMM 双列直插式储模块

双列直插内存模组(DIMM,Dual In-line Memory Module)是指焊接有多颗 DRAM 存储颗粒的内存模组,也就是通常所说的内存条。DIMM 相关的规范由 JEDC 标准化组织制订(主要定义了 物理尺寸、金手指针脚定义、插槽结构、定位缺口 等):

每一代 DDR 存储颗粒所对应 DIMM 模块的金手指数量都不尽相同,从早期的 SDRAM 的 168 Pin、DDR 的 184 Pin,DDR2 和 DDR3 的 240 Pin,到目前 DDR4 的 288 Pin,以及 DDR5 的 288 Pin(两者缺口位置不同):

DIMM 金手指连接器(Gold Finger)采用独立的正反两面引脚,单条就能够提供 64 位的带宽。标准的 DIMM 连接器主要用于台式机、服务器。而 SO-DIMM(Small Outline DIMM)则是一种更加短小紧凑的内存连接器,大约只有标准 DIMM 长度的一半,通常用于笔记本、移动主机等设备。

DDR3 芯片引脚定义

美光科技 推出的 MT41J 系列 DDR3 存储颗粒,其 x4 和 x8 位宽的颗粒采用 78 球 FBGA 封装,而 x16 位宽的颗粒则采用的是 96 球 FBGA 封装,下面表格展现的就是 96 球 FBGA 封装引脚功能定义:

引脚名称 引脚类型 功能描述
A[14:13],
A12/BC#,
A11,
A10/AP,
A[9:0]
输入 地址输入:提供 ACTIVATE 命令的行地址,以及 READ 或者 WRITE 命令的列地址,以及自动预充电位 A10,用于从存储阵列中选择对应位置。
BA[2:0] 输入 Bank 地址输入:用于定义 ACTIVATE、READ、WRITE 或 PRECHARGE 命令所执行的 Bank,除此之外还用于确定在 LOAD MODE 命令期间加载哪个模式寄存器,该引脚以 V_REFCA 作为参考。
CK,
CK#
输入 时钟:差分时钟输入,所有输入的 DDR3 控制和地址信号都会在 CK 的上升沿和 CK# 的下降沿被采样,并且输出数据选通信号 DQS、DQS# 也以 CK 和 CK# 信号的交叉点作为参考。
CKE 输入 时钟使能,用于使能和失能 DDR3 内部的时钟,该引脚以 V_REFCA 作为参考。
CS# 输入 芯片选择:对于包含有多个 Rank 的内存模块,内存控制器必须为每个物理 Rank 提供独立的 CS# 信号,该信号以 V_REFCA 作为参考。
LDM 输入 输入数据掩码(低字节):写数据的低字节输入掩码,该引脚以 V_REFDQ 作为参考。
ODT 输入 片上终端电阻使能:使能和失能 DDR3 颗粒内部的终端电阻,该引脚以 V_REFCA 作为参考。
RAS#,
CAS#,
WE#
输入 命令输入:行地址选通 RAS#,列地址选通 CAS#,写使能 WE# 三个引脚的电平组合定义了当前 DDR3 所执行的控制命令,该引脚以 V_REFCA 作为参考。
RESET# 输入 复位:低电平有效的异步复位信号。
UDM 输入 输入数据掩码(高字节):写数据的高字节输入掩码,该引脚以 V_REFDQ 作为参考。
DQ[7:0] 双向 数据输入输出(低字节):x16 位宽双向数据总线的低字节,该引脚以 V_REFDQ 作为参考。
DQ[15:8] 双向 数据输入输出(高字节):x16 位宽双向数据总线的高字节,该引脚以 V_REFDQ 作为参考。
LDQS,
LDQS#
双向 低字节数据选通:读取数据时作为输出,与读数据的边沿对齐;写数据的时候输入,与写数据的中心对齐。
UDQS,
UDQS#
双向 高字节数据选通:读取数据时作为输出,与读数据的边沿对齐;写数据的时候输入,与写数据的中心对齐。
ZQ 参考 阻抗校准参考引脚:用于为存储颗粒内部的输出驱动器和片内终端电阻 ODT 提供参考基准,该引脚经由外部 240Ω 精密电阻连接到 V_SSQ。
NC - 无连接:保持未连接状态即可。
引脚名称 引脚类型 功能描述
V_DD 电源 核心域电源:用于向 地址解码器、控制逻辑、内部存储阵列等 等核心电路提供 1.5V ± 0.075V 电源。
V_DDQ 电源 DQ 域电源:用于向 DDR3 颗粒的输出输出缓冲器提供 1.5V ± 0.075V 电源,用于驱动数据、地址、控制信号,不是内核电压。
V_REFCA 电源 控制、命令、地址信号的参考电压:必须始终保持稳定(包括自刷新期间),从而确保颗粒正常工作。
V_REFDQ 电源 数据信号的参考电压:必须始终保持稳定(自刷新期间可以关闭,从而优化功耗),保证器件正常工作。
V_SS 电源 核心逻辑接地:为内部地址控制信号接口、控制逻辑电路、核心存储阵列提供回流路径。
V_SSQ 电源 DQ/DQS 地:存储颗粒内部 与 V_SS 隔离,从而提升抗噪声能,但是外部 PCB 电路必须确保 V_SSQ 与 V_SS 共地。

DDR4 芯片引脚定义

美光科技 推出的 MT41A 系列 DDR4 存储颗粒,其 x4 和 x8 位宽的颗粒采用 78 球 FBGA 封装,而 x16 位宽的颗粒则采用的是 96 球 FBGA 封装,下面表格是其引脚功能定义:

引脚名称 引脚类型 功能描述
A[17:0] 输入引脚 地址输入:提供 ACTIVATE 命令的行地址,以及读/写命令的列地址,用于从对应 Bank 的存储阵列中选定一个存储单元。
A10/AP 输入 自动预充电:在读、写命令时采样 A10 电平状态,决定本次读/写访问结束后,是否对目标 Bank 执行自动预充电。
A12/BC_n 输入 突发截断:读/写命令时采样该引脚,决定是否执行突发截断(on‑the‑fly)。
ACT_n 输入 命令输入:当 ACT_n 与 CS_n 同时为低时,RAS_n/A16、CAS_n/A15、WE_n/A14 作为行地址输入,用于执行 ACTIVATE 激活命令;当 ACT_n 为高 CS_n 为低时,RAS_n、CAS_n、WE_n 用于普通命令。
BA[1:0] 输入 Bank 地址输入:指定 激活、读、写、预充电 命令所作用的 Bank Group 当中的目标 Bank。
BG[1:0] 输入 Bank Group 地址输入:指定 激活、读、写、预充电 命令作用的 Bank Group。
C0/CKE1,
C1/CS1_n,
C2/ODT1
输入 堆叠地址输入:仅用于多颗晶圆堆叠的存储颗粒,其中 C0/C1/C2 作为存储颗粒的 ID 选择信号,配合 CS_n、CKE、ODT 信号使用。
CK_t,
CK_c
输入 差分时钟输入:全部 地址、命令、控制 信号会在 CK_t 上升沿与 CK_c 下降沿的交叉点被采样。
CKE 输入 时钟使能:高电平开启 内部时钟、输入缓冲、输出驱动,低电平关闭;此外拉低 CKE 还可以执行预充电掉电、自刷新操作。
CS_n 输入 片选:高电平时屏蔽全部命令。
DM_n,
UDM_n,
LDM_n
输入 输入数据掩码:执行写操作时,如果 DM_n 为低,则对应输入字节的数据被掩码屏蔽,x4 位宽的存储颗粒不支持数据掩码功能,x16 位宽的颗粒使用的是 UDM_n、LDM_n。
ODT 输入 片上终端电阻:由内存控制器高速 DDR4 存储颗粒何时开启或关闭片内终端电阻。
PAR 输入 命令地址奇偶校验:开启之后奇偶校验将会覆盖全部的命令与地址输入信号。
RAS_n/A16,
CAS_n/A15,
WE_n/A14
输入 命令输入:CS_n、ACT_n 配合这组信号,定义输入的命令和地址。
RESET_n 输入 低电平异步复位:该引脚为低时存储颗粒复位,正常工作时必须保持高电平。
TEN 输入 连通性测试模式:高电平开启测试模式,低电平为正常工作。
DQ 双向 数据输入输出:即双向数据总线,x4、x8、x16 存储颗粒分别对应 DQ[3:0]、DQ[7:0]、DQ[15:0]。
DBI_n,
UDBI_n,
LDBI_n
双向 数据总线反相:x8 位宽的存储颗粒使用 DBI_n,x16 位宽的存储颗粒使用 UDBI_n(对应 DQ[15:8])、LDBI_n(对应 DQ[7:0])。
DQS_t,
DQS_c,
UDQS_t,
UDQS_c,
LDQS_t,
LDQS_c
双向 数据选通信号:作为源同步时钟来精确采样伴随它一起传输的 DQ 数据信号。
ALERT_n 输出 警告输出:用于向内存控制器上报警告,当出现命令地址的奇偶校验错误、CRC 数据错误的时候,就会触发这个警告。
TDQS_t,
TDQS_c
输出 终端数据选通:仅供 x8 位宽的 DDR4 存储颗粒使用。
ZQ 参考 ZQ 校准参考引脚:外接 240Ω 电阻连接到 VSSQ 引脚,主要用于片上终端电阻 ODT 的阻抗校准。
RFU - 保留引脚,留给未来的功能扩展引脚。
NC ‑ 无连接,存储颗粒内部没有电气连接。
NF ‑ 无功能引脚,存储颗粒内部存在电气连接,但是没有实际功能。
引脚名称 引脚类型 功能描述
VDD 电源 核心域电源:向 存储阵列、逻辑内核、地址/命令/时钟、控制电路 等核心电路提供 1.2V ±0.060V 电源。
VDDQ 电源 DQ 域电源:向 DQ、DQS、DM_n、DBI_n 的数据 IO 缓冲区提供 1.2V ±0.060V 电源。
VPP 电源 字线激活电源:DDR3 字线升压靠片内电荷泵,DDR4 将其移动至片外 2.5V(‑0.125V / +0.250V)。
VREFCA 电源 参考电压:用于控制、命令、地址引脚的参考电压。
VSS 电源 核心逻辑地,对应于 1.2V 核心电源 VDD 的参考地(同时也是 VPP 引脚对应的回流地)。
VSSQ 电源 DQ 地,对应于 1.2V 核心电源 VDDQ 的参考地。

注意:DDR3 和 DDR4 存储颗粒内部对 VDD 和 VDDQ 两个电源进行了隔离处理,但是外部 PCB 电路依然可以共用相同来源的 1.2V 电源轨。

DDR5 芯片引脚定义

美光科技 推出的 MT60B 系列 DDR5 存储颗粒,其 x4 和 x8 位宽的颗粒同样采用 78 球 FBGA 封装,而 x16 位宽的颗粒依然采用 96 球 FBGA 封装,下面表格是其引脚功能定义:

引脚名称 引脚类型 功能描述
CK_t,
CK_c
输入 时钟:差分时钟输入,所有命令/地址/控制信号均在 CK_t 的上升沿和 CK_c 的下降沿采样。
CS_n,
CS1_n
输入 片选:多内存颗粒系统的片选信号。
DM_n,
DMU_n,
DML_n
输入 输入数据掩码:写入数据时的输入掩码信号,写操作时 DM_n 采样为低电平,对应的输入数据会被屏蔽。该信号会在 DQS 的双边沿进行采样;x4 器件不支持 DM_n,x8 器件通过模式寄存器使能 DM_n 功能,x16 的 DMU_n/DML_n 功能由模式寄存器使能。
CA[13:0] 输入 命令/地址输入:根据真值表提供命令与地址的输入。
RESET_n 输入 低电平异步复位:低电平复位,内存颗粒正常工作时必须保持高电平,其高低电平阈值为 VDDQ 电源的 80% 到 20%。
DQ 输入/输出 数据输入输出:双向数据总线。如果通过寄存器开启 CRC 校验,则校验码会附加在传输数据的末尾。
DQS_t,
DQS_c,
DQSU_t,
DQSU_c,
DQSL_t,
DQSL_c
输入/输出 数据选通:读操作时为输出(边沿对齐),写操作时为输入(中心对齐)。对于 x16 位宽的颗粒,DQSL 对应的是 DQ0 ~ DQ7,DQSU 对应的是 DQ8 ~ DQ15。除此之外,数据选通差分对 DQS_t 与 DQS_c、DQSL_t 与 DQSL_c、DQSU_t 与 DQSU_c 分别会在读写操作时作为差分输入(颗粒只支持差分信号选通,不支持单端信号选通)。
TDQS_t,
TDQS_c
输入 终端数据选通:仅适用于 x8 器件。通过模式寄存器使能后,器件会将 TDQS_t/TDQS_c 上施加的终端电阻配置,同步应用到 DQS_t/DQS_c。模式寄存器关闭时,DM/TDQS 根据模式寄存器(MR)设置提供数据掩码功能。x4/x16 器件必须通过模式寄存器禁用 TDQS 功能。
ALERT_n 输入/输出 告警:如果 CRC 校验发生错误,该引脚会在对应时间段内拉低,不使用时需要将其上拉至 VDDQ。
TEN 输入 连通性测试模式使能:该引脚为高电平时,开启连通性测试模式,并驱动其他引脚。属于 CMOS 轨到轨信号,高低电平阈值为 VDDQ 的 80%与 20%。引脚用法取决于系统。内部通过弱下拉电阻拉至 VSS。
MIR 输入 镜像:用于通知系统当前工作在镜像模式,而非标准模式。该引脚连接到 VDDQ 时,芯片内部会将偶数位的 CA 引脚与下一个奇数位的 CA 引脚互换,例如 CA2 与 CA3 互换、CA4 和 CA5 互换;由于 CA[13] 引脚只有部分容量的芯片有效,不使用该引脚时,无论 MIR 引脚是否启用,都应该连接到 VDDQ;如果 MIR 引脚不需要镜像功能,由必须连接到 VSS。
CAI 输入 命令地址反相:该引脚连接到 VDDQ 时,芯片内部会对所有 CA 信号的逻辑电平进行反相,不使用该功能时,需要将其连接至 VSS。
CA_ODT 输入 命令地址片上终端:将该引脚连接到 VSS 就使用 A 组配置,连接到 VDDQ 则使用 B 组配置。
LBDQ 输出 回环数据输出:通过芯片内部的第 53 号模式寄存器 MR53:OP[4:0] 进行定义,回环功能开启时,引脚处于驱动模式,使用输出驱动电阻 RON(即输出缓冲器导通时,上下拉 MOS 管的等效电阻)。回环功能关闭时,该引脚会根据 MR36:OP[2:0] 寄存器的配置,开启片上终端电阻,或者呈现为高阻态。
LBDQS 输出 回环数据选通输出:单端选通信号,上升沿与回环数据边沿对齐,下降沿与回环数据中心对齐。开启回环功能时,该引脚处于驱动模式,使用前述的输出驱动电阻 RON;关闭回环功能时,该引脚会根据模式寄存器 MR36:OP[2:0] 的配置,开辟终端匹配电阻或者呈现高阻态。
RFU 输入/输出 保留引脚:提供给未来使用。
DNU — 勿使用引脚:即 Do Not Use 的意思。
NF — 无功能引脚:内部存在电气连接,但没有实际功能。
ZQ,
ZQ1
参考 ZQ 校准参考引脚,需要外接 240Ω 电阻(电阻另外一端连接到 VSS)。
引脚名称 引脚类型 功能描述
VDDQ 电源 DQ 电源:标称 1.1V,IO 接口电路专用电源。
VDD 电源 核心主电源:标称 1.1V,用于为内部的 存储阵列、状态机、逻辑控制电路、读写时序电路 提供电源。
VPP 电源 字线升压电源:标称 1.8V,用于将字线电压抬得高到大于 VDD 的 1.1V 水平,用于打开存储单元,完成读/写操作之前的行激活操作。
VSS 电源 全局公共电源地:所有电源和信号的 0V 参考基准。

注意:DDR5 取消了 VREF 外部电压参考引脚,相关的电压全部集成到芯片内部去生成。

大话 SDRAM 和 DDR 动态随机存取存储器

http://www.uinio.com/Electronics/DDR/

作者

Hank

发布于

2026-05-18

更新于

2026-09-26

许可协议