【交流纪实】已有PPM,Gen6/CXL功耗测试怎么搭?一次选型交流把PPM、PAM和Sideband讲透
2026-08-17 16:46:38

做 PCIe Gen6、企业级 SSD 或 CXL 设备测试时,经常会碰到一个很现实的问题:

实验室其实已经买过不少设备了。

比如手上已经有Quarch 的 QTL1999 HD Programmable Power Module,简称 PPM,原来可能是拿来测试 PCIe 5.0 U.2 SSD 的。

现在产品升级了:

从 U.2 走到 EDSFF;

从 PCIe Gen4/Gen5 走到 Gen6;

甚至被测对象已经不是 SSD,而是一个 PCIe Gen6 x8 的 CXL Device。

这时候到底怎么办?

是原来的 PPM 全部不能用了,要重新买一套?

还是只需要补一块新的 Gen6 治具就行了?

如果除了电压、电流、功耗,还想把 PERST#、CLKREQ#、SMBus 等 Sideband 信号一起记录下来,是不是又需要另一套设备?

最近我们围绕这个问题,和北京一个开发/验证PCIe 6.0 E3.S SSD企业级盘专供大型云厂商(CSP)的客户做了一次比较深入的技术交流

整个讨论没有从“我们有什么产品”开始,而是从客户手里已经有什么设备开始。

最后逐渐梳理出了三种不同层次的方案:

只做电压拉偏和功耗测试;

测服务器真实供电下的功耗;

以及进一步:

把功耗和 Sideband 信号放在同一条时间轴上分析。

这三个需求看起来很接近,实际上对应的是完全不同的测试架构。


一、讨论一开始,先把一个最容易混淆的问题讲清楚:PPM测到的到底是谁的电?

客户当前已经有一台 Quarch PPM,希望把它用于新的 Gen6 测试环境。

这里首先必须讲清楚:

PPM既是一台可编程电源,也是一台功耗测量仪。

Quarch 当前官方的 QTL1999 HD PPM 可以对输出电压进行编程,同时测量电压、电流和功耗;官方给出的能力包括 Power Margining、Power Loss、Brownout、Glitch 以及自定义电压波形等。其电压、电流可以同步记录,基础测量采样率最高可到 250 kS/s。

所以如果我们把 PPM 接到被测设备上:

例如给一块 E3.S SSD 提供12V电源;

然后在 SSD 上运行 FIO;

随着 I/O 压力增大,SSD 的电流和功耗随之变化,

那么 PPM 完全可以把这些变化记录下来。

沟通一开始讨论的正是这个场景:

一边改变供电,一边跑I/O,同时观察Voltage、Current、Power。

但这里有一个非常重要的前提:

此时给DUT供电的是PPM。

也就是说,这种架构测到的是:

PPM提供给DUT的电。


二、如果我要测“服务器真正给SSD的电”,思路就变了

客户随后提出了另一个需求。

如果我并不想让外部 PPM 给 SSD 供电呢?

比如现在有一台:

Supermicro Server;

或者某个国产服务器平台;

服务器背板本身给 E3.S SSD 供电。

我想知道:

这台服务器真正给SSD提供的12V/3.3V电源,在启动、Idle、FIO压力、低功耗状态切换时到底是什么样?

这和前面的测试实际上不一样。

因为这时最希望保留的是:

真实Host环境。

电来自服务器;

设备仍然按照正常方式插在 Host 上;

我们只是在中间“观察”。

这正是 PAM——Power Analysis Module 更擅长解决的问题。

Quarch 对 PAM 的官方定义很清楚:

PAM 工作在真实 Host 环境中,电源仍然由 Host 正常提供,然后通过对应的 Fixture/Interposer 对电压、电流、功耗以及选定的 Sideband 信号进行测量。

所以可以用一句很容易记的话来区分:

PPM:我给你电,然后看你怎么用电。

PAM:Host给你电,我站在旁边看Host和Device之间到底发生了什么。

这两者非常像,但本质不同。


三、客户现有的QTL1999还能不能继续用?答案是:能

交流进行到6分钟左右,客户最关心的问题出现了:

“我们原来已经有一台PPM,是不是需要升级?”

经过沟通确认,客户手里的设备是 QTL1999

这个型号目前仍然是 Quarch HD Programmable Power Module 的标准型号之一。

官方资料显示,QTL1999支持两路可编程输出、功耗测量、任意电压波形、USB/LAN控制等,同时可以配合不同的 Power Injection Fixture 给不同接口的 DUT 提供电源。

因此:

从电源本体角度,并不是因为设备从U.2变成EDSFF、从Gen5变成Gen6,就必须把QTL1999换掉。

真正需要变化的是:

PPM和DUT之间的Fixture / Adapter / Power Injection路径。

这也是整个交流非常有价值的一点。

很多实验室升级接口时,第一反应是:

“原来的仪器是不是淘汰了?”

实际上,对于这种模块化架构来说,往往需要更新的是:

Fixture/治具,而不是主机。


四、顺着这个问题,又谈到了PPM为什么需要Calibration

客户确认现有 QTL1999 可以继续使用之后,讨论很自然地转到了 Calibration。

PPM毕竟不是一根简单的电源线。

它既要输出设定电压,又要测量:

Voltage;

Current;

Power。

所以长期使用以后,对测量精度有要求的实验室通常需要建立校准制度。

我们提到了两种做法:

一种是送回 Quarch 做 Calibration;

另一种是在设备数量比较多的情况下,在实验室自己完成校准。

还有个是购买“Keithley ”和quarch一个校准模块,quarch提供校准脚本,用户自己校准。

查 Quarch 当前官方资料可以确认:

如果用户希望自己校准 HD PPM,需要使用 Keithley 2460 SMU,再配合 Quarch QTL2294 Calibration Switchbox Kit。Quarch 同时提供专门的 Calibration Python Package 和 Application Note AN-019,用于指导整个校准流程。

所以对于只有一两台 PPM 的实验室:

送回厂家或者通过代理商做 Calibration,一般更简单。

而对于手里有十几台、几十台 PPM 的大型 SSD Validation Lab:

自己建立 Calibration 能力就开始有意义了。


五、真正进入Gen6环境后,需要解决的不是“PPM够不够快”,而是怎么把电送到新的DUT

接下来讨论进入物理连接。

客户原来的 QTL1999 可能是通过 U.2 Fixture 使用。

现在新的被测对象已经变成:

Gen6;

EDSFF E3;

而且有可能还是 x8。

于是问题变成:

QTL1999前面的电源输出,怎么送到新的Gen6 EDSFF设备?

我们花了相当多时间解释 PPM 到 Fixture 之间的线缆以及 Power Injection 的连接方式。

这里不建议大家死记连接器针数。

真正要理解的是架构:

PPM → PPM Cable → Power Injection Fixture / Adapter → DUT

不同接口:

U.2;

U.3;

E1.S;

E3.S;

PCIe AIC

只是最后 Fixture 不同。

Quarch 当前也已经有专门面向 Gen6 EDSFF x8 的 Power Injection Fixture,例如 QTL3194,设计目的就是在 DUT 仍然处于正常 EDSFF 系统环境中的情况下,用 PPM 替代 Host 电源,为设备提供可编程电源,同时完成 Power Margining 和功耗测量。


六、为什么转接卡上的“Host Power / External Power”选择一定不能忽略?

交流中专门提醒了一个很容易犯错的小细节。

如果使用带有外部 PPM Power Injection 功能的SerialCables公司的PCIe 6.0 EDSFF转接卡,通常需要明确选择:

DUT到底从Host取电,还是从外部PPM取电。

我们交流过程中反复强调:

默认状态可能仍然是 Slot Power;

要使用 PPM 时,需要把对应的开关/Jumper 切换到 External Power 一侧。

这件事看起来非常小,实际很关键。

因为你做 Power Margining 的目的就是:

例如把12V变成:

11.4V;

10.8V;

或者模拟某种 Ramp、Brownout、Glitch。

如果 DUT 实际上还偷偷从 Host 的12V取电,

那你在 PPM 上改半天电压:

DUT根本没看到。

因此搭建这类环境时一定要先确认电源拓扑:

Host Power有没有被隔离?

PPM Power是不是已经真正接管DUT?

3.3V AUX又从哪里来?

这比打开软件调电压更重要。


七、然后客户问到了整个交流最关键的问题:既然PPM也能测功耗,那为什么还要PAM?

大约12分钟时,讨论开始进入最容易混淆的部分。

客户的疑问非常合理:

“我们已经有PPM了,PPM本身不是也可以记录电压、电流、功耗吗?那是不是就没有必要买PAM?”

答案是:

取决于你到底想看什么。

PPM当然能够记录 Voltage、Current、Power。

Quarch Power Studio,也就是 QPS,可以同时支持 PPM 和 PAM,并且能够做很长时间的 Power Trace Recording。官方资料显示,QPS可以处理长时间甚至多GB级的功耗Trace,并支持Python自动化。

因此:

如果你的需求只是:

电压拉偏;

掉电;

Brownout;

Glitch;

FIO过程中功耗;

Idle Power;

长时间功耗趋势,

现有 PPM 很可能已经够用了。

所以可以这样解释:

PPM可以连续记录几分钟、几小时甚至更长时间的 Voltage/Current/Power。


八、真正把PPM和PAM拉开差距的,是Sideband

紧接着,交流中指出了 PPM 方案的一个重要边界:

PPM本身主要关注Power。

如果你进一步希望看到:

PERST#;

CLKREQ#;

WAKE#;

SMBus;

PWRDIS;

Presence;

以及其他 Sideband Signal

随时间怎么变化,那么单独依赖 PPM 就不够了。

这时 PAM 的价值就出来了。

例如 Quarch 当前的 Gen6 EDSFF x8 PAM Fixture QTL3069,不仅可以测 Voltage、Current、Power,还可以记录大量数字 Sideband 信号,包括 PERST、CLKREQ、SMBus以及REFCLK状态等。

PAM的核心价值因此并不仅仅是:

“比PPM多一个功耗仪。”

真正有价值的是:

把Power和Sideband放到同一时间轴上。


九、为什么Sideband有时候比PCIe Data Packet还重要?

沟通中举了一个刚刚遇到的实际案例。

在某个服务器环境中,一个 Gen6 设备启动过程中表现不稳定。

后来观察发现:

服务器对 PCIe Reset,也就是 PERST#,进行了多次拉高/拉低动作;

而实验室另外一个环境里的行为明显不同。

这类问题很典型。

工程师经常会看到:

设备偶尔掉盘;

某次Boot起不来;

Reset以后又恢复;

换一个Server平台问题消失;

甚至重启十次只有一次失败。

这时候第一反应往往是:

“PCIe协议有Bug。”

但实际问题可能根本还没走到 TLP 层。

它可能发生在:

Power Rail;

PERST#;

CLKREQ#;

REFCLK;

SMBus;

PWRDIS

这些启动条件上。

所以:

PCIe协议分析仪看到的是“链路里面说了什么”。

而:

PAM帮助你看到的是“链路准备说话之前,Host和Device之间发生了什么”。

两者解决的是不同层面的问题。


十、这也是为什么“功耗+Sideband同步记录”特别适合抓偶发故障

假设一块 E3.S SSD 在 Server 里连续跑三天 FIO。

第三天凌晨突然掉盘。

如果我们只有平均功耗记录,也许只能看到:

掉盘前功耗下降了。

但是如果同时记录:

12V;

3.3V AUX;

Current;

PERST#;

CLKREQ#;

SMBus;

甚至其他 Sideband,

情况就完全不同。

你有可能看到:

先是Host拉了一次PERST#;

100ms后设备功耗掉下去;

随后又重新上电;

然后才出现系统中的重新枚举。

这时故障原因的调查方向就清楚多了。

Quarch 当前 PAM 产品的设计目的正是同时观察 Power 和选定的 Sideband Assertion;其 Gen6 x16 PAM Fixture甚至明确支持 PCIe、NVMe、CXL 和 OCP Device。


十一、所以到了15分钟以后,方案实际上已经分成了两个档次

交流继续到这里,客户真正需要做的是一个投资选择。

第一种:最小投入方案

客户已经有:

QTL1999 PPM。

那么增加一块支持 Gen6/EDSFF/CXL 的:

SerialCables公司的Gen6 EDSFF Adapter 或者 Qujarch Gen6 Power Injection Fixture

即可继续完成:

电压拉偏;

Power Cycle;

Brownout;

Glitch;

Voltage/Current/Power Measurement;

长时间功耗记录。

这种方案最大的优点就是:

充分复用已经买过的PPM。

我们最终也明确倾向于:

如果目前希望尽量降低投入,先买转接和 Power Injection 所需要的部分,不急着把 PAM 全套补齐。


十二、第二种:完整Power + Sideband方案

如果客户后续明确提出:

不仅要看功耗;

还要分析 Host 与 CXL/SSD Device 之间的 Sideband Timing,

那就增加:

PAM Fixture / PAM Measuring Card + PAM主控制模块。

按照 Quarch 现在的正式产品命名,更准确的说法应该是:

Power Analysis Module,PAM主机/控制单元

加上:

对应接口的 PAM Fixture / Measuring Fixture。

Quarch官方明确说明,PAM本身是主控制单元,不同接口需要配对应的 Fixture。

Serial Cables 目前部分 Gen6 Adapter 转接卡也支持直接增加 Quarch PAM Mezzanine。

例如其当前的 Gen6 PCIe/NVMe/CXL x8 AIC-to-EDSFF Active Adapter,就提供可选的 Quarch PAM Mezzanine,用于分析 Power Rails 和 Sideband Signals。

这正好对应我们沟通中提到的:

Measuring Card / Mezzanine Card。


十三、实际上还有第三种玩法:PPM和PAM一起上

如果测试要求再高一些,并不是非要:

PPM和PAM二选一。

完全可以把两者结合起来。

PPM负责:

主动制造条件。

例如:

Voltage Margin;

Power Loss;

Brownout;

Glitch。

PAM负责:

观察系统的响应。

比如:

功耗怎么变化;

PERST#什么时候变化

CLKREQ#是否出现异常

SMBus什么时候有活动。

这时测试从:

“量功耗”

变成了:

主动制造故障 + 同步观察Device和Host怎样回应。

这个能力对于定位非常偶发的问题尤其有用。

Quarch自己也把 PPM 和 PAM 定位成能力部分重叠、但侧重点不同的两类产品,并强调出现问题以后可以通过 PPM 或其他 Fault Injection 工具重新复现问题。


十四、17分钟以后,话题从“电”转到了“线”:客户真正测的是一个x8 CXL设备

把 PPM/PAM 的问题基本搞清楚以后,客户又提出了一个新的实际需求:

需要一根高速延长线。

开始大家下意识按照 SSD 去理解:

x4。

结果客户马上纠正:

“这个不是SSD,是CXL设备,是x8。”

这个小插曲其实很有代表性。

现在很多实验室都在进入 CXL 测试。

而过去大家熟悉的:

M.2 NVMe SSD;

U.2 SSD;

很多 E3.S SSD

通常重点关注 x4。

一旦进入:

CXL Memory Expander;

CXL Accelerator;

其他CXL Device,

就很容易碰到:

x8;

甚至x16。

于是:

原来SSD实验室里大量现成的x4线缆和Adapter suddenly就不够用了。


十五、Gen5的线能不能直接跑Gen6?答案不是简单的“能”或者“不能”

交流中又出现一个很有工程味的问题。

现场找到了一款以前使用的 Gen5 Cable。

大家过去实际使用过程中发现:

我们之前实际测试过,SerialCables最近两年新出的标称 Gen5 的线缆,在部分实验环境里确实也能够把 Gen6 Link 跑起来。

但这里一定不能把现场经验写成:

“Gen5 Cable都支持Gen6。”

这显然是不严谨的。

能不能Link Up,和:

Cable Length;

Insertion Loss;

Return Loss;

Connector;

PCB Loss;

Retimer/Redriver;

Tx EQ;

Rx EQ;

整个Channel Budget

都有关系。

甚至同一根线:

在平台A上Gen6稳定;

换到平台B就可能只能降到Gen5。

所以录音中最后采取的办法其实很合理:

实验室如果手边有样品,可以先实测。

但是正式项目采购:

还是应该优先选择明确针对 Gen6 Channel 设计和验证的产品。


十六、到了20分钟左右,讨论已经从“找一根线”升级成“整个CXL连接拓扑怎么搭”

客户需要的是 x8 CXL Device。

于是大家开始逐项寻找:

x8 Extension;

EDSFF;

AIC;

Gen5;

Gen6

几种不同的连接方案。

这里又暴露出 Gen6 实验室目前一个非常典型的现象:

x4的东西很多,x8的选择明显少。

尤其一些非常专用的:

EDSFF-to-EDSFF x8 Extension;

E3-to-AIC;

特定长度Gen6 Cable

不一定像普通 x4 SSD Cable 那么容易直接找到标准品。

所以会议中并没有强行说:

“这个型号肯定有。”

而是决定:

回头直接向国外原厂确认。

这种处理反而是正确的。


十七、为什么Gen6环境越来越多采用MCIO?

23分钟左右,大家查看现有 Gen6 连接产品时发现:

很多 Gen6 Solution 已经更多地围绕:

MCIO

展开。

沟通中最后总结的现场观察是:

Gen6下,MCIO相关产品很多;

直接EDSFF延长线反而相对少一些。

这也解释了为什么现在搭建 Gen6 SSD/CXL 实验环境时,越来越经常看到这样的拓扑:

CPU / Switch

PCIe Gen6 Host Card

MCIO Cable

EDSFF Adapter

E3.S / CXL Device

相对于在所有场景下都坚持使用一种“从 EDSFF 公头直接延长到 EDSFF 母头”的长线,

模块化的:

Host Card + MCIO Cable + Device Adapter

通常更容易组成不同的实验拓扑。


十八、如果被测对象本身就是E3/CXL,其实直接用x8 EDSFF Adapter可能更干净

目前 Serial Cables 已经有专门的 Gen6 x8 PCIe Slot to x8 E3 EDSFF Adapter,明确支持 PCIe、NVMe 和 CXL Device。

这类方案的价值在于:

如果 Host 上本来就有标准 PCIe x8/x16 Slot,

完全可以:

PCIe Slot

Gen6 x8 Adapter

E3 / CXL DUT

而不一定非要先经过一长串多余转接。

到了 Gen6,少一个 Connector;

少一块 Adapter;

少一段 PCB Trace,

往往就多一点 Signal Margin。

所以连接环境设计时,应该优先考虑:

怎样以最少的无源路径完成我要的测试功能。

而不是:

“手里有哪些转接头,全串起来总能接上。”


十九、这次交流最后真正形成的,不是一张采购清单,而是一个分阶段方案

会议最后几分钟,双方把下一步行动也确定了。

第一:

把前面提到的 Gen5/Gen6 实际演示视频发给客户,让客户先看清 PPM、PAM、Adapter 的实际连接方式。

第二:

继续向国外原厂确认:

是否有客户需要的x8 E3/EDSFF Extension Cable,Gen5和Gen6分别有哪些选择。

客户大约只需要三到四根,因此一些并未公开放到网页上的小批量型号,也值得直接向原厂询问。

第三:

把目前能够确定的:

Adapter;

Cable;

Fixture

先整理成一个小型报价表。

剩下还没有确认的特殊线缆,再等原厂回复。

这个结束方式其实特别像真实的工程选型。

没有为了“今天必须成交”硬凑一套设备。

而是先把需求拆开:

现有设备能不能复用?

缺的是Fixture还是主机?

要不要Sideband?

是SSD x4还是CXL x8?

Gen5够不够,还是必须Gen6?

等这些问题搞清楚,BOM自然就出来了。


二十、把整场交流浓缩下来,其实就是下面三种测试需求

如果以后再碰到类似客户,我觉得完全可以先问三个问题。

需求一:我要做Voltage Margining、掉电、Brownout,同时测功耗

优先考虑:

PPM + 对应Power Injection Fixture。

如果已有 QTL1999,尽量继续复用。

核心能力是:

主动控制Power。


需求二:我不想改变服务器供电,只想看真实环境中的功耗

优先考虑:

PAM + 对应PAM Fixture。

此时 Host 正常给 DUT 供电。

核心能力是:

观察真实Host→Device Power。


需求三:我不仅要功耗,还要知道PERST#、CLKREQ#等什么时候变化

选择:

PAM + 带Sideband Capture的Fixture。

如果还希望主动制造:

Voltage Sag;

Brownout;

Power Loss;

Glitch,

再结合:

PPM。

也就是说:

PPM负责“制造条件”,PAM负责“观察发生了什么”。

这句话基本就能把两种设备讲清楚。


写在最后:Gen6测试环境最怕的不是设备少,而是把不同问题用同一种工具解决

这次交流表面看是在讨论:

“该买哪一张转接卡?”

但真正的问题其实是:

究竟想测什么?

如果只是想知道:

SSD跑FIO时功耗多少,

现有PPM已经能解决很多问题。

如果想知道:

Server给设备的真实电源到底怎么样,

PAM更合适。

如果问题变成:

“为什么这个CXL设备在这台Server里偶尔起不来?”

那么单纯看平均功耗可能已经不够。

这时候真正需要把:

Power;

PERST#;

CLKREQ#;

SMBus;

甚至PCIe Protocol Trace

沿同一个事件时间轴逐层往下查。

所以好的测试环境,并不是把所有昂贵设备一次性全部买齐。

更合理的做法是:

先利用手里已经有的设备,把最明确的问题解决掉;

然后根据下一层Debug需要:

增加 Fixture;

增加 PAM;

增加 Sideband Capture;

增加 Protocol Analyzer。

这也是这次交流最后形成的方案:

客户已经有 QTL1999 PPM,

那么就先围绕现有 PPM,把 Gen6/CXL 的转接和 Power Injection 环境搭起来。

如果后续确认确实需要:

Host真实功耗 + Sideband同步分析,

再增加 PAM。

这样既不会重复投资,

又保留了未来进一步Debug的能力。

对于现在越来越复杂的 PCIe Gen6、EDSFF 和 CXL 测试环境来说,这种“按问题逐层增加观测能力”的思路,往往比一开始就堆满仪器更加实际。

希望获得更多关于PCIe5&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公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。