学习: PCIe 6.0 的 L0p

先把一个容易混的点说清:

**PCIe 5.0(Non-Flit / 128b130b)本身并没有"L0 下关掉部分 Lane、不重新训练就恢复全宽"的官方机制。**​

这个能力主要是 PCIe 6.0 的 L0p;PCIe 5.0 里类似"关 Lane/降宽"通常要进 Recovery / Re-train。

但"流量低关部分 Lane、恢复全宽不重新训练",在 L0p 语义下是可以解释的。


一、为什么"升宽"其实还是要训练,只是不打断业务

降宽(x16 → x8):

  • 在 SKP Ordered Set 边界发 Control SKP / EIOS
  • 多余 Lane 进 Electrical Idle
  • 剩余 Lane 继续传数据
  • 不需要重新均衡,因为这些 Lane 本来就在跑,信道没变

升宽(x8 → x16):

  • 原来关掉的 Lane 退出 Electrical Idle
  • 发 EIEOS
  • 交换 TS1/TS2
  • 做 bit/symbol lock、lane-to-lane de-skew
  • Gen3+ 还要发 SDS(Start of Data Stream)
  • 然后才把新 Lane 并入数据流

所以严格说:

"恢复全宽"不是完全不训练,而是"只对新增 Lane 做局部训练",原本在跑的 Lane 不进 Recovery、不重做均衡、不中断 TLP/Flit 流。


二、为什么可以"不重新做全链路 Equalization"

关键前提:

  1. 速率没变
    还是 32 GT/s(Gen5)或 64 GT/s(Gen6),信道损耗特征没变。
  2. 关掉的 Lane 之前已经训过
    Link 初始化时 x16 全宽已经做过完整 EQ(Preset / Phase0~Phase3 / TS1 TS2)。
    关 Lane 时:
    • 不改 TX presets
    • 不改 RX CTLE/DFE 系数
    • 不重协商 speed/width 上限
  3. Lane 是"睡过去"的,不是"拔掉重连"
    电气空闲(Electrical Idle)只是:
    • TX driver tristate
    • RX 关前端功耗
    • PLL 可关可留
      但 Lane 编号、极性、反向、de-skew 上下文都还在。
  4. 用 Ordered Set 做"检查点"
    SKP / Control SKP / EIEOS / SDS 都是协议级锚点:
    • 降宽:在 SKP 边界切
    • 升宽:新 Lane 训完后用 SDS 标记"从现在开始这块 Lane 算进数据流"
      上层看到的是带宽变化,不是丢包。

三、和"真·重新训练(Recovery)"的区别

动作 进 Recovery? 重做 EQ 业务中断 场景
L0p 降宽 否 否 否 流量低,x16→x8
L0p 升宽 否(仅新 Lane 局部训练) 新 Lane 做轻量 lock/de-skew 否 流量上来,x8→x16
进 Recovery 是 是(可能全 EQ) 是/协议层可见 LCRC 狂错、块锁丢、速率变更
重新训练全链 是 是 是 热插拔、Reset、Gen 切换

一句话:

**Recovery = 链路健康出问题,要重训。**​

L0p 升宽 = Lane 本来就好好的,只是把"睡着的 Lane 叫醒并对齐",不用把整条链子拆了重练。


四、为什么 PCIe 5.0 你很少看到这功能

PCIe 5.0:

  • 没有 L0p
  • L0s:所有 Lane 浅休眠,退出用 FTS(假设式训练)
  • L1/L1.1/L1.2:整链休眠,退出要 Recovery 类流程
  • 动态降宽通常不是"L0 里悄悄做",而是:
    • Link Degradation(错误率过高 → 降宽/降速)
    • 或软件/BIOS 配 Max Link Width
    • 或进 Recovery 重新 Config
相关推荐
wangqiaowq12 小时前
Ontology 学习
学习
choumou_M14 小时前
算法_1:由浅入深学习快速排序QuickSort
学习·算法·排序算法
蒸蒸yyyyzwd19 小时前
后端学习笔记 day111
笔记·学习
叼烟扛炮19 小时前
[LangChain] 学习笔记(08):工具调用底层闭环与第三方搜索(Tavily)实战
人工智能·笔记·学习·langchain
Century_Dragon20 小时前
让新能源故障诊断实训“触手可及“——仿真教学软件(VR)介绍
学习
楚山之石20 小时前
【Radiology】影像组学的标准化与可重复性:IBSI 卷积滤波器共识及其未能覆盖的环节
人工智能·学习·机器学习·mri
小李不想当小白21 小时前
HAL库之UART(STM32 HAL库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
旖旎夜光1 天前
【C++ 基础入门】C++ 多态(中):虚函数表、多态原理与动静绑定
开发语言·c++·笔记·学习
旖旎夜光1 天前
【C++ 基础入门】C++多态(下):单/多继承虚表、多态补充与 21 道高频题
开发语言·c++·笔记·学习
叼烟扛炮1 天前
[LangChain] 学习笔记(07):大模型长出手脚——工具(Tools)定义与调用闭环
笔记·学习·langchain