深入理解DDR:ODT和OCD
扫描二维码
随时随地手机看文章
在DDR技术的演进过程中,ODT(On-Die Termination)和OCD(Off-Chip Driver Calibration)成为了确保信号完整性和提升数据传输效率的关键技术。ODT通过在内存芯片内部实现阻抗匹配,有效减少了信号反射和干扰,而OCD则通过动态调整输出驱动强度,优化了信号的稳定性和传输质量。本文将基于DDR3深入探讨这两种技术的工作原理、应用场景及其对DDR性能的提升作用。
一、ODT(On-Die Termination)& ZQ Calibration
1). 什么是ODT
ODT(On-Die Termination) 是一种在DDR3 SDRAM芯片内部集成的终端电阻技术。它用于减少信号反射和提高信号完整性,从而确保数据传输的可靠性和性能。
在DDR内存架构中,一个内存通道可以连接多个Rank,这些Rank共享数据线和地址线。数据信号会顺序传递至每个Rank,而在信号链路的末端,由于信号反射,可能会对原始信号造成影响。信号反射会导致信号失真,增加噪声,甚至可能导致数据错误。
为了减少这种影响,需要在链路末端添加终端电阻以吸收反射波。在早期的DDR技术中,这些终端电阻通常被放置在PCB板上,但由于多种因素,其效果并不理想。因此,在DDR2技术中,终端电阻被集成到了DDR颗粒内部,这种技术被称为On-Die Termination(ODT)。ODT指的是在硅芯片,即DDR颗粒内部的终端电阻。
ODT技术的主要目的是确保DQS、RDQS、DQ和DM信号在终端电阻处得到充分衰减,避免这些信号在电路中产生反射,从而增强信号的完整性。根据JESD标准描述,ODT功能旨在通过允许DRAM控制器独立地为任意数量的DRAM设备开启或关闭终端电阻,来提升内存通道的信号完整性。这一特性不仅优化了信号传输,还降低了PCB设计的复杂性,减少了IO功耗,并提高了系统的整体性能。
ODT特性在自刷新模式下被关闭且不受支持。
2)ZQ Calibration
ZQ校准是DDR内存系统中用于精确阻抗校准的一项技术。它并不是一个固定的电阻值,而是一个校准过程,其目的是在温度和电压变化的情况下,保持信号完整性和输出信号的强度。
ZQ校准通过使用一个外部的高精度电阻(ZQ引脚,通常是240Ω±1%)作为参考,来自动校验数据输出驱动器导通电阻与ODT(On-Die Termination)的终结电阻值。
过程:
-
内存芯片通过ZQ引脚测量外部标准电阻的阻抗。
-
内部校准电路调整输出驱动器的阻抗,使其与外部标准电阻的阻抗匹配。
-
校准完成后,内存芯片内部的阻抗设置将被保存,以供后续操作使用。
校准类型:
-
ZQCL (ZQ Calibration Long): 长校准操作,通常在上电初始化或系统复位后进行,持续时间较长,确保阻抗匹配的准确性。
-
ZQCS (ZQ Calibration Short): 短校准操作,通常在系统运行过程中定期进行,持续时间较短,用于快速校准阻抗变化。
ZQ校准与ODT有直接的关联。ODT是DDR3及更高版本中引入的功能,它通过在DRAM芯片内部提供适当的阻抗匹配来减少信号反射,保证数据传输的准确性。然而,内部电阻会因为制程、温度、电压(PTV)的变化而有所偏差,这就需要ZQ校准来调整,以确保ODT的阻抗能够适应这些变化,维持信号完整性。
在DDR3中,ZQ校准同时应用于输出驱动器和ODT。每个DRAM的ZQ引脚连接到一个外部精密的240Ω电阻,这个电阻可以在不同的设备之间共享。ZQ校准通过片上校准引擎(On-Die Calibration Engine, ODCE)来自动进行,确保输出阻抗与ODT的终结电阻值正确设置,以适应环境变化,保持最优化的通信效果。校准后的ODT值可以显著减少不必要的信号反射,同时由于增加了电阻负载,信号摆幅的衰减也很小,由此产生的更纯净的数据信号可实现更高的数据传输速率。
3). Nominal ODT & Dynamic ODT
ODT的配置值称为Rtt,由DDR初始化过程的MR模式寄存器配置决定。DDR3中,ODT的配置模式有两种,分为标标准ODT(Nominal ODT)和动态ODT(Dynamic ODT)。
标准ODT(Nominal ODT)
-
定义:标准ODT的配置值称为Rtt_nom,它是DDR3内存模块在正常工作状态下的默认ODT设置。
-
控制方式:在标准ODT模式下,ODT的开关状态由内存控制器通过ODT管脚信号控制。控制器发送高电平信号以打开ODT。这是一种静态配置。
-
配置:Rtt_nom的值由模式寄存器1(MR1)中的M9、M6、M2位决定。这些位的组合决定了ODT的阻抗值。
-
阻抗值选择:在写操作过程中,如果使用Rtt_nom,那么只有RZQ/2、RZQ/4、RZQ/6三个阻抗值可以选择。这里的RZQ指的是DDR总线的特征阻抗。
-
应用场景:适用于对信号完整性要求较高且不需要频繁调整终端电阻的应用。适用于简单的系统设计,不需要复杂的动态控制逻辑。
动态ODT(Dynamic ODT)
-
定义:动态ODT允许DDR内存模块在不需要发送模式寄存器设置(MRS)指令的情况下,根据当前的工作条件动态调整ODT的配置值。
-
配置值:动态ODT的配置值称为Rtt_wr,这个值在模式寄存器2(MR2)中配置。
-
工作方式:当动态ODT功能被使能后,DDR内存模块可以在接收到写命令时,在Rtt_nom和Rtt_wr之间动态切换ODT值。这种动态调整有助于优化不同工作条件下的信号完整性。
-
优势:动态ODT可以根据数据模式、频率或温度的变化而动态变化,从而提供更好的信号完整性和系统性能。
-
应用场景:适用于对信号完整性和功耗优化要求较高的复杂系统。适用于需要频繁调整终端电阻状态以适应不同操作类型的高性能应用。
二、OCD(On-Chip Driver)
1)什么是OCD
OCD(Off-Chip Driver)是DDR-II开始引入的一项技术,OCD功能在DDR-II中是可选的,它主要用于调整I/O接口端的电压,以补偿上拉与下拉电阻值,从而调整DQS(数据选通信号)与DQ(数据信号)之间的同步,确保信号的完整与可靠性。OCD的主要作用在于减少DQ和DQS之间的倾斜,提高信号的完整性和控制电压来提高信号品质。
在OCD的调校过程中,会分别测试DQS高电平和DQ高电平,以及DQS低电平和DQ高电平的同步情况。如果不满足要求,则通过设定突发长度的地址线来传送上拉/下拉电阻等级(加一档或减一档),直到测试合格才退出OCD操作。
OCD技术在普通台式机上可能并没有什么作用,因为一般情况下对应用环境稳定程度要求并不太高。但是,它的优点主要体现在对数据完整性非常敏感的服务器等高端产品领域。在这些高端应用中,OCD能够确保数据传输的准确性和可靠性,尤其是在高速数据传输和复杂的工作环境中。
2) OCD校准过程
(1)初始化:
描述: 在DDR3 SDRAM初始化过程中,内存控制器发送OCD校准命令,启动校准过程。
命令格式: 通过模式寄存器设置(MRS)命令来启动OCD校准。
地址线: 设置特定的地址线以选择OCD校准模式。
(2)读取校准数据:
描述: 内存芯片内部的校准电路开始读取和分析校准数据。
过程: 内存芯片通过内部的延迟链路和比较器,测量和调整各个信号的延迟。
(3)调整内部延迟:
描述: 根据读取的校准数据,内存芯片调整内部延迟,以确保数据和控制信号在正确的时间到达目标位置。
过程: 内存芯片内部的延迟单元(Delay Elements)会被动态调整,以优化信号时序。
(4)存储校准结果:
描述: 调整后的延迟值被存储在OCR中,以便在后续操作中使用。
过程: 内存控制器可以通过读取OCR来获取校准结果,并根据需要进行进一步的调整。
(5)验证校准结果:
描述: 内存控制器验证校准结果,确保信号时序符合要求。
过程: 内存控制器可以通过发送测试命令和读取响应来验证校准结果。
3) OCD校准类型
OCD Write Calibration:
描述: 用于校准写入操作的信号时序。
过程: 内存控制器发送OCD Write校准命令,内存芯片调整写入路径的内部延迟,以确保写入数据在正确的时间到达内存芯片。
OCD Read Calibration:
描述: 用于校准读取操作的信号时序。
过程: 内存控制器发送OCD Read校准命令,内存芯片调整读取路径的内部延迟,以确保读取数据在正确的时间到达内存控制器。
4) OCD校准的好处
减少DQ和DQS之间的倾斜:OCD技术通过调整I/O接口端的电压,来补偿上拉与下拉电阻值,从而调整DQS(数据选通信号)与DQ(数据信号)之间的同步。这有助于减少DQ和DQS之间的倾斜,提高信号的完整性及控制电压来提高信号品质。
优化数据传输:OCD技术允许在数据传输过程中动态调整输出驱动器的特性,以适应不同的工作条件和环境变化,从而优化数据传输的性能。
减少信号失真和干扰:通过精确控制输出驱动器的特性,OCD有助于减少信号在传输过程中的失真和干扰,提高信号的稳定性和准确性。
后纪
技术很重要,技术背后的思想更重要!
技术背后的某些思想就是你解决以后问题的钥匙。我的文章可能一篇中知识点不太多,但是力求让你能深入理解,为你进阶打下基础。如果有一点点收获,也算是我对中国芯片行业的一点点贡献吧。





