Pub手册4.4.3,DQS Gate Training(DQS门控训练),即DDR4内存控制器在读取数据时对DQS(数据传输时钟)信号的门控调整。门控是通过PHY(物理层)控制,目的是为了减少噪声并确保正确地捕获读取的数据。
1. DQS门控的重要性
在DDR内存中,DQS(数据传输时钟)是与数据一起传输的时钟信号。在读取数据时,DQS信号需要与数据精确对齐,以便正确地捕获数据。然而,由于许多因素,比如电路板布局和信号传输路径的长度,DQS信号与数据之间的时延可能并不完全知道,因此需要对DQS门控进行训练,以确保它能够精确地与数据对齐。
2. DQS门控训练的目的
- 门控对齐:训练的目的是找出DQS信号的门控位置,使其精确对齐读取的数据。这个门控必须在正确的时钟周期内开启,以避免误捕数据。
- 训练过程:由于读取路径上的延迟因素(例如PCB板的信号线长度)通常不完全知道,因此必须进行训练来适应系统的特定情况。
3. 训练机制
DDR4内存控制器提供了一个内置的DQS门控训练单元,可以通过初始化过程、软件控制或内存控制器通过PIR寄存器触发。
- 基本门控训练(Basic Gate Training):这是最基本的训练模式,用于调整门控的位置。
- 读取对齐(Read-Leveling):这是一个更高级的训练模式,通过对读取DQS信号的上升沿进行采样来识别正确的门控位置。
4. 训练的步骤
- 基本门控训练:
- 该训练执行一系列读取操作,通过不断地调整DQS门控的延迟,找到一个合适的门控位置,使得读取操作可以成功执行。
- 由于可能的门控位置非常多(最多可能有9个tCK时钟周期的延迟),使用了二分查找算法来加速训练过程。这种算法可以在较短的时间内找到最合适的门控位置。
- 读取对齐(Read-Leveling):
- 该训练方式使用采样窗口技术,它并不关心读取数据是否正确,而是通过捕获DQS信号的上升沿来确定门控位置。
- 这个过程可以更快速地找到DQS门控的正确位置,避免浪费时间去验证数据的正确性。
5. 并行训练和排序
- 并行训练:这两种训练算法会对所有的字节线同时进行训练。也就是说,DDR的所有数据通道(byte lanes)会在同一时刻进行门控训练。
- 逐个Rank训练:每次训练会对一个内存rank进行处理。即使在共享AC双通道模式下,也会依次对每个rank的字节线进行训练。
6. BIST环回模式中的DQS门控
- BIST(内建自测试)环回模式:在这个模式下,DQS门控会一直处于开启状态。这是因为环回模式本身是为了测试读取操作,在该模式下不需要进行门控训练。
- 环回模式中的DQS门控:即使门控被自动开启,仍然可以通过PGCR1.LBGDQS寄存器手动触发门控训练,用于测试环回模式中的门控机制。
- 环回模式与正常操作的差异
- 在BIST模式中,由于读路径较短,训练得到的门控位置与正常操作的门控位置是不同的。
- BIST模式下只有一个rank会进行训练,并且训练结果会应用到所有rank。
- 在环回模式中,写命令而不是读命令会被发出,因为是写入的数据被环回并当作读取的数据进行测试。
本文作者:
ICXNM-ZLin
本文链接: https://talent-tudou.github.io/2024/11/19/DDR/Data Training-DQS Gate Training/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!
本文链接: https://talent-tudou.github.io/2024/11/19/DDR/Data Training-DQS Gate Training/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!