【经验总结】PCIe 6.0不是插上就能用:一次真实Gen6链路调崩再调稳的全过程
2026-04-22 10:38:17

我们知道,对于开发PCIe 6.0 EP外设芯片(例如网卡、GPU卡、AI加速卡、SSD控制器等)的公司来讲,在真正可用的PCIe 6.0 server面世之前,有的时候需要使用类似于SerialTek PCIe 6.0 tester/exerciser训练器模拟一个PCIe 6.0 RC(CPU端)来和自己的芯片验证卡进行建链以及通讯测试。我们经常会碰到一个问题,链路即便在模拟的CPU和待测卡之间建链到PCIe 6.0之后,但是链路不干净,就是有很多错误,link recovery, 或者大量的uncorrectable error,尤其是最后这个错误,一旦这个错误量较大,模拟的CPU和待测卡之间即便链路在PCIe 6.0 L0状态,但是双方通讯也经常会出现问题

我们最近拍了一个实际调试的视频,来看使用SerialTek的PCIe 6.0训练器是如何将该该uncorrectable error通过自动化工具Kodiak Calibration软件自动调优到一个较好的状态的。由于是内部视频,我们这里只能简单讲述一下视频中用到的方法,感兴趣的朋友可以联系我们。下面的文字是根据视频梳理的一份现场复盘风格的总结供大家参考。对于下面提到的SerialCables PCIe 6.0 80-lane switch 插卡感兴趣的,可以在saniffer公众号查询关键搜寻我们从2025年中拍摄的大量手把手演示视频,例如下面这篇文章内部的高清视频,以及文章中第一段链接的之前的部分使用该PCIe 6.0 switch做各种测试的高清视频:

PCIe 6.0主机卡+Gen6 E3.S转接卡初次使用演示

我们之前做过很多期PCIe 6.0主机卡(也叫switch卡)的高清演示视频,感兴趣的可以查询一下Saniffer公众号往期文章,或者直接点击下面的链接,包括Gen6 Switch + Switch;Switch + CX-8(一)(二)Switch + Quarch故障注入卡 + SwitchSwitch + 0.3米延长线 + Switch卡等;另外,我们也拍摄了如何使用Gen6 switch卡连接Gen6 SSD的几期视频,包括Gen6 switch + MCIO x8 转接2*EDSFF female connectorGen6 switch + MCIO x8 to 2* MCIO x4 + Gen6 8盘位盘柜,等等。我们今天演示的是PCIe 6.0主机卡顶部的插槽加入一个Gen6 E3.S转接成金手指的转接卡来测试一个E3.S SSD。


一、这次演示在解决什么问题?

这段视频的出发点其实很直接:

在 

SerialTek Gen6 Tester 训练器 + SerialCables PCIe 6.0 80-lane switch 插卡的环境下,把PCIe 6.0链路从“能跑”调到“跑得干净、稳定”。

如果用一句更接地气的话来说:

👉 如何链路已经能上Gen6,但质量没有那么不理想,如何调优


二、一个现实前提:Gen6现在不好调

视频里反复提到一个背景,其实挺关键:

  • Gen6设备本身就不多
  • 信号裕量比较紧
  • 设备之间兼容性也比较敏感

所以当前测试的一个基本策略是:

👉 每个设备都需要单独调参数


👉 这点很真实:

Gen5以前很多时候“插上就能用”, Gen6基本是“每条链路都要调一遍”。


三、判断链路好坏的核心指标

这一段其实是整个视频最有价值的地方之一。


关键指标:Flit Error

在Gen6下,不再只看传统错误,而是重点关注:

  • Correctable Flit
  • Uncorrectable Flit

含义也讲得很直白:

  • Correctable:可以通过FEC纠回来
  • Uncorrectable:纠不回来 → 真正影响链路质量

一个典型场景

视频里举了一个例子:

  • Uncorrectable Flit = 10K级

这时候就意味着:

👉 链路虽然“跑起来了”,但质量明显不够好


👉 工程上可以这么理解:

能跑 ≠ 可用 能用 ≠ 稳定

Gen6的关键在“错误率是否可控”


四、调优的核心动作:EQ Preset

进入实操阶段后,第一步就是:

👉 调 EQ Preset

流程非常典型:

  1. 修改 EQ preset 值
  2. Apply
  3. Reset Tester & Link
  4. 重新训练链路
  5. 观察结果

反复多次,直到:

👉 成功稳定进入 Gen6 L0 状态


👉 这里的本质:

EQ参数决定链路“能不能被接收端正确解读”


五、更深一层:Interposer调节

除了EQ之外,还有一个更关键的调节入口:

👉 Interposer Settings

可以理解为:

  • 调整信号路径特性
  • 优化链路传输质量

使用方式有两种:

1)直接加载已有配置

  • 如果之前调过
  • 可以直接复用

2)通过软件自动或半自动优化

  • 搜索更优参数组合

👉 这一层其实已经接近“信号层调优”


六、一个很现实的问题:手动调太慢

视频中也直接点出来了:

手动逐个参数去调,是一件非常麻烦的事情


原因很简单:

  • 参数组合很多
  • 每次都要重新训练链路
  • 反馈周期长

👉 所以实际工程里:

很少有人纯手调,一般都会借助工具,例如SerialTek的Kodiak Calibration软件或已有经验配置


七、调优的目标:让链路“干净”

整个调参过程,其实围绕一个非常朴素的目标:

👉 让链路变得更 clean

具体体现就是:

  • Uncorrectable Flit下降
  • 错误更少
  • 稳定性更高

👉 可以简单理解为:

从“能跑” → “误码可控” → “长期稳定”


八、一个非常实用的结果:配置可以沉淀

视频后半段给了一个很有工程价值的结论:

👉 调好的参数可以导出为JSON配置文件

然后:

  • 可以下载保存
  • 可以在其他实验室复用
  • 相同环境下效果一致

👉 这一点很关键:

Gen6调试,不再是“个人经验”,而是“可复制资产”


九、最终形成的一个完整流程

把整段视频抽象一下,其实流程非常清晰:


Step 1:建立Gen6链路

(哪怕质量一般也没关系)


Step 2:观察Flit错误情况

(重点看Uncorrectable)


Step 3:调整EQ参数

(基础调优)


Step 4:优化Interposer参数

(深入调优)


Step 5:反复训练链路

(直到稳定进入L0)


Step 6:导出配置文件

(沉淀成果)


十、一个更偏工程的结论

如果把这段内容放在当前PCIe 6.0阶段来看,可以得出一个比较现实的判断:


1️⃣ Gen6链路不是“即插即用”

  • 必须调
  • 而且要反复优化调

2️⃣ 调试核心已经从协议转向信号质量

  • EQ
  • Interposer
  • Flit Error

3️⃣ 最关键的能力不在“调”,而在“复用”

  • 一次调好
  • 多处使用
  • 快速复制环境

最后一段,用一句更接近现场的话收一下

如果你正在做PCIe 6.0相关测试,这段演示其实在传递一个很实际的经验:

真正花时间的不是“把链路拉起来”,而是把它调到一个你敢长期跑业务、敢交付给客户的状态,而这件事,本质上就是在跟错误率和参数组合打交道。

更多关于PCIe 6.0/CXL的测试工具和技术,请下载Saniffer公司2026.1.6最新更新的白皮书15.1版本 - PCIe5&6.0, CXL, NVMeNVMoF, SSD, NAND, DDR5, 800GE测试技术和工具白皮书_ver15.1-low resolution.pdf(低分辨率版本,file size: 63MB);需要高清图片pdf版本的请参见本文底部的联系方式联系我们获取(file size: 204MB)

链接: https://pan.baidu.com/s/1R-tJEqwBlzBaDR0WLuMU0Q?pwd=9av3 提取码: 9av3

图片

如果你有其任何关于PCIe5&6.0, CXL, NVMe/NVMoF, NAND, DDR5/LPDDR5以及UFS测试方面的我问题想咨询,请访问:访问www.saniffer.cn / www.saniffer.com 访问我们的相关测试工具和产品;或者添加点击左下角“阅读原文”留言,或者saniffer公众号留言,致电021-50807071 / 13127856862,sales@saniffer.com。

图片