DDR4 Spec第三章 功能描述

最近在DDR4方面做了一些工作,但依然对整个流程理解得不够透彻,遂在去年4月阅读DDR4标准的基础上再次阅读该手册,理清了不少含糊的脉络。由于阅读的英文很快便会忘记,加之阅读英文时脑海中不自觉地翻译,于是大脑不堪重负,忘记速率更快了,遂萌生将其直接翻译的想法。

前两章和第六章之后不翻译,只翻译设计和验证时所需的基本概念,此包括3、4、5章节。翻译过程中结合了不少资料,其中包括CSDN上前辈的翻译:hierro_sic的博客_CSDN博客-DDR4标准,DDR3,SNPS-PHY领域博主

还有些其它的参考博客,分布在各个章节内。

3 功能描述

3.1 简略状态图

缩写功能缩写功能缩写功能
ACTActivateReadRD, RDS4, RDS8PDEEnter Power-down
PREPrechargeRead ARDA, RDAS4, RDAS8PDXExit Power-down
PREAPrecharge ALLWriteWR, WRS4, WRS8 with/without CRCSRXSelf-Refresh eXit
REFRefresh, Fine granularity RefreshRESET_nStart RESET procedureMPRMulti Purpose Register
TENBoundary Scan Mode Enable

Note1 这里的简单状态转移图只是一个大概的示意图。对于涉及到多bank操作、或者使能/不使能ODT(on-die termination终端电阻)以及其他情况下的一些操作,上述示意图中并没有将全部细节展示出来。

3.2 基本功能

DDR4 SDRAM是高速动态随机存储器,对于x4/x8的器件,其内部有4个Bank Group(BG),每个BG有4个bank,共16个bank;对于x16器件,其内部分为2个BG,每个BG中有4个bank,共8个bank。

DDR4 SDRAM获取数据的方式为8倍预取(8n prefetch),以此方式来实现高速数据传输的操作。对于IO pin,每个时钟周期传输2个data words,从而实现了8倍预取(时钟上升沿传输一个data word,时钟下降沿传输一个data word,此处的data word不可简单理解为一个字节)。一个单独的读或写操作包含一个8倍预取的bit宽度(8n-bit),对应在DRAM core内部有4个时钟数据的传输,对应在IO端口上为8个n-bit宽度(不是8n-bit,而是8个n-bit),半个时钟周期的数据传输。

DDR4 SDRAM的读和写操作是以突发方式进行的,从一个给定地址开始,并根据突发长度(BL8或者BC4的长度)进行读写操作。读写操作前必须先发送ACTIVATE命令。其地址位跟随ACT命令一起发送过来,用于选择哪个bank和哪个row被激活(被activate),对于x4/x8的器件,BG0-1用于选择bank group,对于x16器件,BG0用于选择bank group;BA0-1用于选择bank,A0-17用于选择row,详见2.8章节。地址位在不同的命令下有不同的含义,例如紧随ACT命令后的READ/WRITE命令,其地址bit表示选择列地址(column location),同时,对于突发的读写操作,还需要根据A10来确定是否进行auto precharge(自动充电),以及根据A12确定发送的burst length是否为BL8或BC4。

当然,在能够对DDR4正常操作之前,整个器件必须被正确地上电以及初始化。

下列章节讲述了复位和初始化、寄存器定义、命令描述和器件操作的细节。

3.3 复位和初始化流程

对于上电和复位初始化,为了防止DRAM进行错误的操作,推荐MR寄存器的默认值如下:

设置值含义
MR3 A3 = 0Gear down模式为1/2速率
MR3 A4 = 0PDA disable(Per DRAM寻址)
MR4 A1 = 0Max power saving mode disable
MR4 A8-6 = 000CS to Cmd/Addr latency disable
MR5 A2-0 = 000CA Parity latency mode disable
MR4 A13 = 0Hard post package repair mode disable
MR4 A5 = 0Soft post package repair mode disable

3.3.1 上电初始化流程

下列流程为上电以及初始化的流程,时序图参见图6。

  • 供电。推荐RESET_n和TEN信号保持在0.2VDD以下,其它的输入管脚可能为undefined状态。在稳压状态下,RESET_n必须低于0.2VDD,并保持最小200us,TEN必须低于0.2VDD并保持最少700us。在RESET_n释放之前,CKE必须为低。从300mV到VDD min的电源电压斜坡时间不能大于200ms;并在在斜坡时间之间,VDD >= VDDQ,且(VDD-VDDQ) < 0.3V。VPP需同时和VDD拉高,或早于VDD拉高,且在所有情况下,VPP电压值必须大于等于VDD。

VDD和VDDQ从同一电源接出来,并且

1. 除了VDD/VDDQ/VSS/VSSQ pin脚,其它pin脚的电源电压必须小于等于VDD和VDDQ,且必须大于等于VSS和VSSQ。另外,一旦电压稳定后,VTT被限制在最大为0.76V。

2. VrefCA = VDD/2

3. 在VDDQ之前或同时应用VDD,没有任何斜率反转。

4. 在VTT & VrefCA之前或同时应用VDDQ,没有任何斜率反转。

5. 在VDD之前或同时应用VPP,没有任何斜率反转。

6. 在VDD之前或同时应用VPP,没有任何斜率反转。

  • 在RESET_n释放后,等待500us,CKE拉高。在此期间,DRAM将会启动内部的初始化,且不需要外部时钟参与。
  • 在CKE拉高前,CK_t/CK_c必须保持稳定至少10ns或至少5个CK周期。由于CKE是一个同步信号,其对应的建立时间必须被满足(tIS)。同时,DES命令也必须在时刻Td处被寄存。一旦在复位之后CKE被拉高,则CKE必须被持续地拉高,直到初始化序列结束,此间也包括tDLLK和tZQinit的末尾。
  • 在RESET_n有效期间,DDR4 SDRAM将其ODT(终端电阻)保持在高阻态。ODT pin脚在CKE拉高之前的tIS时间之前可以为0/1态,当CKE拉高,ODT pin可以静态地保持在高/低状态。假如MR1中的RTT_NOM被使能,则ODT必须为0。在所有情况下,直到上电初始化完成,包括tDLLK和tZQinit的末尾,ODT pin的输入电平一般保持不动。
  • CKE拉高后,发送MRS命令来加载模式寄存器前(mode register),等待tXPR时间(Reset CKE Exit time),其中tXPR = Max(tXS, 5nCK)。
  • 发送MRS命令来加载MR3(为了使MRS命令指向MR3,需要令BG0=0,BA1-0 = 1);
  • 发送MRS命令加载MR6(BA0 = 0, BG0 = 1, BA1 = 1);
  • 发送MRS命令加载MR5(BA1 = 0; BG0 = 1, BA0 = 1);
  • 发送MRS命令加载MR4(BA1 = 0; BA0 = 0, BG0 = 1);
  • 发送MRS命令加载MR2(BG0 = 0, BA0 = 0, BA1 = 0);
  • 发送MRS命令加载MR1(BG0 = 0, BA1 = 0, BA0 = 1);
  • 发送MRS命令加载MR0(BG0 = 0, BA1 = 0, BA0 = 0);
  • 发送ZQCL命令开始ZQ校准。
  • 等待tDLLK和tZQinit时长,注意,这两者时间有重叠。
  • 流程结束,目前DDR4能够被用来后续的读写训练,包括Vref训练(参考电压训练)以及write leveling训练。

3.3.2 在上电初始化过程中VDD的转换速率要求

符号最大值最小值单位
VDD_sl0.004600V/ms
VDD_on200ms

3.3.3 在稳定电压下的复位初始化

图7显示了在无电源间断的情况下进行复位的时序图。

  • 将RESET_n信号置为低于0.2VDD的电平。RESET_n需要保持最少tPW_RESET的时间。在RESET_n信号拉高之前,CKE必须保持为低至少10ns。
  • 之后,参见3.3.2章节的上电初始化流程中的第2到10步骤。
  • 复位流程结束,DDR4 SDRAM已经ready。

3.4 寄存器定义

3.4.1 对MR寄存器进行编程

为了更加灵活地应用,DDR4提供了7个模式寄存器(MR),用户可以利用MRS命令写入不同的值。根据功能和模式的不同,MR被分为了不同的域。由于并不是所有的MR都有默认值,所以MR寄存器必须被初始化(或者说被重新初始化),例如在上电完成后或复位完成后对MR寄存器进行写入。

当然,MR寄存器的值也可以在DDR4正常工作期间被修改。当对MR进行写入/修改时,即使用户只对MRS某些域进行写入,则所有的地址域都要被重新写入(例如对MR4的A1进行修改,不修改其它的值,但A2, A3...的值也会被写入,所以正确的做法是将其它的值保持与原来一样的值,并写入到MR4中)。MRS命令和DLL Reset并不影响DRAM中存储的内容,这意味着这些命令能够在上电后的任何时间/时刻处被执行(被发送)。不过,MRS命令只能在DRAM处于idle状态时被发送

图8表明两个MRS命令发送的时序间隔。

有一些MR的设置影响了ADDR/CMD/control的输入功能,在此情况下,当当前MRS命令完成后,下一个MRS命令才会被允许发出。

在此情况下,MRS命令间的间隔时间并不是像图8上的tMRD时序,这些MRS命令间的间隔需要根据不同的功能描述来确定。

大多数MRS命令到Non-MRS命令(不是MRS命令的命令)间的间隔为tMOD,tMOD时间可以让DRAM来更新MR寄存器,准确来说应该是加载MR寄存器的内容,tMOD是MRS到non-MRS命令的最小时间要求(其中包括DES命令),如图9所示。

在某些MR setting的情况下,其function update需要更长的时间来更新(比tMOD时间更长)。在图9的NOTE2注释中,列出了不应用于除DES之外的下一个有效命令的MRS命令。这些MRS命令输入的情况具有独特的MR设置过程,因此请参考其对应的具体的功能描述。

上图中出现了ODT pin的改变,在做ODT时需要注意。其中,图10的NOTE2翻译如下:

DLL control for precharge power down, Additive latency and CAS read latency, DLL enable and disable, CAS write latency, CA Parity mode, Gear down mode, RTT_NOM等这些MRS命令会影响RTT_NOM的打开时序/关闭时序以及影响RTT_NOM的取值,这意味着MR寄存器的值被改变了。此时,在能够影响RTT_NOM开关时序或RTT_NOM值的MRS命令发送之前,ODT pin应该拉低至少DODTLoff + 1个时钟周期,并且在MRS发送后,持续tMOD时间后,ODT pin才能拉高。除了上述命令外,其它的MRS命令的发送并不需要将ODT pin拉低。

只要DRAM处于idle状态,在正常操作情况下,MR寄存器中的内容以及时序要求可以被改变。例如在所有bank处于precharge状态,且tRP时序满足,所有的数据突发传输已经完成,且在发送MRS命令前CKE已经拉高。

对于MRS命令来说,如果想改变RTT_NOM的功能(从enable到disable,或者从disable到enable),ODT pin必须在MRS命令发送前拉低。参见图10的NOTE2所述。在tMOD结束后,ODT pin拉高。如果在MRS命令之前或之后将RTT_NOM功能禁用,则MRS命令并不关心ODT pin的高低状态。(其实这段话和图10的NOTE2是一个意思)。

3.5 模式寄存器

此处内容大多为图表,不贴图,移步手册自行查阅。

在MR3中存在4个MPR page(MPR页),每个MPR page又分为MPR0~3,共16个MPR。其中MPR page3为制造商自定义的。

MR7在DDR4中未用到。

  • 10
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Jedec DDR4规范是一种用于内存模块的标准规范,是在DDR3规范的基础上进行了升级和改进的。 Jedec DDR4规范的主要目标是提高内存的性能和能效。与DDR3相比,DDR4采用了更高的内部频率和更低的电压,从而可以实现更高的带宽和更低的功耗。DDR4的内部频率通常在2133MHz到3200MHz之间,电压则从1.2V降低到1.05V。 DDR4规范还引入了一些新的技术和功能。例如,DDR4内存模块在设计上更加灵活,可以根据需要支持不同的容量和速度。此外,DDR4还支持“错误校正编码”(ECC)技术,可以检测和纠正内存中的错误,提高数据的可靠性。 Jedec DDR4规范还增加了一些新的命令、信号和引脚。例如,DDR4规范引入了“翻转寻址线”(CA training)功能,可以解决内存中的信号互相干扰的问题,提高数据的传输稳定性。此外,DDR4还引入了新的引脚布局,以支持更高的带宽和更快的数据传输速度。 总之,Jedec DDR4规范是一种用于内存模块的标准规范,通过提高频率和降低电压,以及引入新的技术和功能,达到提高内存性能和能效的目的。它的推出为计算机系统的性能提升提供了一定的保障。 ### 回答2: JEDEC DDR4规范是一种用于计算机内存的标准。它是由JEDEC(电子行业协会)制定的,旨在提供性能和能效的提升。这项规范定义了DDR4内存模块的技术要求和接口特性,以确保不同厂商生产的DDR4内存模块可以在不同的计算机平台上互通。 JEDEC DDR4规范包含了许多升级和改进,与之前的DDR3相比,DDR4内存模块具有更高的数据传输速率、更大的容量和更低的功耗。 根据JEDEC DDR4规范,DDR4内存模块的电压下降到1.2V,相比DDR3的1.5V,功耗减少了20%。此外,DDR4的数据传输速率也明显提高,从DDR3的最高2133MHz提升到DDR4的最高3200MHz。这一增加的速率使得DDR4内存模块在处理数据时更加高效。 DDR4规范还引入了一些新特性,如内存时钟增强(CRC)和地址伙伴预取(AP)等。内存时钟增强是一种增强的错误检测和修复机制,可提高内存模块的可靠性。地址伙伴预取则可以提高数据访问速度,减少延迟。 总而言之,JEDEC DDR4规范对于计算机内存的发展具有重要意义。它提供了更高的性能、更大的容量和更低的功耗,同时保证了跨不同计算机平台的互操作性。通过采用DDR4内存模块,用户可以获得更快的数据传输速度和更高的系统性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值