This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM6546:DDR4 多位 ECC 故障

Guru**** 2489685 points
Other Parts Discussed in Thread: AM6548, TMDX654IDKEVM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1552292/am6546-ddr4-multibit-ecc-fault

器件型号:AM6546
主题中讨论的其他器件:AM6548TMDX654IDKEVM

工具/软件:

您好、

我们正在调查一个问题、我们最近在使用 Sitara AM6548 和 Nanya DDR4 (NT5AD512M8D3-HRI) 生产的一些控制器单元上遇到了多位 ECC 故障。

 

此 DDR 寄存器已通过“AM65x_DRA80xM_EMIF_Tool_2.03.xlsm"和“和以下参数进行配置。  

  • 数据速率:1600MT/s
  • ECC 已启用:是
  • 启用 CA 奇偶校验:是(奇偶校验延迟= 4tCK)
  • 数据宽度:32 位
  • CL = 12
  • CWL = 9
  • 刷新 3.9us (>85Deg)

 

通过 DDR 配置和状态寄存器、我们有一些问题和观察结果。  

  1. 我们在 DDRPHY_DX0GSR3 至 DDRPHY_DX4GSR3、HVWRN(主机 VREF 训练警告)和 DVWRN(DRAM VREF 训练警告)中有两个警告标志、两者都是字段 0x1。 什么可能导致这些警告?  
  1. 我们注意到、在“SPRUID7E AM65x 技术参考手册修订版 E“寄存器 DDRPHY_DX8SL2PLLCR0、CPPC 6'b000110 = PLL 基准时钟的范围从 280MHz 到 332MHz、我们假设这是手册中的错误、应该是 6'b001110  
  1. 对于寄存器 DDRPHY_PGCR6 和 DDRPHY_PGSR1 “AM65x_DRA80xM_EMIF_Tool_2.03.xlsm",“,可以、可以设置 INHVT((VT 计算抑制)和 VTSTOP (VT Stop) 标志。 是否在任何情况下禁用这些标志会很有用?  
  1. 有多个 DDRPHY 寄存器提到、值越大、命令时序的命令就越保守(在下面列出)。 今天、我们将使用 AM65x_DRA80xM_EMIF_Tool_2.03.xlsm 中的数据表/值。 如果我们对这些寄存器进行调整、这是否会有“副作用“、这意味着我们还必须补偿其他时序参数?  
  • DDRPHY_DTPR0、字段 TRRD、TRAS 和 TRP。
  • DDRPHY_DTPR1、字段 TWLMRD 和 TFAW。
  • DDRPHY_DTPR2、字段 TCKE 和 TX。
  • DDRPHY_DTPR3、字段 TRFC 和 TWLO。
  • DDRPHY_DTPR5、字段 TODUP、tRCD、TWTR。  
  1. 配置 CA 奇偶校验时、我们在使用使用 AM65x_DRA80xM_EMIF_Tool_2.03.xlsm“计算的更新寄存器值时遇到问题。 为了使其正常工作、我们必须使用奇偶校验延迟更新 DDRCTL_DFITMG0 寄存器、字段 DFI_TPHY_WRLAT 和 DFI_T_RDDATA_EN。 该工具是否也应该更新此寄存器字段?

此致

约翰尼·莫斯特拉姆

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Johnny、抱歉、您的回复太晚了

    1.我 认为 VREF 警告不重要。  从该规格中可以看出:  

    在以下情况下、此标志将置为有效: 当 VREF 值在扫描期间达到限值(最小值或最大值) 但未检测到数据故障时、警告标志将置为有效。

    这说明您有很大的 VREF 裕度、因为它到达了边界之一而没有失败。  所以我认为这不是问题。

    2.是的,这似乎是一个拼写错误,应该是  6'b001110

    3、VT 计算抑制需要在写入延迟线时设置,例如在初始化过程中,这就是配置设置延迟线的原因。  我相信您可以在 INIT 后清除该位(不确定我们的驱动程序是否会清除该位)以启用 VT 补偿逻辑。  

    4.不看细节,我会说也许。  如果你想放松这些值中的任何一个,我会尝试通过 xls 执行它,如果有依赖性,它将得到正确的计算。

    5.工具中似乎有一个错误,其中 PL 未正确包含在 RL 和 WL 参数中。  理想情况下、当您在“DDR Timing“选项卡中更新 PL 时、它应该会更新您提到的那些值。  我必须查看并更新工具

    当你说你最近看到了这个,你能给我更多的背景吗?  这些新的电路板构建了吗? 不同的制造商? 不同的器件型号?

    如果您认为时序中的某些因素导致 ECC 错误、可以根据需要放宽参数限制。  您是否尝试过禁用 CA 奇偶校验、看看是否仍然出现 ECC 错误(这将有助于消除 PL 导致的时序错误)?

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、James:
    硬件板有细微更改、但不会影响内存。 AM65 Sitara 和存储器芯片属于同一批生产。 与此同时、我们还计划先更换故障模块上的存储器芯片、然后更换 Sitara、并分析 PCB。

    我们已经尝试禁用 CA 奇偶校验、但仍然收到 ECC 错误。

    从存在 ECC 错误的存储器中读取数据时、几乎所有位都设置为 1、一位除外(例如 0xFFFFFFFF)。 您是否可以基于此说出有关 ECC 错误的一些内容?

    我们在不同模块(随附的 Excel 文件)上记录了一些 DDR PHY 寄存器。 黄色模块经常收到 ECC 错误(大约 1 分钟后)。 您是否可能在注册表中看到可能出错的内容?

    此致

    Johnny

    e2e.ti.com/.../DdrPhyRegisters.xlsx

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    0xFFFFFFFF 几乎使其似乎发生了更灾难性的事情。  发生错误时、是否所有地址位置都显示除一个位之外的所有位均设置为 1?  此错误是在成功操作一段时间后发生(需要多少时间?)、还是这些 ECC 错误会立即发生?

    是否可以在未启用 ECC 的情况下测试这些不良电路板?  这可以让您更好地了解误差是什么。  如果问题发生在某些地址位置的几个错误位、这与总存储器损坏时不同。  禁用 ECC 的情况下、这将更易于查看和评估。   如果所有地址都受到影响、则可能存在某种事件导致控制器或存储器内容损坏。

    我看了看登记册,没有看到任何异常的东西。  训练值与运行之间会略有不同、我没有看到任何表明训练不良或饱和值的情况。

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们发现、增加写入负载会增加 ECC 错误的频率。  我们是否可以更改任何可能解决 ECC 错误的写入参数?

    我们测试了未启用 ECC 的坏板、但此时无法检测到任何错误。

    此致

    Johnny

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    可能由于信号完整性较差、您会感应到更多的噪声。  由于写入次数越多、问题就越严重、因此需要检查存储器上地址/数据和 ODT 的驱动强度。  您使用的值是否来自电路板仿真?  还是使用了电子表格中的默认值?

    这是否也意味着在增加读取负载时 ECC 错误不会增加?

    您看到了哪种类型的错误?  还是您上面描述的内容?

    我们已经在未启用 ECC 的情况下测试了坏板、但我们目前还无法检测到任何错误。

    这很有趣。   电路板上的 DDR 拓扑是什么?  您能发送原理图吗?  ECC 存储器是单独的芯片吗?

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、James:

    我们没有进行任何电路板仿真、我们的 addr/data 和 ODT on memory 值是我们的最佳猜测(请参阅随附的图像)。

    由于我们的存储器布局尽可能类似于评估板 (TMDX654IDKEVM)、因此我们使用默认 TI 建议的阻抗参数执行了测试(请参阅随附的图)。

    在默认配置下、我们在 3 个不同的模块上测试了 3 天、没有任何 ECC 错误(单错或双错)、因此看起来非常有前景。
    这对我们来说是最好的地址/数据和 ODT 存储器吗?

    电子表格中有一条注释:
    **注意:用户应检查其 DDR 制造商提供的建议。

    我们已经查看了 DDR 存储器的数据表以获取建议、但未找到任何建议。
    您知道我们在哪里可以找到这些建议吗?

    此致、Johnny

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Johnny 没有仿真数据、由于布局与 EVM 类似、因此强烈建议使用工具中的默认值。  我认为供应商通常会有应用手册或直接与他们交谈的形式的建议、它们通常不在数据表中。

    如果您可以在整个温度范围内执行测试、那么我认为这应该能让您对配置的稳健性有一定的信心。

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们现在已经在 3 个不同的模块上在室温下测试了 3 天、在高温(环境温度为 65 摄氏度、AM65 芯片温度为 100 摄氏度左右)下测试了 1 天、没有任何 ECC 错误(单错或双错)、因此看起来仍然非常有前景。

    在选择端接阻抗时、我们只需查看端接电阻(39.2 欧姆)并选择最接近此值的电阻。 您能解释一下端接阻抗的参数吗?

    ODT / Rtt_Nom

    输出驱动器阻抗

    ODT / RTT

    输出驱动器阻抗:Addr/Ctrl/Clk

    输出驱动器阻抗:数据/选通

    然后、我们有一个有关 DDRPHY_PGCR1 位 8-7 ALERTMODE 的问题。 我们将其初始化为 0b00、因为我们使用 CA 奇偶校验、CA 奇偶校验按预期工作。 但是、TRM 规定“在 PHY 初始化后、如果支持奇偶校验、则该字段应编程为 2'b00。“ 在初始化期间将这些位设置为其他值(例如 0b01)是否很重要?

    此致、Johnny

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Johnny、

    ODT/RTT_Nom 是存储器中的 ODT 设置(在写入期间使用)

    输出驱动器阻抗是存储器中的驱动器阻抗设置(在读取期间使用)

    ODT/RTT 是处理器中的 ODT 设置(在读取期间使用)

    输出驱动器阻抗:Addr/Ctrl/Clk 是处理器中所有 Addr/Ctrl/Clk 信号的驱动器阻抗设置(用于所有 DDR 命令)

    输出驱动器阻抗:数据/选通是处理器中所有 DQ/DQS/DM 信号的驱动器阻抗设置(在写入期间使用)

    对于 ALERTMODE、我认为注意事项只是说明应使用 0b00 设置启用警报信号、否则控制器永远不会看到来自存储器的 CA 奇偶校验错误信号。  这并不意味着它应该是初始化期间的其他设置。

    此致、

    James