【交流纪实】和业内顶尖服务器厂商交流PCIe Gen6到底怎么测,一次讲透分析、训练、故障注入与SSD验证
如果只是看 PCIe 6.0 的规范很容易产生一个错觉64 GT/s、PAM4、FLIT、FEC……无非就是 PCIe 又快了一代。但真正开始做芯片、SSD、网卡、GPU、AI 加速卡或者服务器验证以后会发现问题远没有这么简单。一块 PCIe Gen6 Device 放到系统里不能稳定 Link Up到底应该先查物理层还是先抓协议插入协议分析仪以后原来的问题突然消失了这条 Trace 还能不能相信如果还没有成熟的 Gen6 CPU怎么提前验证自己的 Gen6 Endpoint怎样故意制造 CRC Error、链路毛刺、电源波动、Sideband 异常看看 DUT 到底扛不扛得住而如果测试对象从一颗 PCIe Controller 进一步变成一块企业级 NVMe SSD测试范围又会迅速扩大到 NVMe、OCP、NVMe-MI、I3C、掉电、热插拔、功耗乃至可靠性测试。我们最近这次和业内领先的服务器厂商研发/测试部门接近两个小时的技术交流实际上就是沿着这些问题一路展开。尽管用户对于PCIe 6.0 SSD测试非常感兴趣但是会议开始时大家没有把讨论范围限制在 SSD而是先明确了一个大的边界PCIe Gen6 测试工具面对的不只是存储而是计算、网络和存储整个 PCIe 生态。这也决定了后面的讨论并不是简单介绍“一台PCIe协议分析仪”而是在逐渐搭建一套完整的 PCIe Gen6 验证工具链。对于PCIe 6.0测试技术、产品和测试环境搭建感兴趣的看这里【专题】全球最全面的 PCIe 6.0/CXL 3.0 测试工具方案探讨汇总一、先把 PCIe Gen6 测试分层示波器解决不了所有问题交流一开始先把测试工具分成了几个层次。最底层当然是大家熟悉的Oscilloscope BERT。示波器主要看 TransmitterBERT也就是 Bit Error Rate Tester则更多参与 Receiver、Jitter、BER 等物理层测试。这一层解决的是“你的电气信号到底合不合格”但是再往上一层问题就不同了。例如为什么设备一直在 Recovery为什么 Link 从 Gen6 降到了 Gen5为什么出现大量 Replay为什么系统完成 Link Training 以后还是找不到 Device为什么某一个 TLP 发出去以后对端没有正确响应这时候需要的就是Protocol Analyzer。而如果问题进一步变成“我还没有成熟的 Host能不能模拟 Root Complex”或者“我想主动给 Device 发一些异常 TLP看看它怎么响应。”那么仅仅 Analyzer 又不够需要Protocol Tester(业内也叫exerciser或者训练器。PCI-SIG 官方目前也把 PCIe Compliance Testing 划分为 Electrical、Configuration、Link Protocol 和 Transaction Protocol 等测试领域。因此从实验室角度看可以很形象地理解为示波器/BERT 负责看“波形对不对”Analyzer 负责看“双方刚才说了什么”Tester 负责主动走过去“和 DUT 对话甚至故意刁难它”。二、第一件重点设备PCIe Gen6 Analyzer 不再只是 Analyzer现场首先重点介绍的是 SerialTek Kodiak系列 PCIe Gen6 Protocol Test System。这里一个很重要的变化是不要再把它理解成传统意义上只会“抓包”的 Analyzer。在 Analyzer Mode 下它串在真实 Host 和 Device 中间完整记录 PCIe Link 上的 Traffic用于 Debug。但是设备可以进一步切换到Tester Mode。也就是说同一套硬件可以从“旁观者”变成“参与者”。现场在很早的阶段就专门解释了这一点切到 Tester 后可以模拟 Host/Device 一侧对另外一侧 DUT 进行受控测试。SerialTek 目前官方对 Kodiak Tester 的说明也明确包括 Compliance Test、Manual Test、Loopback、Feature Test、Trace Replay、Performance Test 和 Pattern Generator 等模式Manual Mode 可以模拟 Host 或 Device 环境、修改 Configuration Space、控制 LTSSM 状态并强制 Sideband 信号。这个差别非常关键。因为真实服务器的最大问题之一就是它太“自动”了。你把一块 PCIe 卡插进去一开机DetectPollingConfigurationEqualization最后直接进入 L0。整个过程由 CPU、BIOS、Firmware 自动完成。如果你想研究“我就让它先跑 Gen1 x1。”“然后升 Gen2。”“然后主动发一个特定 TLP。”“再故意发一个 malformed TLP。”真实服务器通常很难给工程师这么细的控制。Tester 的意义就在这里。SerialTek 看链路训练、FLIT、TLP、NVMe command、错误和 trace三、客户很快追问接口这么多一套 Analyzer 怎么接讨论随后从“Analyzer 是什么”迅速进入真正的工程问题接口怎么接到了 PCIe Gen6测试对象早已经不只是标准 CEM Add-in Card。现在实验室里常见的还有E1.SE1.LE3.SE3.LOCP NIC 3.0MCIO各种 PCIe x4/x8/x16 Add-in Card以及SSD 相关接口 M.2, U.2 等。所以真正昂贵和复杂的并不仅仅是 Analyzer 本体。Analyzer 和 DUT 中间还有一个非常重要的东西Interposer。它必须真正串到 Host 与 Device 之间。比如测试 EDSFF SSD 时原来 SSD 直接插到 Server Backplane现在要把 SSD 拔下来再把 Interposer 插进这条 LinkCPU → Backplane → Interposer → SSD与此同时Interposer 把DownstreamUpstreamSideband分别复制出来送给 Analyzer。四、讨论很快进入 Gen6 最棘手的话题插了 Analyzer会不会把信号搞坏这其实是整场交流中非常有价值的一段。客户直接问“Interposer 加进去以后又多了一段 Cable又多了一块板对原来的信号到底影响有多大”这不是理论问题。这是所有高速协议分析仪都会遇到的根本问题Observer Effect——你为了观察问题而加入的工具本身会不会改变问题Gen3、Gen4 时代这个问题已经存在。到了 PCIe Gen664 GT/s PAM4对 Signal Integrity 的要求更苛刻。所以会议花了相当多时间解释 SerialTek 的SI-Fi——Signal Integrity Fidelity架构。SerialTek 官方目前也把 SI-Fi 描述为 Kodiak 的核心 Inline Probing 技术用来在 RC 与 Endpoint 之间观察 PCIe Traffic同时尽量保持原链路的 Signal Integrity。五、Signal Splitter为什么没有直接用 Retimer或者Redriver这里进一步讲到了 Interposer 内部非常值得关注的设计。以 x4 PCIe Link 为例有 Lane 0Lane 3。每条 Lane 对应的高速信号在 Interposer 中经过相应的Signal Splitter。现场对此进行了很形象的描述一条继续走向真正的通信对端另外一条则引向 Analyzer。这和简单地在链路中塞一个 Retimer 有本质区别。如果加入 Retimer那么 Retimer 本身已经参与到 PCIe Link 行为中。原本Host ↔ DUT变成Host ↔ Retimer ↔ DUT链路拓扑被改变了。而协议 Debug 最怕的一件事情恰恰是Analyzer 一接进去原来的问题没了。那不是好消息。因为你根本不知道是 DUT 的 Bug 消失了还是测试工具替它把链路“修好了”。所以这次交流反复强调的不是“完全没有影响”——这是高速链路里很危险的一种表述——而是Probe/Interposer 本身对原链路的扰动必须尽可能小。六、Gen6 和 Gen5 最大的实际差别之一信号余量明显更紧接下来这段交流非常像真正实验室里的情况。现场没有说“Gen6 接上去就一定直接跑 64 GT/s。”恰恰相反。交流中提到面对新的 Gen6 Host、SSD、Switch、AI 芯片或者其他 Endpoint 组合时经常需要观察Link 是否真正稳定工作在 Gen6Correctable / Uncorrectable Error 数量EQ 是否合适Interposer 当前参数是否适合这条实际链路。也就是说规格上都叫 PCIe Gen6不代表两个刚刚第一次见面的 Gen6 Device 一插就一定完美互通。这也和 PCI-SIG 这两年持续进行 PCIe 6.x Preliminary FYI / Pre-FYI以及2026/7月正式进行的CTS 测试的背景吻合。PCI-SIG 的公开记录显示2024 年 6 月已经举办 PCIe 6.0 Preliminary FYI Workshop2025 年 3 月和 10 月继续举办 PCIe 6.x Preliminary FYI Workshop2026 年 3 月又举行了专门面向 Link、Transaction 和 Configuration Space 的 PCIe 6.x Protocol Pre-FYI Workshop。这至少说明一件事情PCIe Gen6 的产品生态已经进入真实验证阶段但互操作性成熟是一个持续推进的过程而不是 Base Specification 发布以后自动完成。七、一个很现实的问题一台 Analyzer 能不能同时抓很多块盘交流进行到三十多分钟时客户问了一个非常典型的问题“如果我后面有很多块 Gen6 SSD能不能一台分析仪同时抓”答案比较明确传统 Inline Protocol Analyzer 的基本逻辑还是一套 Interposer 观察一条 PCIe Link。这条 Link 可以是x1x2x4x8x16。但它仍然是一条 Link。如果你有 8 块 SSD它们分别经过 Switch 的 8 个 Downstream Port那么就已经是 8 条独立 PCIe Link。想把它们全部同时当成独立 Analyzer Channel 来看思路就完全不同了。八、于是引出了另一类工具带内部 Trace 能力的 PCIe Gen6 Switch现场随后展示了一类基于SerialCables公司研发的基于Broadcom Gen6 Switch 卡。它的思路和独立 Analyzer 完全不同。比如一张 Gen6 Switch Card上行连接 CPU下行提供多个 MCIO / PCIe Port可以同时挂 SSD、网卡或者其他 Endpoint。Serial Cables 当前公开的 Atlas 3 Gen6 Switch Card 就支持 PCIe 6.0 下行连接并提供多个 Gen6 x8 MCIO 以及 x16 接口。会议中特别强调这类 Switch 内部 Trace 能力不能和独立 Protocol Analyzer 画等号。原因之一就是 Buffer。Switch 芯片内部 SRAM 空间有限可以胜任多个 Link 上的小窗口 Trace、Trigger 或 Bring-up 观察。而独立 Analyzer 的目标则完全不同深度抓包。所以两种工具并不是谁替代谁而是Switch Trace 适合“多点看看发生了什么”独立 Analyzer 适合“把某一条可疑链路挖到底”。九、客户追问的第二个核心问题Trace 到底能抓多深这时交流进入 Analyzer 最硬核的部分之一。现场提到 Kodiak Gen6 平台的 Deep Trace Buffer 可以达到256 GB。SerialTek 当前 Enterprise Edition 官方规格同样列出了256 GB Buffer 8 TB Internal SSD 2×10GbE。为什么 Gen6 Analyzer 要做到这么大的 Buffer因为 64 GT/s 太快了。尤其在大流量环境下Buffer 再大也不是无限的。所以真正做 Debug 时经常不是傻乎乎地说“从开机开始一直抓到问题出现。”而是要设计Trigger。十、Trigger 才决定大 Buffer 有没有真正价值客户随后马上问到了重点如果系统压力很大Buffer 很快就满那怎么办这时就进入 Trigger 设计。现场举了一个很典型的例子只有当某个方向出现某种 Memory Transaction并且其中指定字段等于某个值时才触发停止。而真正工程化的 Trigger 往往还会更复杂Condition A OR Condition B先看到 A再等待 B指定方向指定 Packet Type指定 TLP Field指定字段 Bit Pattern甚至触发以后不马上 Stop而是再保留后面 5%、20%、50% Buffer。为什么因为很多 Bug 真正有价值的信息不一定在 Trigger 前面。例如发现一个 Error随后发生 Recovery然后降速最后 Link Down。如果 Trigger 一出现 Error 就立即停止后面的故事反而丢了。所以 Analyzer 的真正价值不只是Buffer 有多大。而是你能不能准确告诉它“什么事情发生以后前后哪些数据我要留下来”。十一、为什么现在的 Analyzer 不再把几百 GB Trace 搬回笔记本慢慢解交流随后花了不少时间讨论 Kodiak 的硬件架构。业内传统的 Analyzer 通常把大量工作扔给工程师自己的 PCAnalyzer 先抓数据再通过网络或 USB 搬到 PCPC 软件解码PC 再保存。随着 Trace 从几百 MB 膨胀到几十 GB、上百 GB这种架构越来越吃力。Kodiak 的设计则把CapturePost ProcessingDecodeTrace Storage都尽量放到 Analyzer 内部。SerialTek 官方将其称为Embedded Trace Processing Architecture并提供内部 SSD 和 Browser-Based BusXpert。于是工程师电脑承担的角色更像显示和控制终端。而不是几百 GB Trace 的搬运工。这也是为什么会议中不断强调“浏览器直接连 Analyzer”。十二、这还带来了一个很实际的变化Trace 可以直接共享传统 Debug 经常遇到这样的场景上海抓到一个 80 GB Trace要发给深圳深圳再发给美国 FAE最后大家都在等文件上传下载。如果 Trace 本身保存在 Analyzer/NAS 一侧而工程师通过 Web UI 访问那么协同逻辑就完全不同了。可以把访问链接直接发给同事大家看到的是同一份 Trace不需要每个人先下载几十 GB也避免了“你分析的是昨天版本还是今天版本”的问题。对于跨地区 IC Design、Validation 和 FAE 团队这种变化其实比增加几个解码菜单更有价值。十三、接近一小时Analyzer 讲完正式进入 Tester到了交流中段话题从“我怎么观察 DUT”切换到“我怎么主动测试 DUT”这就是 Tester。现场再次打开 Operation Mode把设备从 Analyzer 切换到 Tester。如果 DUT 是一个 Endpoint比如SSD ControllerNIC ControllerGPUDPUAI Accelerator那么 Tester 可以站在 Root Complex 一侧。反过来如果验证的是 CPU/Root Complex则 Tester 可以站在 Endpoint 一侧。这样一个非常重要的能力就出现了可控。真实 PC 一开机就自己跑完整个流程。Tester 则可以把整个过程拆开。十四、为什么芯片研发阶段特别需要这种“可控 RC”比如你刚 Tape-out 一颗新的 PCIe Gen6 Endpoint Controller。手里只有一块 EVB。你当然可以插到服务器里。但是如果失败了是 BIOS是 CPU是你的 Controller是某个 LTSSM State是速率切换还是特定 Packet很难马上说清。Tester 则可以控制Gen1Gen2Gen3Gen4Gen5Gen6不同 Link Width再一步步发送需要的 Packet。SerialTek 当前官方资料也明确写到Tester Manual Mode 可以模拟 Host/Device 环境、调整 Configuration、LTSSM 和 Sideband并发送特定甚至 malformed TLP。这样就非常适合 Silicon Bring-up。十五、客户又追问能不能故意把错误“打”进去答案是可以在 Tester 能力范围内主动构造异常协议行为。例如异常 TLP错误响应LCRC 等错误场景观察 DUT 对错误的处理。这跟 Analyzer 的逻辑刚好相反。Analyzer 问的是“错误刚才是怎么发生的”Tester 问的是“如果我故意给你一个错误你会怎么办”这实际上是验证 Controller Error Handling 最有效的方法之一。尤其很多 Corner Case在正常服务器环境里几年都未必自然出现一次。而验证阶段不能靠等。必须主动制造。十六、进一步走到 PCI-SIG CTS从 Debug 工具变成 Compliance 工具再往后讨论从“自己写测试”进入了标准化测试PCI-SIG Compliance Test Suite。PCI-SIG 官方 Compliance Program 包括ElectricalConfigurationLink ProtocolTransaction Protocol等不同测试范围。Kodiak Tester 当前官方也明确支持 PCIe CTS并覆盖 Link Layer、Transaction Layer 和 Protocol 相关测试。它和人工 Debug 最大的区别是人工 Debug 是“我怀疑这里有问题所以设计一个实验。”CTS 是“不管你觉得有没有问题标准要求覆盖的项目我全部按规定跑。”这对芯片量产前 Validation 特别重要。PCI-SIG正式批准SerialTek 成为 PCIe 6.0 协议层 CTS 官方认证测试平台十七、交流进行到后半段话题突然从“PCIe芯片”切到“企业级SSD”大约 75 分钟以后话题发生了明显变化。客户提到有 SSD 相关业务。于是讨论开始从 PCIe Protocol Verification 上移一层如果测试对象不是一颗 Controller而是一块完整 NVMe SSD到底还需要测什么答案就复杂得多了。现场开始介绍 SANBlaze SBExpress-RM6。转写中明确提到 RM6 是面向 PCIe Gen6 NVMe SSD 的 Rackmount Test System。SANBlaze 当前官方 RM6 平台是一套16-bay、Gen1Gen6的企业级 NVMe Test Appliance。这和 Analyzer 完全不是一种产品。对于PCIe Gen6 SSD测试环境可以看这里的高清视频演示【高清视频】Gen6 服务器还没到Gen6 SSD 怎么测Emily 现场演示三种测试环境【高清视频】5个高清视频告诉你PCIe 6.0 SSD测试环境搭建转接卡/线与隐藏风险全解析【高清视频】PCIe 6.0主机卡Gen6 E3.S转接卡初次使用演示//* 上面最后一篇文章的第一段包含了我们针对PCIe Gen6 switch卡之前拍摄的很多视频我们之前做过很多期PCIe 6.0主机卡也叫switch卡的高清演示视频感兴趣的可以查询一下Saniffer公众号往期文章或者直接点击下面的链接包括Gen6 Switch SwitchSwitch 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盘位盘柜等等。十八、Analyzer 是“看问题”RM6 是“系统地把盘折腾一遍”Analyzer 更像显微镜。RM6 更像自动化试验场。比如一块企业级 SSD你可能需要测试NVMe Command不同 I/O PatternNamespace Create/Delete/Attach/Detach各种 ResetPower CycleSurprise Power LossLink RetrainLink SpeedHot PlugDual PortNVMe-MII2C/I3CFDPOCPSPDMTCG大量企业级 Corner Case。SANBlaze 当前公开脚本库就包含 NVMe Namespace、NVMe Resets、NVMe-MI、Dual Port、ZNS、FDP、TCG、OCP 等大量测试模块。所以Analyzer 适合回答“为什么这次失败”而完整 SSD Validation System 更适合回答“这块盘在几千个不同测试场景下到底够不够可靠”SANBlaze 提供稳定可控的 test platform进行PCIe 6.0 SSD测试十九、这里还谈到了 UNH-IOL为什么企业级 SSD 测试不能只靠自己写几个 FIO现场客户问到了一个非常现实的问题市场上不是也有很多纯软件 NVMe Test Framework 吗为什么还需要专门的 SSD Test System核心区别之一就是Enterprise SSD 的测试面远大于一般 Consumer M.2 SSD。尤其到了OCP Datacenter SSDDual PortNamespace ManagementNVMe-MII3CFDPSPDM复杂 Reset/Power企业级可靠性这些场景以后只跑几个 nvme-cli FIO 脚本或者一些开源软件、简易的windows或者linux版软件远远不够。这也是为什么现场随后重点讨论了 SANBlaze 与 UNH-IOL 的合作。这一点目前可以从双方公开资料得到确认SANBlaze 已将 UNH-IOL INTERACT 协议一致性测试集成到其平台后续SMBUS/I2C/I3C全球全部通过SanBlaze测试机同时 UNH-IOL OCP 测试方案就是采用SanBlaze设备和测试用例。二十、SSD 验证再往下走正常测试还不够还要主动“搞坏环境”到了这里交流进入我认为整场最有意思的部分之一Fault Injection。一块 SSD 在完美实验室条件下跑一天 FIO 不掉盘并不能证明它可靠。真实服务器里可能发生接触不良Hot Plug某条 PCIe Lane 瞬时异常Sideband 抖动REFCLK 异常Power Rail 波动短暂掉电Pin Connection Sequence 偏差某个连接器虚接。这些情况都不是正常软件测试能轻易复现的。所以需要主动制造 Fault。当然如果使用SanBlaze RM6进行测试其内置的iRiser6就是实现该测试目的的但是如果在真实的服务器环境中那么必须采用下面的独立第三方Quarch Breaker实现。二十一、Quarch Breaker不是用手拔卡而是“可编程地模拟拔卡”会议接下来介绍了 Quarch 的 Hot Swap / Fault Injection 模块。思路非常直接把 Breaker 串在Host ↔ DUT之间。它可以控制PowerPCIe Data LaneSidebandPresent 等相关信号。然后由软件按照设定的 TimingDisconnectReconnectPin BounceGlitch。这就把原来非常粗糙的“工程师伸手拔一下盘。”变成“第 37 次循环在 Lane 0 上制造一个指定宽度 Glitch同时保持其他信号正常。”Quarch 当前 Gen6 Breaker 官方规格支持逐 Lane 控制并提供 1 μs Switch Timing、100 ns Pin Bounce 以及最低 50 ns 的 PRBS/User-Sequence Glitch Pulse。会议中客户也专门追问了这个最小 Glitch 时间并围绕50 ns展开了讨论。二十二、为什么制造 Glitch 很重要假设 SSD 正在跑 FIO。这时对某个 PCIe Lane 周期性制造短 Glitch。那么 DUT 可能看到CRC Error链路错误RetryRecovery甚至 Link Down。我们真正要测试的并不是“能不能制造错误。”这很容易。真正要测的是错误发生以后DUT 能不能优雅地处理比如能不能 Recovery会不会突然掉盘会不会数据损坏会不会整个 OS Hang如果 Lane 数减少以后能不能以更低 Width 保持工作这才是 Reliability Validation。二十三、接下来是另一类非常容易被混在一起的工具PPM故障注入之后交流转到Power Margining。这时候使用的是 PPMProgrammable Power Module。它不只是“给 DUT 供一个固定电压”。而是可以主动编程正常上电 Ramp突然掉电BrownoutVoltage MarginGlitch复杂的 Voltage Waveform。Quarch 官方 PPM 也明确支持 Programmable Voltage、Power Loss、Brownout 和 Glitch并可以在微秒级时间尺度构造电源波形。对于 SSD、NIC、GPU 这种 Device 来说这意味着可以问一个以前很难自动回答的问题如果 Host 给我的电压不是完美直线我还能不能正常工作二十四、PPM 和 PAM 不要搞混现场随后专门又谈到了 PAMPower Analysis Module。两者名字很像但侧重点不同。可以简单记PPM偏主动“我来改变你的电。”例如 Voltage Margining、Power Loss、Brownout。PAM偏观察“我来测你的电 Sideband边带信号。”例如VoltageCurrentPowerSideband State。现场也明确把 PAM 定义为用于监测电压、电流、功耗和 Sideband 的 Power Analysis Module。Quarch 官方说明也完全对应PAM 在正常 Host 供电条件下测量各 Power Rail 的 Voltage/Current/Power同时监控选定 Sideband。这在调低功耗问题时特别好用。因为你可以同时看PCIe State 怎么变Sideband 怎么变Current 到底有没有真的下降。Quarch 监测和控制电源轨、PERST#、CLKREQ#、L1.2、掉电和功耗行为二十五、交流最后一个大主题没有 Gen6 CPU实验室怎么提前搭 Gen6 环境接近会议尾声讨论重新回到了环境搭建。这是现在很多团队都面临的问题Endpoint 已经出来了SSD Controller 出来了Retimer 出来了NIC/GPU/AI Accelerator EVB 出来了但是实验室手头没有足够成熟的 Gen6 Host和足够多的device。怎么办一个现实办法就是PCIe Gen6 Switch。例如Host 这一侧即便暂时只跑 Gen5Switch Downstream 本身仍然可以给新的 Device 提供 Gen6 Link。Serial Cables 当前基于 Broadcom Atlas 3 的 Gen6 Switch Card 就公开提供 Gen6 Downstream Connectivity、多组 MCIO 和 PCIe 接口。这样就可以提前 Bring-up Gen6 Endpoint。二十六、Switch 特别适合做“Golden Environment”但别把它误认为 Analyzer客户最后又回到刚才那个问题既然 Switch 也可以看到一些内部数据那是不是 Analyzer 就没用了不是。尤其当测试对象本身的真实拓扑就包含 Switch 时Switch 内部 Debug 信息当然非常有价值。但如果原来的问题拓扑是CPU ↔ NIC为了 Debug 硬塞成CPU ↔ Switch ↔ NIC问题本身可能已经被改变。所以会议中特别提醒Switch 是搭环境、Fan-out、Multi-Link Bring-up 很好用的工具但不能无条件代替透明 Inline Analyzer。两者目标不同。二十七、Retimer 和 Redriver 也在这时进入了测试工具链如果 Gen6 Channel 本身太差则还可能需要RetimerRedriver。Serial Cables 当前已经提供 PCIe/CXL Gen6 Retimer 和 Redriver 卡例如 Gen6 2×x8 MCIO Retimer 以及基于 Phison 的 Gen6 Redriver。这类卡在实验室非常适合做几种实验故意增加 Cable Loss把 Channel 拉到边缘状态观察 Link 是否降速加入 Retimer 后比较加入 Redriver 后比较重新调 EQ测试不同拓扑。换句话说工具不是只能用来“测 DUT”。有时候它本身就是用来制造不同 Channel 条件的积木。对于PCIe 6.0互联产品感兴趣看这里【行业内幕】PCIe Gen6/7生态正在换挡SerialCables最新产品透露了哪些信号二十八、到会议结束时其实已经形成了一套完整的 PCIe Gen6 测试金字塔把这次接近两个小时的交流重新整理以后会发现所有工具其实并不杂乱。它们恰好对应不同问题。最底层第一层ElectricalOscilloscope BERT解决信号本身合不合格。再上一层第二层Protocol Analyzer解决问题发生的时候PCIe Link 上到底发生了什么。再上一层第三层Protocol Tester解决我主动制造特定协议行为DUT 会怎么响应。再往上第四层PCI-SIG CTS解决不是针对某一个 Bug而是系统地检查标准 Compliance。如果 DUT 已经变成完整 SSD第五层SANBlaze RM6解决NVMe/OCP/NVMe-MI/I2C/I3C/FDP/SPDM/TCG/UNH IOL/VDM/ZNS/Reset/Power/Enterprise Feature 的系统验证。再把环境故意搞坏第六层Quarch Breaker / PPM解决Hot Plug、Fault Injection、Glitch、Power Margining、Abnormal Power。与此同时第七层Quarch PAM解决长时间测 Voltage、Current、Power 和 Sideband。最后第八层Gen6 Switch / Retimer / Redriver解决没有成熟 Host、接口不够、Channel 太差或者需要构造复杂 Gen6 拓扑时的环境搭建。这时再回头看“PCIe Gen6 测试”这几个字就会发现它根本不是买一台 Analyzer 就结束了。写在最后真正复杂的不是64 GT/s而是“问题到底发生在哪一层”这次交流给我最大的感受并不是某一台仪器有多少 GB Buffer或者某一个模块能打多少纳秒的 Glitch。真正值得工程师建立起来的是分层定位问题的思维。例如一块 Gen6 SSD 掉盘。不要上来就抓几十 GB Trace。先问物理层有没有问题Link Training 正常吗是不是 EQ有没有 Uncorrectable ErrorPERST# 有没有异常PCIe Protocol 有没有异常 TLP/DLLP是 Host 没发 Command还是 SSD 没回 Completion还是 Power Rail 在某个瞬间掉了是不是只有插某一台服务器才复现能不能用 Tester 主动复现能不能通过 Fault Injection 把问题概率从“一周一次”提高到“一分钟一次”一旦问题被拆到这一层工具的选择自然就清楚了。Analyzer 不是为了抓得越多越好Tester 不是为了把 DUT 折腾得越惨越好Fault Injection 也不是为了证明设备一定会挂。所有工具最终服务的其实是同一个目的把一个原来看起来随机、偶发、无法解释的问题变成一个可观察、可控制、可复现、最终可以被修掉的问题。而这才是 PCIe Gen6 真正进入芯片验证、服务器、网络、AI 和企业级存储以后对测试工程师提出的最大挑战。