一边是 PCIe Gen6 x16 Host,另外一边是 PCIe Gen6 Endpoint,中间却不是我们熟悉的几十厘米 MCIO Cable,也不是一块主板上的 PCB Trace。
而是:
十米的光纤。
电信号从一端进入光模块,被转换成光信号,通过光纤传到另外一端,再转换回 PCIe 电信号。
最后,16 条 Lane 全部 Link Up,链路跑到了:
PCIe 6.0 x16。
这件事情本身其实并不难理解。我们Saniffer公众号之前也拍摄过不少关于PCIe over Fibre(或者叫PCIe over Optics)的高清视频,感兴趣的还可以翻出来看看。
真正让我们思考的,反而是另外一个问题:
当 PCIe 真的开始从主板上的几十厘米,走到几米、十几米甚至跨机架以后,我们原来那套 PCIe 测试方法,还够用吗?
过去我们做 PCIe Debug,脑子里的典型环境通常是:
CPU→Motherboard→PCIe Slot→GPU / NIC / SSD
或者稍微复杂一点:
CPU→PCIe Switch→MCIO Cable→E1.S / E3.S SSD
但是如果几年以后变成:
CPU / GPU / CXL Host→CDFP→10~20 米 AOC→另外一个机柜 →GPU / CXL Memory / Accelerator
这时候问题就完全不一样了。
而这其实也是我们最近一直在关注 SerialTek PCIe Gen6 Protocol Analyzer / Tester,以及 Serial Cables Gen6/Gen7 Cable、Host Card、Adapter 和 CDFP 产品时,一个越来越清楚的趋势:
PCIe 正在从“板内总线”,慢慢变成系统级、甚至机架级互联。
//* 感兴趣的可以看下面几个saniffer公众号文章:我们今年总结的FMS 2026后的全球最新PCIe 6.0进展,以及SerialCables推出PCIe 6.0各类PCIe光缆的总结。
【业界进展】PCIe 6.0全球最新进展(截至2026.08.08)
【行业内幕】PCIe Gen6/7生态正在换挡:SerialCables最新产品透露了哪些信号?
引领未来:Samtec 携手 Serial Cables 验证 PCIe 6.0 / CXL 3.0 光纤传输
先从最基本的问题开始。
PCIe Gen5 是:
32 GT/s per Lane
到了 PCIe Gen6:
64 GT/s per Lane
而且从 Gen5 使用的 NRZ,变成了 PAM4。
PCIe Gen6 同时又引入了:
FLIT Mode;
FEC;
CRC;
新的 Link Training 和错误处理机制。
这些变化的目的其实很明确:
带宽继续翻倍。
但是站在硬件工程师角度,另外一个现实也同时出现了:
信号越来越难跑。
以前在 Gen3、Gen4 时代,一段稍微长一点的 PCB Trace,或者多过一个 Connector,很多时候问题还没有那么突出。
到了 Gen6,Cable、Connector、Via、Adapter、Switch、Retimer,每一个东西都开始吃掉 Channel Budget。
所以我们过去在 Saniffer 的很多演示里一直反复强调:
到了 Gen6,
Cable 已经不能再当成“小配件”。
Adapter 也不能再认为:
“无非就是把 A 口转成 B 口。”
最近我们自己用 Gen6 E1.S SSD 做 SerialTek Analyzer Demo 时,一套看起来并不复杂的环境实际上已经包含:
Host→ PCIe Gen6 Switch→ MCIO Cable→ EDSFF Adapter→ SerialTek Interposer→ E1.S SSD
我们甚至专门用 0.5 米 Gen6 Cable 跑过 64 GT/s,然后实际把 FLIT、TLP 和 NVMe Traffic 抓出来。
到了这个阶段,一根 Cable 本身就是整个测试环境的一部分。
那么问题就来了:
如果 0.5 米已经需要认真考虑 Signal Integrity,想跑到:
5 米;
10 米;
20 米;
甚至跨机架,
怎么办?
一个很自然的方向,就是:
光。
这里有一个很容易产生的误解。
很多人第一次听到:
“PCIe over Fiber”
会下意识觉得:
是不是先把 PCIe Packet 转换成 Ethernet,然后通过光纤发过去?
其实并不是我们这里讨论的这种技术。
真正有意思的地方就在于:
从 PCIe Host 和 Endpoint 看,中间仍然是一条 PCIe Link。
并不是:
PCIe→ TCP/IP→ Ethernet→ Fiber→ Ethernet→ PCIe
而更接近:
PCIe Electrical→ Electrical/Optical Conversion→ Fiber→ Optical/Electrical Conversion→ PCIe Electrical
所以 Root Complex 看到的,最终仍然是一个 PCIe Endpoint。
Endpoint 看到的,也仍然是 PCIe Root Complex。
中间没有把 PCIe Transaction 变成另外一种上层网络协议。
也正因为如此,
原来的:
LTSSM;
Configuration Space;
TLP;
FLIT;
Flow Control;
Completion;
AER;
CXL.io;
甚至更上面的 CXL.cache / CXL.mem
才有机会继续按照原来的体系工作。
这和传统“网络互联”其实是完全不同的思路。
如果最近关注 PCIe Gen6/Gen7 的 Cable 和 Adapter,会越来越频繁地看到一个接口:
CDFP。
CDFP 并不是最近才发明出来的名词,但是到了 PCIe Gen6、Gen7,它的重要性明显提高。
原因其实很直接:
x16。
我们熟悉的很多服务器内部 Cable,例如 MCIO,非常适合:
x4;
x8;
或者拆分成多个 Port。
但如果想非常干净地把一个完整的:
PCIe x16
带出机箱,尤其是准备进一步连接:
GPU;
AI Accelerator;
CXL Memory;
外部 Expansion Chassis;
另外一个 Rack,
CDFP 就非常合适。
Serial Cables 在 2026 年已经公开了一张非常有意思的产品:
PCIe 6.0 x16 HHHL AIC → x16 CDFP Host Card。
它通过 Broadcom Atlas3 PCIe Gen6 Switch,把一个完整的 Gen6 x16 Link 通过单个 CDFP 接口带出去。
官方公布的计划是这类 CDFP Host Card 在 2026 年 Q3/Q4 陆续进入市场。
大家可以把它简单理解成:
以前服务器背后出来的是:
MCIO × 2;
MCIO × 4;
现在可以变成:
一个 CDFP。
然后一根 Cable 直接出去。
这对于未来的:
GPU Expansion;
CXL Memory Expansion;
PCIe Fabric;
JBOF;
AI Rack;
Composable Infrastructure
都很有意思。
如果经常搭 PCIe 测试环境,会发现 Cable 大体可以分成几种思路。
最简单的是:
也就是纯铜缆。
优点很明显:
简单;
延迟低;
功耗低;
成本低。
但是缺点也一样明显:
距离有限。
尤其进入 Gen6、Gen7,想让高速 PAM4 信号在几米铜缆里保持足够好的 Margin,就越来越困难。
于是出现第二类。
也就是主动铜缆。
Cable 两端加入 Signal Conditioning,可以对高速电信号进行补偿。
它仍然走铜。
但是比纯 Passive Copper 能走得更远。
Serial Cables 在 FMS 2026 公布的一条产品路线很有代表性:
PCIe 7.0 x16 CDFP ACC
目标速率是:
128 GT/s PAM4
公开资料给出的目标距离可以达到约:
6 米。
这已经意味着 Gen7 x16 不只是 PCB 上几厘米的问题,而开始真正进入 Rack 内部 Cable Interconnect 的范畴。
再往远,就是:
这时信号不再主要靠铜线传输。
而是在 Cable 两端完成:
Electrical → Optical;
Optical → Electrical。
Serial Cables 在 2026 FMS 前公开了一款:
PCIe 6.0 x16 CDFP AOC
规格非常值得注意:
64 GT/s PAM4 per Lane;
PCIe Gen6 x16;
传输距离最高约 20 米;
带宽达到 Tb/s 级别。
这已经完全不是传统意义上的“服务器内部跳线”了。
20 米意味着什么?
意味着 Host 和 Device:
甚至已经不需要在同一个机架里。
这是我们最关心的问题。
假设未来搭了这么一个环境:
CPU↓PCIe Gen6 x16↓CDFP Host Card↓20 m AOC↓CDFP Adapter↓GPU / CXL Device
开机。
结果:
Link 不起来。
怎么办?
最麻烦的是:
你看到的现象可能只有一句:
Device not found.
或者:
本来应该 Gen6 x16,
结果只 Link 到:
Gen5 x16;
Gen6 x8;
Gen5 x8。
甚至系统偶尔启动成功,
偶尔失败。
这个时候,如果没有协议分析能力,工程师实际上会非常痛苦。
因为问题可能发生在:
Host;
Switch;
CDFP Adapter;
AOC;
Endpoint;
Firmware;
BIOS;
LTSSM;
Equalization;
Lane;
PERST#;
Reference Clock;
FLIT Mode;
FEC;
甚至设备自己的 Configuration。
所以这时候,我们一直说的那句话就越来越重要:
PCIe Analyzer 不是为了证明它能工作,而是为了回答它从哪里开始不工作。
这也是为什么我们认为:
SerialTek Kodiak + Serial Cables
这两个产品线组合起来其实非常自然。
Serial Cables 解决的是:
链路怎么搭。
SerialTek 解决的是:
搭起来以后发生了什么。
例如我们完全可以搭建这样一个环境:
CPU / Root Complex↓SerialTek Gen6 Interposer↓Serial Cables CDFP Host Card↓PCIe Gen6 x16 CDFP AOC↓Remote Adapter↓GPU / CXL / PCIe Endpoint
然后使用:
SerialTek Kodiak PCIe 6.0 x16 Analyzer
直接看完整的:
Link Training;
LTSSM;
TS0 / TS1 / TS2;
Equalization;
Recovery;
FLIT;
FEC 相关事件;
TLP;
Configuration;
AER;
CXL;
NVMe。
Kodiak x16 平台支持 PCIe 6.0 64 GT/s 抓取,并且可以同时处理 PCIe、CXL、NVMe、SMBus、DOE、IDE 等协议;企业版本提供 256 GB Capture Buffer 和最高 8 TB 内部 Trace Storage。
这里“大容量 Trace”在普通 Demo 中可能看起来没有那么重要。
但是到了光纤或者复杂 Fabric 环境,它就非常重要。
因为很多 Bug 并不是:
一开机立即发生。
而是:
跑了两个小时;
四个小时;
压力测试以后;
经过一次 L0 ↔ Recovery;
经过一次 ASPM;
某次重新训练;
甚至某一个非常偶然的 Error Recovery
以后才出现。
如果 Analyzer 只能抓一个很短的窗口,
最典型的结果就是:
真正的问题刚出现,前面的上下文已经没有了。
我们过去介绍 SerialTek 的时候,经常会把 Analyzer 和 Tester 分开讲。
一句话可以概括:
Analyzer 解决“看不见”。
Tester/Exerciser 解决“控不了”。
这两个概念在 PCIe over Fiber 场景里会更加明显。
如果真实服务器:
CPU → AOC → Device
Link 不起来,
我们首先可以用 Analyzer 看。
但接下来还会遇到另外一个问题:
到底是谁的问题?
Host?
Device?
Optical Link?
这个时候最有效的方法之一,就是:
把真实 Host 先拿掉。
让 SerialTek Tester 模拟:
Root Complex。
于是测试环境变成:
SerialTek Tester / RC Emulator↓CDFP↓AOC↓Endpoint
Tester 主动训练这块 Device。
如果这样可以正常:
Gen1;
Gen2;
Gen3;
Gen4;
Gen5;
Gen6,
而换回真实 CPU 就失败,
排查范围立刻缩小很多。
反过来也一样。
Tester 也可以模拟 Endpoint,用来测试 Host。
这其实就是 Protocol Exerciser/Tester 最大的价值:
Analyzer 是:
观察真实世界。
Tester 是:
主动创造一个可控的世界。
SerialTek Kodiak 的 Tester 可以主动控制 Link Speed、Width、Retraining、Hot Reset、Equalization、Power State 和 Sideband,并能够模拟 Host 或 Device、修改 Configuration Space、构造正常或异常协议行为。
这时候调试就不再是:
“它今天为什么又不工作?”
而可以变成:
“我让它在 Gen5 正常,然后强制切换 Gen6,看看究竟在哪一步失败。”
这两种 Debug 效率完全不同。
Tester 还有一个很容易被低估的价值:
故障注入。
很多工程师测试一个 Device 的方法是:
插进去;
开机;
跑 Traffic;
没报错;
结束。
但是产品真正上市以后,客户碰到的问题往往不是这种“标准环境”。
而可能是:
Link Training 中突然 Reset;
设备正在传输时出现 Recovery;
某一条 Lane 状态异常;
Completion 延迟;
Malformed TLP;
Unexpected TLP;
错误的 Configuration 行为;
异常 Sideband Sequence。
如果 Host 永远都是“好好先生”,你实际上很难知道 Device 面对异常情况到底会不会崩。
Tester 恰好反过来。
它的价值就是:
主动做一些真实系统平时不太容易稳定复现的事情。
尤其是做:
ASIC;
GPU;
DPU;
NIC;
CXL Controller;
PCIe Switch;
SSD Controller
Bring-up 的团队,这一点非常重要。
到了这里,又要区分第三个东西:
CTS。
Analyzer:
看问题。
Tester:
制造和复现问题。
CTS:
按照 PCI-SIG 规定的问题,一个一个正式问。
这个区别非常重要。
2026 年 5 月 5 日,PCI-SIG 正式批准 SerialTek Kodiak 作为 PCIe 6.0 Link and Transaction Layer Compliance Testing 的官方测试平台。
也就是说,Kodiak 已经不是单纯“厂家自己说可以跑 CTS”,而是进入 PCI-SIG 正式 Compliance Testing 体系。
这里一定要特别说明:
这是:
Link Layer + Transaction Layer CTS
并不是说一台 SerialTek Analyzer 就把 PCIe PHY Electrical Compliance Test 全部做完了。
物理层:
TX;
RX;
Eye;
Jitter;
BER;
Electrical Compliance
仍然需要对应的 PHY 测试仪器和方法。
但是协议层有没有按照规范工作,就属于另外一层问题。
这也是为什么我们过去一直强调:
Debug ≠ CTS。
一个 Device:
能 Link;
能跑 FIO;
能跑 AI workload;
甚至连续跑几天不报错,
并不代表它一定满足 PCI-SIG 所有 Link/Transaction Layer Compliance Requirements。
CTS 解决的是:
不是“平时能不能跑”,而是“面对规范规定的各种边界条件,你是不是都按照标准来”。
再回到光纤。
假设一根 Gen6 AOC 厂家已经验证得很好。
是不是拿过来插上去就结束了?
显然不是。
因为完整系统里还有:
Root Complex;
Switch;
Host Card;
Connector;
Adapter;
AOC;
Remote Adapter;
Endpoint。
甚至还可能有:
Retimer;
Redriver;
另外一级 Switch。
真正的 PCIe 系统问题,往往是这些东西组合以后才出现。
例如:
单独测 Host 没问题;
单独测 Cable 没问题;
单独测 Device 没问题。
但是三个接起来:
偶发 Recovery。
这就是高速接口最麻烦的地方。
所以到了 Gen6,我们越来越不喜欢一句话:
“这个 Cable 支持 Gen6。”
更愿意问:
“在什么拓扑、什么长度、什么设备、什么 Lane Width、什么测试条件下支持 Gen6?”
这才是工程问题。
过去很多人第一次接触 Serial Cables,会觉得:
不就是卖 Cable、Adapter 吗?
但是我们这两年实际搭 Gen6 环境以后,越来越发现:
高速互连本身已经成为测试工具的一部分。
现在 Serial Cables 的 Gen6 产品实际上已经覆盖:
MCIO Cable;
CDFP Cable;
CEM Extension;
EDSFF Adapter;
E1.S / E3.S Adapter;
Retimer;
Redriver;
PCIe Gen6 Host Card;
Broadcom Atlas3 Switch Card;
JBOF;
Test Fixture;
再到 ACC / AEC / AOC。
其网站当前也已经把 PCIe Gen6/CXL Host Card、Retimer/Redriver、Adapter、AOC/AEC/ACC、Gen7 Cable Assembly 作为独立产品方向。
特别是我们之前介绍过的 Gen6 Host Card。
它里面用了 Broadcom Atlas3 Gen6 Switch。
非常实用的一点是:
即使你的服务器本身现在只有 PCIe Gen5,
也可以利用:
Gen5 Host↓Gen6 Switch↓Gen6 Downstream
去提前测试 Gen6 Device。
我们自己前面用 Gen6 E1.S SSD 做测试环境,就是类似思路。
这对现在已经拿到:
Gen6 SSD;
Gen6 NIC;
Gen6 Accelerator;
Gen6 CXL Device
但是还没有大量 Gen6 CPU Platform 的客户非常有现实意义。
PCIe Gen6 是:
64 GT/s。
PCIe Gen7 再翻倍:
128 GT/s。
PCI-SIG 已经正式发布 PCIe 7.0 Specification,x16 双向总带宽最高达到 512 GB/s;PCIe 7.0 继续采用 PAM4。
这意味着:
Gen6 遇到的所有问题,
Gen7 基本不会突然消失。
反而会更加突出。
PCB 更难;
Connector 更难;
Cable 更难;
Channel Budget 更紧;
系统测试更复杂。
所以当我们看到 Serial Cables 已经开始做:
Gen7 CDFP ACC;
Gen7 Cable Assembly;
Gen6/Gen7 DAC、ACC、AEC、AOC
时,这并不只是厂家为了“抢热点”。
它背后其实是一个非常明确的架构变化:
PCIe 正在走出主板。
PCI-SIG 自己目前也已经明确在推进 PCIe Optical Interconnect 相关工作。
所以今天看到:
Gen6 over 10m Fiber
也许感觉还有一点“Demo”的味道。
但是从 Gen7、Gen8 再往后看,
光互连很可能不再只是展会里的漂亮演示。
写到这里,我们反而觉得:
“PCIe over Fiber”本身不是这件事情最有意思的部分。
真正有意思的是:
PCIe 的测试边界正在扩大。
以前测试一个 PCIe Device,可能就是:
Host + DUT。
后来变成:
Host + Switch + DUT。
现在已经开始变成:
Host
未来可能继续变成:
CPU Rack↓PCIe / CXL Optical Fabric↓GPU Rack↓CXL Memory Rack↓Storage Rack。
到了这种架构,工程师真正需要的已经不是某一个单独仪器。
而是一整套能够回答不同问题的工具链。
Serial Cables 负责:
把链路搭出来。
SerialTek Analyzer 负责:
把真实 Traffic 看清楚。
SerialTek Tester 负责:
把 Host 或者 Device 主动模拟出来。
CTS 负责:
判断协议行为到底符不符合 PCI-SIG 规范。
如果再加入 Quarch,
还可以继续把:
Power;
PERST#;
CLKREQ#;
Hot Plug;
Voltage Margining;
Power Loss;
Sideband
和协议 Trace 对齐起来。
这才是我们现在理解的:
PCIe Gen6 系统级测试。
我们过去经常看到一种测试结论:
“Gen6 已经 Link 起来了。”
当然,这是非常重要的第一步。
但如果站在产品研发和量产验证角度,
这远远不是结束。
真正需要继续回答的是:
是不是:
Gen6 x16?
16 条 Lane 是不是都稳定?
有没有频繁 Recovery?
FEC 有没有持续纠错?
Equalization 是不是有足够 Margin?
压力跑几个小时以后会不会掉?
Power State 切换以后还能不能回来?
换一颗 CPU 还能不能工作?
换一根 Cable 呢?
换一个 Switch 呢?
通过 20 米 AOC 以后呢?
异常 Reset 以后呢?
面对 CTS 规定的 Corner Case 呢?
真正到了这个阶段,
“能不能 Link”反而变成了最简单的问题。
所以看完这次 PCIe Gen6 x16 over Fiber 的演示之后,我们最大的感受并不是:
“原来 PCIe 也可以跑光纤。”
而是:
当 PCIe 真的开始跑到 10 米、20 米以外,协议分析、主动测试、CTS,以及整套 Cable/Adapter 测试环境,反而比以前更加重要。
从 0.5 米铜缆,
到 20 米 AOC;
从一块 Gen6 SSD,
到 GPU、CXL Memory 和远端 Accelerator;
从主板上的 PCIe Slot,
到 CDFP 和跨机架互连。
PCIe 正在慢慢走出我们过去熟悉的那块主板。
而测试方法,
也必须一起走出去。
免费下载Saniffer公司白皮书
希望获得更多关于PCIe5.0&6.0, CXL, NVMe SSD, SAS/SATA, NVMe over Fabric (NVMoF), NAND,新型存储技术NVM(RRAM/ReRAM, FRAM/FeRAM, MRAM, PCM, 3D-NOR, SRAM/DRAM等) DDR5/LPDDR5以及UFS测试技术和产品,可以查看Saniffer公司2026.2.24最新更新的测试工具白皮书15.1版本,我们已经整理收录在Saniffer公众号的【白皮书】菜单中。
欢迎关注Saniffer公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。