【每日一题】什么是PCIe L0s链路状态
2025-12-24 10:09:09

昨天针对PCIe 6.0 L0p的链路状态的文章发布后,有留言问:这跟L0s有啥区别今天我们就来讲讲PCIe协议的L0s具体是做什么的?从PCIe哪一代引入的?这个和PCIe 6.0引入的L0p的区别在什么地方?引入L0s的初衷和目的是为什么?顺便承接昨天聊聊既然有L0s,为什么PCIe 6.0 还要引入L0p?


一、什么是 L0s?它在做什么?

L0s 是 PCIe 的一种 Active State Power Management(ASPM)省电状态 它是 L0(全速、可以正常传输数据)状态的低功耗子状态

L0s 中的 “s” 是什么缩写?

在 PCIe 的电源管理机制(ASPM: Active State Power Management)中:

  • L0s 全称常解释为 “L0 Standby” 这里的 “s” 就对应 Standby(待机) 的含义。 L0s 表示链路仍在 L0(正常运行)逻辑下,但在某个方向进入电气空闲(电气 Idle)以节省能量。 

换句话说:

L0s = L0 + Standby (待机方向) 表示 “部分进入待机但还保留基本链路能力”。

在 L0s 状态下

  • 链路仍然训练完毕、能保持通信基础能力 

  • 但对应某一方向(Tx 或 Rx)的发送端进入电气 Idle(电气静止) 

  • PLL、参考时钟保持运行 

  • 节省一定功耗 

  • 可以非常快返回到 L0(纳秒级到微秒级) 

L0s是“轻量级的省电模式” 比起 L1 更轻、更快恢复。 

更通俗讲:

L0s 就像是“工作时的短暂休息”,不完全断开,只是让线路进入轻度空闲,等待下一次传输很快回来。

这里的“休息”主要是停止发送 Idle 信号,但时钟、PLL 等核心仍然活动,使得退出成本非常低。


L0s 是什么时候引入的?

L0s 并不是 PCIe 6.0 才有的。 它早在 PCIe 2.0 / 3.0 规范中作为 ASPM 机制的一部分就已经存在,是标准 PCIe 电源管理设计的一部分。 

ASPM(Active State Power Management)定义了一些“运行态的省电机制”,包括 L0s 和 L1:

  • L0 — 根本没有省电,链路全速运行

  • L0s — 轻度省电、延迟非常小

  • L1 / L1.x — 更深度省电(PLL & RefClock 关断),恢复需要更长时间


二、为什么需要 L0s?

PCIe 链路是高速串行信号,在数据传输间隔里存在大量空闲时间。

L0s 的目的就是降低这种空闲期间的功耗,同时最大程度保证链路性能:

节能同时保持低延迟唤醒

  • 保持 PLL/时钟运行 → 唤醒快

  • 关闭发送端某一方向 → 小幅降低功耗

  • 不需要重新进行复杂的链路训练

在电池受限的设备(如笔记本、移动终端、嵌入式)中,ASPM 的 L0s 尤其重要,用于降低系统的静态链路功耗。


三、L0p 是什么?它是何时引入的?

L0p 是 PCIe 6.0 规范中新引入的一种低功耗机制,针对 Flit Mode 和带宽使用场景优化。 它不同于 L0s,而是一种 与链路带宽缩放(动态修改链路宽度)相关的低功耗子状态。 

PCIe 6.0 在 L0p 状态中:

  • 链路至少保持 一个活跃 lane 可用

  • 能够在链路方向上根据带宽需求动态调整 lane 数量 

  • 在带宽较低时关闭部分 lane 以节省功耗 

  • 保持链路在 L0 逻辑活跃状态 

  • 不需要完全回到 L0 训练才继续传输数据

总结来说,L0p 的关键特性是:

在不丢失通信能力的前提下,根据带宽需求自动调整链路宽度与功耗。


四、L0s vs L0p:核心区别



特性L0sL0p
引入规范PCIe 2.x / 3.x(作为 ASPM 机制的一部分)PCIe 6.0
是否仍然保持逻辑 L0✔ 是✔ 是
是否关闭 PLL/时钟❌ 不关闭❌ 保持至少一个 lane 活跃
主要节能手段关闭单方向发送动态调整链路宽度(power-scaled lanes)
唤醒延迟非常短(数百 ns 到数微秒)低延迟,但具体依赖 Flit & Negotiation
是否可用于带宽自适应❌ 否✔ 是
是否支持动态带宽调整❌ 否✔ 支持
适用模式普通 PCIe 数据链路空闲时PCIe 6.0 特有 Flit Mode 下

五、为什么在已有 L0s 的情况下还要引入 L0p?

这是个很典型的 工程与应用需求推动规范进化的例子

L0s 的局限性

虽然 L0s 已经可以省电且恢复快,但它:

  • 只能在“链路整体空闲”时触发 

  • 不能根据链路带宽使用动态调整 lane 数量 

  • 不能针对高带宽与低带宽情况做“按需节电”

如果是 PCIe 6.0 这种 64 GT/s 大带宽链接场景,只靠 L0s 节电效果有限。


L0p 的引入目的

PCIe 6.0 引入 L0p 是为了:

按实际带宽需求“动态调整链路宽度” 这就像 CPU 在高负载时开核、低负载时关核一样:

  • 高带宽时全 lane 活跃 

  • 低带宽时只保持部分 lane 活跃 → 更节能

并且:

  • 保持链路整体仍处于逻辑 L0(不中断数据流) 

  • 当前数据流不中断 → 不像进入 L1/L1.x 那样导致唤醒延迟 

  • 提供更细粒度电源控制,功耗随带宽线性下降

总结起来:

L0p 是一个比 L0s 更细粒度、更适应动态带宽的低功耗状态。


六、小结

  • L0 是 PCIe 的正常运行态 

  • L0s 是最早用来节省少量功耗且快速恢复的低功耗子态 

  • L1 / L1.x 是更深省电但唤醒更慢的状态 

     L0p 是 PCIe 6.0 规范在支持更高带宽和更复杂性能需求下新增的更智能、更动态的带宽相关省电机制

换句话说:

从静态省电 → 到动态带宽相关省电,是 PCIe 动力管理演进的逻辑。

更多关于PCIe 6.0/CXL的测试工具和技术,请下载Saniffer公司2025.6.16最新更新的白皮书12.3版本 - 《PCIe5&6.0, CXL, NVMeNVMoF, SSD, NAND, DDR5, 800GE测试技术和工具白皮书_ver12.3》。
白皮书下载链接 (或者点击下面的二维码直接下载):

https://pan.baidu.com/s/18_c11aeFhSBe2qa-jUFs_Q?pwd=mm9y 提取码: mm9y

图片

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

图片