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.

[参考译文] DS160PT801X16EVM:我可以#39;t 使用 Gen3 NVMe 查看正确的重定时器(DS160PT801X16EVM) Gen3性能。

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1191393/ds160pt801x16evm-i-can-t-see-proper-retimer-ds160pt801x16evm-gen3-performance-with-gen3-nvme

器件型号:DS160PT801X16EVM
主题中讨论的其他器件: DS160PT801

之前的 E2E 案例: https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1189931/ds160pt801x16evm-ds160pt801x16evm

在阅读以下我的问题之前、请先阅读"之前的 E2E 案例"。

它可能会帮助您了解我的问题。

========================================================================================================================================================

属于先前 E2E 案例的一部分

使用 Gen3 NVMe 时、我无法看到正确的重定时器(DS160PT801X16EVM) Gen3性能。
请检查我的测试结果、然后给我反馈。  

1.测试环境
1) Ubuntu PC: 英特尔(R)酷睿(TM) i9-10900 CPU,64GB 内存 PC
2) Ubuntu 版本:Ubuntu 18.04.6 LTS
3)重定时器: DS160PT801X16EVM
4) NVMe:Micron MVMe Gen3 x4。 21100AT M.2 SSD

我的三个测试用例
1) 通过 PCIe 插槽直接连接 NVMe:主板<-> PCIe 至 M.2转换板<-> NVMe
  NVMe 通常被识别为 PCIe  Gen3 (ASPM 已禁用) 并 具有良好的稳定性能

2)使用 TI 重定时器:主板<-> TI 重定时器(DS160PT801X16EVM)<-> PCIe 转 M.2转换板<-> NVMe
  NVMe 通常被识别为 PCIe  Gen3 (启用 ASPM L1) 、 但性能不稳定

3)使用 TI 重定时器(在 BIOS 设置中强制 Gen2):主板<-> TI 重定时器(DS160PT801X16EVM)<-> PCIe 转 M.2转换板<-> NVMe
  NVMe 被公认为 PCIe  Gen2  稳定的性能

========================================================================================================================================================

<<我的问题>>

我找到了"PCIe 信号完整性 挑战和补救措施" TI 的文档。

在本文档中、 有一代 PCIe 规范。

Gen3需要 HEO <= 0.3 UI 和 VEO <= 25mV

所以。 我使用 SigCon Architect 程序检查了 HEO 和 VEO。

我认为 HEO 和 VEO 高于规格。

请查看。

最后、为了提高第3代吞吐量、我还应该检查什么?

谢谢、

Hohchang。

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

    hohchang、您好!

    所示的幻灯片中。  HEO <= 0.3UI 和 VEO <= 25mV 值表示每一代 PCIe 的眼图应力消除图的 HEO 和 VEO。  它旨在表明 PCIe 接收器应该能够恢复稳定的信号、即使在这些恶劣条件下也是如此。   

    SigCon Architect 中显示的 HEO 和 VEO 值表示应用某些信号调节后重定时器内的 HEO/VEO。  它应大于0.3UI 和25mV。  越高越好!

    是否要为此测试条件提高第3代吞吐量?

    1) 通过 PCIe 插槽直接连接 NVMe:主板<-> PCIe 至 M.2转换板<-> NVMe
      NVMe 通常被识别为 PCIe  Gen3 (ASPM 已禁用) 并 具有良好的稳定性能

    或者对于这个测试条件?

    2)使用 TI 重定时器:主板<-> TI 重定时器(DS160PT801X16EVM)<-> PCIe 转 M.2转换板<-> NVMe
      NVMe 通常被识别为 PCIe  Gen3 (启用 ASPM L1) 、 但性能不稳定

    为了提高测试用例1的吞吐量、 首先必须在重定时器和 CPU 或者重定时器和 NMVe 之间发生位错误。  如果没有错误、则无法执行任何操作、因为 PCIe 链路已在尽可能 发挥作用。

    如果存在位错误、则可以通过降低 CPU 和重定时器之间的 PCIe 链路或重定时器和 NVMe 之间的 PCIe 链路的位错误率(BER)来提高吞吐量。  我们需要进行一些调试来计算错误数量、并查看是否可以采取任何措施来减少错误数量。

    测试案例#2听起来更像是一个系统问题、我们需要对其进行调查和解决、以便在尝试提高吞吐量之前具有稳定的性能。

    此致、

    Nicholaus

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="312549" URL"~/support/interface-group/interface/f/interface-forum/1191393/ds160pt801x16evm-i-can-t-see-proper-retimer-ds160pt801x16evm-gen3-performance-with-gen3-nvme/4490973 #4490973"] HEO <= 0.3UI 和 VEO <= 25mV 值表示每一代 PCIe 的眼图应力消除的 HEO 和 VEO [/引用]

    尊敬的 Nicholaus:

    感谢您的更新。

    我想进一步调查测试案例#2。

    测试案例#1不使用重定时器。 所以不用考虑。

    为了改进测试案例#2、我还应该检查什么?

    如果您与我共享检查列表、我将尝试这样做。

    谢谢、

    Hohchang。

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

    您好、Hochang、

    请允许 Nicholaus 和我花一些时间来查看此问题并返回给您。

    当 M.2连接时、重定时器似乎没有检测到所有4个 PCIe 通道(A4-A7、B4-B7)上的信号。 使用两个 EEPROM 映像(4x4和"D"类 S.160PT801.hex')时是否会出现这种情况?

    通道 A4-A7上的眼图张开度正常。 正如 Nicholaus 所说的那样、更大的眼图张开度会更好。

    最棒的

    David

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

    尊敬的 David:

    请允许 Nicholaus 和我花一些时间来查看此问题并返回给您。

    =>好的、我将等待您的反馈。

    当 M.2连接时、重定时器似乎没有检测到所有4个 PCIe 通道(A4-A7、B4-B7)上的信号。 使用两个 EEPROM 映像(4x4和"D"类 S.160PT801.hex')时是否会出现这种情况?

    =>是的、当我尝试两个 EEPROM 映像(4x4和 "D" S.160PT801.hex')时、结果相同

    通道 A4-A7上的眼图张开度正常。 正如 Nicholaus 所说的那样、更大的眼图张开度会更好。

    =>好的、谢谢

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

    您好、Haochang、

    抱歉、我没有意识到测试案例#1未使用重定时器。

    对于 重定时器测试用例(测试用例2)、您是否在禁用 L1的情况下尝试过相同的测试?  正如 David 所说、您发送的数据中有趣的一点是 B4-B7未检测到信号。   我想知道 PCIe 链路是否处于 L1状态。

    此致、

    Nicholaus

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

    您好、Hochang、

    我现在要验证一件事。 您能否使用 GUI 的"Low Level Page"检查全局寄存器0xF1的寄存器值是多少?

    戴维

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

    尊敬的 Nicholaus 和 David:

    很抱歉我迟到了。

    1.大卫的问题

    我现在要验证一件事。 您能否使用 GUI 的"Low Level Page"检查全局寄存器0xF1的寄存器值是多少?

    1)全局

    2) 2)裸片0共享

    Nicholaus 的问题

    对于 重定时器测试用例(测试用例2)、您是否在禁用 L1的情况下尝试过相同的测试?  

    =>是、相同的 BIOS 设置(禁用 PCIe ASPM)

    正如 David 所说、您发送的数据中有趣的一点是 B4-B7未检测到信号。   我想知道 PCIe 链路是否处于 L1状态。

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

    我找到了 TI 提供的 python API 工具。

    我使用了该工具、我可以获取 RTSM。 请查看。

    --主菜单--
    0。退出
    读取重定时器通道状态
    2.读取重定时器状态
    3.读取状态机跟踪
    4.设置状态机跟踪
    5.设置环回模式
    6.创建/保存眼图
    7.读取寄存器
    8、读/写 EEPROM
    9.合规性和评估

    请选择一个选项:3.
    +--- ++---- ++---- +---- +---------------- +---------------- +
    |地址||芯片|| Pckg 通道||模式||状态机类型||跟踪|
    +--- ++---- ++---- +---- +---------------- +---------------- +
    | 0x20 || 0 ||通道4-7 ||第一个 N 状态|| RTSM X2 (0):主 RTSM || 15. DETAL_TS1_TS2 |
    ||||||||||| 14. 前进|
    |||||||||||||13。 EIOSQ_training |
    ||||||||||| 12. elec_didle_TRNG |
    ||||||||||| 11. DETAL_TS1_TS2 |
    ||||||||||| 10. 前进|
    ||||||||||| 9. EIOSQ_training |
    ||||||||||| 8. elec_didle_TRNG |
    ||||||||||| 7. DETAL_TS1_TS2 |
    ||||||||||| 6. 前进|
    |||||||||||||5. EIOSQ_training |
    ||||||||||| 4. elec_didle_TRNG |
    ||||||||||| 3. DETAL_TS1_TS2 |
    ||||||||||| 2. 前进|
    ||||||||||| 1. EIOSQ_training |
    ||||||||||||0。 elec_didle_TRNG |
    +--- ++---- ++---- +---- +---------------- +---------------- +
    | 0x20 || 1||通道0-3 ||第一个 N 状态|| RTSM X2 (0):主 RTSM ||--跟踪为空--|
    +--- ++---- ++---- +---- +---------------- +---------------- +
    | 0x22 || 0 ||通道4-7 ||第一个 N 状态|| RTSM X2 (0):主 RTSM ||--跟踪为空--|
    +--- ++---- ++---- +---- +---------------- +---------------- +
    | 0x22 || 1 ||通道0-3 ||第一个 N 状态|| RTSM X2 (0):主 RTSM ||--跟踪为空--|
    +--- ++---- ++---- +---- +---------------- +---------------- +

    Ubuntu PC hdparm 测试结果

    bsppower@bsppower-ThinkCenter-M90t:~$ while true;do sudo hdparm -t /dev/nvme0n1;sleep 1;done

    /dev/nvme0n1:
    定时缓冲磁盘读取:3.01秒内182MB = 60.55MB/秒

    /dev/nvme0n1:
    定时缓冲磁盘读取:3.07秒内82MB = 26.67MB/秒

    /dev/nvme0n1:
    定时缓冲磁盘读取:3.01秒内为188 MB =62.39 MB/秒

    /dev/nvme0n1:
    定时缓冲磁盘读取:在3.00秒内88 MB =29.30 MB/秒

    /dev/nvme0n1:
    定时缓冲磁盘读取:3.02秒内90 MB =29.79 MB/秒

    /dev/nvme0n1:
    定时缓冲磁盘读取:3.01秒内100MB =33.24MB/秒

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

    您好、Hochang、

    NVMe 测试 为 true;do sudo hdparm -t /dev/nvme0n1;sleep 1;done 看起来它已成功接收数据、但重定时器的数字状态指示 PCIe 链路发生故障。  这对我来说毫无意义。  如果链路发生故障、则不会有数据进入 NVMe 驱动器。

    此设计中使用了什么时钟拓扑?  它是通用时钟、独立时钟还是 SSC?

    此致、

    Nicholaus

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

    您好 、Hochang、

    此问题是否有任何更新?

    谢谢、

    Nicholaus

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

    尊敬的 Nicholaus:

    感谢您的支持。

    将 NVMe 从 Micron 更改为 Samsung 后。 问题 消失。

    如果出现另一个问题、我将关闭此案例并打开新案例。

    谢谢、

    Hohchang。