DDR5 SDRAM spec (二)功能描述(核心流程与配置)

一、复位与初始化

这是一张DDR(双倍数据速率)内存芯片的简化状态图,用于描述内存芯片在不同工作阶段的状态转换逻辑,是理解内存芯片工作机制的核心示意图。以下从状态、转换条件、核心逻辑三方面解析:

1.1 核心状态与功能分区

图中状态可分为 ** 全局状态(围绕 “Idle”)读写操作子状态(围绕 “Bank Active”)** 两部分,各状态对应内存的关键工作阶段:

1.1.1 全局核心状态:Idle(空闲态):

内存芯片的 “默认待机状态”,大部分时间处于此状态,等待外部(如 CPU、内存控制器)的指令触发状态转换。从 “Idle” 可向数十种功能状态转换,覆盖内存的全生命周期操作:

  • 初始化与测试类Power-On(上电初始化)、Reset Procedure(复位流程)、Refreshing(刷新,维持内存数据)、MBIST(内存内置自测试)、ZQ Calibration(阻抗校准,确保信号完整性);
  • 功耗管理类Active Power Down(主动掉电,降低功耗)、Pre-charged Power Down(预充电后掉电);
  • 训练与配置类Read Training(读训练,优化读时序)、CA Training Mode(命令地址训练模式)、Maximum Saving Mode(最大节能模式)。
1.1.2 读写操作子状态:围绕 “Bank Active”

内存采用 “Bank”(存储体)架构,同一时间仅能对一个 Bank 进行读写。读写操作需经历 “激活 Bank→读写→预充电” 的流程,对应核心子状态:

  • Bank Active:Bank 被 “激活”,可接受读写指令;
  • Writing:向激活的 Bank 写入数据(含 “等待写”Awaiting Dummy Write等细分状态,处理写时序);
  • Reading:从激活的 Bank 读取数据(含 “等待读”Awaiting Dummy Read等细分状态,处理读时序);
  • Precharging:读写完成后,对 Bank 进行 “预充电”(关闭 Bank,为下一次操作做准备)。

1.2  状态转换条件(箭头与标注)

图中箭头表示状态转换的触发条件,标注的信号 / 命令是触发转换的 “钥匙”,遵循内存的 JEDEC 协议规范:

  • 简单条件:箭头标注单个信号(如ACT表示 “激活命令”,触发IdleBank Active);
  • 组合条件:通过图例中 “A+B+C(与)”“A||C(或)” 标注多信号组合触发(如WR+BL32表示 “写命令 + 32 位突发长度”,触发Bank ActiveWriting);
  • 自动 / 顺序触发:虚线箭头标注 “Automatic sequence”(自动流程)或 “Command sequence”(命令序列),表示无需外部指令,芯片内部按预设逻辑转换(如刷新完成后自动回到Idle)。

1.3 核心逻辑:内存工作的 “生命周期”

结合状态与转换,可梳理内存的典型工作流程(以 “读操作” 为例):

  1. 芯片处于Idle态,等待指令;
  2. 内存控制器发送ACT(激活命令)+ 目标 Bank 地址 → 进入Bank Active
  3. 控制器发送RD(读命令)+ 地址 → 进入Reading,数据从内存读出;
  4. 读完成后,控制器发送PRE(预充电命令) → 进入Precharging,关闭 Bank;
  5. Precharging完成 → 自动回到Idle,等待下一次指令。

二、基本功能(Basic Functionality)

The DDR5 SDRAM is a high-speed dynamic random-access memory. To ease transition from DDR4 to DDR5, the introductory density (8 Gb) shall be internally configured as 16-bank, 8 bank group with 2 banks for each bank group for x4/x8 and 8-bank, 4 bank group with 2 banks for each bankgroup for x16 DRAM. When the industry transitions to higher densities (=>16 Gb), it doubles the bank resources and internally be configured as 32-bank, 8 bank group with 4 banks for each bank group for x4/x8 and 16-bank, 4-bank group with 4 banks for each bankgroup for x16 DRAM.

The DDR5 SDRAM uses a 16n prefetch architecture to achieve high-speed operation. The 16n prefetch architecture is combined with an interface designed to transfer two data words per clock cycle at the I/O pins. A single read or write operation for the DDR5 SDRAM consists of a single 16n-bit wide, eight clock data transfer at the internal DRAM core and sixteen corresponding n-bit wide, one-half clock cycle data transfers at the I/O pins.

Read and write operation to the DDR5 SDRAM are burst oriented, start at a selected location, and continue for a burst length of sixteen or a ‘chopped’ burst of eight in a programmed sequence. Operation begins with the registration of an ACTIVATE Command, which is then followed by a Read or Write command. The address bits registered with the ACTIVATE Command are used to select the bank and row to be activated (i.e. in a 16Gb part, BG0-BG2 in a x4/8 and BG0-BG1 in x16 select the bankgroup; BA0-BA1 select the bank; R0-R17 select the row; refer to “DDR5 SDRAM Addressing” for specific requirements). The address bits registered with the Read or Write command are used to select the starting column location for the burst operation, determine if the auto precharge command is to be issued (CA10=L), and select BC8 on-the-fly (OTF), fixed BL16, fixed BL32 (optional), or BL32 OTF (optional) mode if enabled in the mode register.

Prior to normal operation, the DDR5 SDRAM must be powered up and initialized in a predefined manner. The following sections provide detailed information covering device reset and initialization, register definition, command descriptions, and device operation.

以上详细介绍了 DDR5 SDRAM(双倍数据速率第 5 代同步动态随机存取存储器)的关键特性与工作机制:

2.1 存储架构与密度配置

  • 入门密度(8 Gb)
    • 对于 x4/x8 位宽的 DRAM,内部配置为16 个存储体(bank),分为8 个存储体组(bank group),每个存储体组包含 2 个存储体;
    • 对于 x16 位宽的 DRAM,内部配置为8 个存储体,分为4 个存储体组,每个存储体组包含 2 个存储体。
  • 更高密度(≥16 Gb):存储体资源翻倍,
    • x4/x8 位宽的 DRAM 变为32 个存储体,8 个存储体组,每个组含 4 个存储体;
    • x16 位宽的 DRAM 变为16 个存储体,4 个存储体组,每个组含 4 个存储体。

2.2 高速运行的架构支撑

采用16n 预取(prefetch)架构,结合能在 I/O 引脚每时钟周期传输两个数据字的接口。一次读或写操作时:

  • 内部 DRAM 核心进行一次16n 位宽、8 个时钟周期的数据传输;
  • I/O 引脚对应进行 16 次n 位宽、半个时钟周期的数据传输。

2.3 读写操作机制

读写操作是突发式的,从选定位置开始,按程序序列进行,突发长度为 16,或可 “截断” 为 8。操作流程为:

三、复位和初始化

3.1 模式寄存器(MR)默认设置

对于上电和复位初始化,为防止DRAM功能异常,按照模式寄存器(MR)默认设置表进行设置:

配置表详细列出了内存关键功能的默认配置参数,这些默认设置是 DDR5 内存初始化和正常工作的 “基础规则”,内存控制器需遵循这些参数与 DDR5 器件交互,保障数据传输的时序、电压、阻抗等指标符合规范。涵盖以下核心信息:

3.1.1 性能与时序类

  • 突发长度(Burst Length):默认突发长度为 16(BL16)。
  • 读 / 写潜伏期(Read/Write Latency):读潜伏期(RL)与 CAS 潜伏期(CL)关联,写潜伏期(WL)为 “RL - 2”,是固定时序值。
  • 写恢复 / 读预充电延迟(Write Recovery、Read to Precharge Delay):写恢复时间(tWR)默认对应 “4 个时钟周期(@3200MT/s 时为 30ns)”;读至预充电延迟(tRTP)默认对应 “12 个时钟周期(@3200MT/s 时为 7.5ns)”。

3.1.2 电压参考类

  • VrefDQVrefCAVrefCS(数据、命令地址、片选信号的参考电压):默认值均对应 “VDDQ 电压的 75%”,用于保障信号完整性。

3.1.3 错误与修复类

  • ECS 错误阈值:默认计数为 256,用于定义 “错误校正系统(ECS)” 的触发阈值。
  • 封装后修复(Post Package Repair):默认禁用 “高优先级修复(hPPR)” 和 “标准优先级修复(SPPR)” 功能。

3.1.4 信号端接类(ODT 与 RTT)

ODT(On - Die Termination,片上端接)用于优化高速信号的阻抗匹配,RTT(端接电阻)定义不同场景下的阻抗值:

  • CK ODT(时钟引脚端接)、CS ODT(片选引脚端接)、CA ODT(命令地址引脚端接):默认配置由 “strap 引脚(硬件配置引脚)” 决定,不同分组(Group A/B)对应不同端接电阻(如 40Ω、80Ω)。
  • DQS_RTT_PARKRTT_PARKRTT_WRRTT_NOM(读 / 写场景端接电阻):默认值涵盖 “关闭端接(RTT_OFF)”“240Ω”“80Ω” 等,用于匹配不同数据传输场景的信号质量。

3.1.5 厂商特定类

RFM RAAMMTRFM RAAMTRFM RAA Counter等配置为 “vendor specific(供应商特定)”,由内存厂商自定义,用于厂商独有的功能或优化。

3.2 上电初始化时序

3.2.1 上电初始化

这张图是 DDR5 内存的上电初始化时序图,完整呈现了从电源开始上电到完成配置进入工作状态的全流程。简单来讲,X轴是 t_at_z 时间段,Y轴是各个信号。结合 DDR5 上电初始化的通用关键阶段,对各阶段及对应信号变化进行详细解释:

1. 电源上升阶段(对应图中 Power Ramp 区域,可视为初始时间阶段)

  1. VPPVDDVDDQ 电源信号:从 0V 开始,缓慢上升到各自的目标电压(如 VDD 通常为 1.1V,VDDQ 为 0.55V 左右,VPP 为编程电源)。这一过程是为了避免电源过冲损坏芯片,电源上升需满足一定的时间约束,不能过快。
  2. RESET_n 信号:初始为高电平,在电源上升过程中保持高电平,尚未触发复位操作。
  3. CS_n 信号:初始为高电平,未选中任何内存芯片。
  4. CA[13:0] 命令地址总线:处于不确定状态,因为此时电源尚未稳定,无法进行有效的命令和地址传输。
  5. CMD 命令信号:无有效命令传输,处于空闲状态。
  6. 各类 ODT(片上终端)信号(如 CS ODTCA ODT 等):处于未知或默认的初始状态,还未进行阻抗匹配的配置。

2. 复位阶段(对应图中 Reset 区域)

  1. RESET_n 信号:变为低电平,触发内存芯片的复位操作。复位信号需要保持低电平一定时间(如满足 tINIT1 等时间参数),以确保内存内部所有寄存器、状态机等被初始化到初始状态。
  2. CS_n 信号:变为低电平,选中目标内存芯片,为后续与该芯片进行命令和数据交互做准备。
  3. VPPVDDVDDQ 电源信号:已上升到稳定的目标电压,为芯片复位操作提供稳定的能量供应。
  4. CA[13:0]CMD 信号:仍无有效命令传输,等待复位完成后进入初始化阶段。

3. 初始化阶段(对应图中 Initialization 区域)

  1. RESET_n 信号:从低电平恢复为高电平,复位操作完成。
  2. CK_t/CK_c 差分时钟信号:开始产生稳定的高低电平交替波形,为内存的所有操作提供同步时钟。
  3. CA[13:0] 命令地址总线:保持在 NOP(无操作)编码状态,这是一种过渡状态,用于让内存芯片确认命令总线处于稳定状态,避免非法命令的误操作。
  4. CMD 命令信号:传输 NOP 命令,持续一定时间(如满足 tINIT5 等时间参数),确保芯片能够稳定识别命令总线的状态。
  5. 各类 ODT 信号:从初始的未知状态切换到默认的关闭状态(如 RTT_OFF),为后续信号传输的阻抗匹配做初步准备。

4. ZQ 校准与 DLL 复位阶段(初始化阶段内的关键子阶段)

  1. ZQ 相关操作:发送 ZQ 校准命令,内存芯片通过外接的 240Ω 电阻(ZQ 引脚)校准输出驱动阻抗(RON)和片上终端阻抗(ODT)。校准过程需要一定时间(如满足 tZQ 等时间参数),校准完成后,阻抗会被调整到符合要求的数值,以保证信号传输的完整性。
  2. DLL(延迟锁定环)复位:发送 DLL 复位命令,复位内存内部的延迟锁定环,消除上电后时钟相位的偏差,确保 CK_t/CK_c 差分时钟对称,为后续时钟与数据的同步奠定基础。

5. 模式寄存器配置阶段(对应图中 Configuration 区域)

  1. CA[13:0]CMD 信号:传输模式寄存器写(MRW)命令,对关键的模式寄存器进行配置。例如配置突发长度(BL)、读潜伏期(RL)、写潜伏期(WL)等内存工作的核心参数。不同的模式寄存器配置需要按照一定的顺序和时间间隔进行(如满足 tMRD 等时间参数)。
  2. 各类 ODT 信号:根据模式寄存器的配置,从默认的关闭状态切换到由模式寄存器定义的终端阻抗状态(如 MR ODT STATE),实现信号传输的阻抗匹配,减少信号反射。
  3. MRR(模式寄存器读)操作:在模式寄存器写操作之后,可传输模式寄存器读命令,验证模式寄存器的配置是否正确。MRRMRW 命令之间需要满足一定的时间间隔(如 tMRD),以确保写操作完成后寄存器有足够的时间锁存数据。

6. 训练模式执行阶段(配置阶段内的关键子阶段)

  1. CACMD 信号:发送训练使能命令,执行各类训练操作,如 CS 训练(校准 CS_nCK 时钟的建立 / 保持时间)、CA 训练(校准 CA 总线信号与 CK 的时序对齐)、Write Leveling(校准 DQ 数据写入时与 CK 的相位关系)等。训练过程是高速率下保证信号完整性的关键步骤,不同的训练操作需要一定的时间(如满足各自的训练时间参数)。
  2. 训练完成与退出:训练完成后,发送退出训练模式的命令,等待一定时间(如 tTRAIN_EXIT)后,内存芯片进入空闲(Idle)状态,此时内存已完成所有初始化和配置工作,可接收正常的读写等操作命令。

这些阶段和信号变化相互配合,严格遵循时序约束,共同确保 DDR5 内存能够从上电状态顺利完成初始化,进入稳定可靠的工作状态,为数据的存储和传输提供保障。

3.3 稳定电源下的复位初始化

  • 3.2的(Power-up Initialization Sequence,上电初始化流程):针对电源从无到有的完整上电场景,即 DDR5 器件从 “完全无电” 状态(所有电源电压为 0)开始,经历电源逐步上升、稳定,最终完成初始化的全流程,是内存首次启动或系统断电后重启的必走流程。
  • 与3.2 的上电初始化流程不同,稳定电源下的复位初始化(Reset Initialization with Stable Power)是针对电源已稳定(VPP/VDD/VDDQ 均在规定范围)但需复位的场景,即系统未断电,仅需通过复位信号让内存恢复初始状态(如故障恢复、重新配置),无需重新执行电源上升过程。

上电初始化需完整处理 “电源从无到有” 的全流程,包含电源上电、电压稳定、复位、时钟启动、命令配置等完整环节;

稳定电源下复位:跳过电源上升,仅执行 “复位触发 + 复用流程”,因电源已稳定,无需处理电源上电环节,核心步骤简化为:

  1. 复位触发:直接拉低 RESET_n 至≤0.2VDDQ,低电平持续时间≥tPW_RESET(最小 1μs,远短于 3.2 的 tINIT1);同样需提前 tINIT2(10ns)拉低 CS_n。
  2. 复用已有流程:RESET_n 释放后,直接重复 3.2 节的 “步骤 ”(即 CS_n 时序控制、时钟启动、NOP 命令、ZQ 校准等),无需重新执行电源上升和稳定检查。

3.4 输入电压上电和下电时序

上图为电压胁迫的控制要求,可以看到,VPP必须一直高于或者等于VDDQ电压,在上电和下电期间必须满足VDDQ-VDD<=200mV 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值