PCIe Gen6 FLIT模式详解
128B FLIT结构与低延迟优化
什么是FLIT模式?
FLIT(Flow Control Unit)是PCIe Gen6引入的全新数据传输模式,标志着PCIe架构的重大变革。与Gen5及之前的基于TLP(Transaction Layer Packet)的传输方式不同,FLIT模式采用固定长度的数据单元进行传输。
为什么引入FLIT模式?
- PAM4信号调制:Gen6使用PAM4(4电平脉冲幅度调制)替代NRZ,需要更强的错误纠正能力
- 降低延迟:FLIT模式支持低延迟传输,满足AI/ML等应用需求
- 简化设计:固定长度单元简化了PHY层设计
- 提高效率:共享流控制减少了协议开销
128B FLIT结构
PCIe Gen6定义了固定长度的128字节FLIT,每个FLIT包含数据、控制和校验信息。
FLIT格式(标准模式)
总计:128字节(2 + 120 + 4 + 2 = 128B)
FLIT Header详解
| 字段 | 位宽 | 说明 |
|---|---|---|
| FLIT Type | 3 bit | FLIT类型:Standard、LL、Retry等 |
| VC ID | 3 bit | 虚拟通道标识(VC0-VC7) |
| Sequence Number | 6 bit | 序列号,用于重传管理 |
| Credit Update | 4 bit | 流控制信用更新 |
| Reserved | 2 bit | 保留位 |
Payload结构
120字节的Payload可以包含:
- TLP片段:一个或多个TLP的部分或全部
- DLP(Data Link Layer Packet):数据链路层包
- Idle字符:空闲填充
TLP在FLIT中的映射
与之前版本不同,TLP不再以完整包的形式传输,而是被分割成适合FLIT Payload的大小。多个小TLP可以打包到一个FLIT中,大TLP可以跨越多个FLIT。
FLIT模式 vs 传统TLP模式
| 特性 | Gen1-5(传统模式) | Gen6(FLIT模式) |
|---|---|---|
| 传输单元 | 变长TLP(最大4096B) | 固定128B FLIT |
| 编码方式 | Gen1-2: 8b/10b Gen3-5: 128b/130b |
PAM4 + FLIT模式 |
| 信号调制 | NRZ(2电平) | PAM4(4电平) |
| 错误纠正 | LCRC + ECRC | FLIT CRC + 轻量级FEC |
| 流控制 | 每VC独立信用 | 共享流控制 |
| 重传机制 | ACK/NAK DLLP | FLIT级重传 |
| 延迟 | 较高 | 更低(支持LL模式) |
低延迟FLIT(LL-PCIe)
为了满足AI/ML和高性能计算对极低延迟的需求,PCIe Gen6引入了低延迟FLIT(Low-Latency FLIT,简称LL-PCIe)模式。
LL-FLIT结构
总计:128字节(1 + 125 + 2 = 128B)
LL模式特点
更小Header
Header从2字节减少到1字节,增加Payload空间
简化CRC
CRC从4字节减少到2字节,降低处理延迟
专用通道
LL-FLIT使用专用VC,避免与标准FLIT竞争
更低延迟
目标延迟降低50%以上,适合AI训练推理
延迟对比
| 模式 | 典型延迟 | 适用场景 |
|---|---|---|
| Gen5(128b/130b) | ~100ns | 通用计算 |
| Gen6 标准FLIT | ~80ns | 高性能计算 |
| Gen6 LL-FLIT | ~40ns | AI/ML、实时系统 |
共享流控制
PCIe Gen6引入了共享流控制(Shared Flow Control)机制,取代了Gen5及之前每VC独立的流控制方式。
传统流控制 vs 共享流控制
Gen1-5:每VC独立流控制
8个VC × 6种信用 = 48个独立计数器
Gen6:共享流控制
所有VC共享信用池,简化管理
共享流控制优势
- 简化硬件:减少信用计数器数量,降低实现复杂度
- 提高效率:信用可以在VC间动态分配,避免某些VC信用不足
- 降低开销:流控制更新信息包含在FLIT Header中,无需单独的DLLP
- 更好扩展:为未来更多VC提供支持
PAM4信号调制
PCIe Gen6采用PAM4(Pulse Amplitude Modulation 4-level)信号调制技术,这是实现64 GT/s速率的关键技术。
PAM4 vs NRZ
NRZ(Non-Return-to-Zero)
- 2个电平(0, 1)
- 每符号1 bit
- Gen1-5使用
- 信噪比要求高
PAM4(4-Level Pulse Amplitude Modulation)
- 4个电平(00, 01, 10, 11)
- 每符号2 bits
- Gen6使用
- 相同波特率下双倍数据率
PAM4挑战与解决方案
| 挑战 | 影响 | 解决方案 |
|---|---|---|
| 信噪比降低 | 4个电平间距更小,易受噪声影响 | 轻量级FEC(前向纠错) |
| 非线性失真 | 电平间转换非线性 | 高级均衡算法 |
| 时钟恢复 | 电平切换更复杂 | 改进的CDR电路 |
| 功耗增加 | 信号处理更复杂 | 低功耗设计优化 |
FLIT级重传机制
PCIe Gen6采用全新的FLIT级重传机制,取代了传统的ACK/NAK DLLP机制。
重传流程
重传缓冲区
重传缓冲区管理
- 大小:典型配置支持64-256个FLIT的重传
- 组织:循环缓冲区,按序列号索引
- 释放:收到ACK后释放已确认FLIT
- 超时:未收到ACK时自动重传
应用场景
AI/ML训练
GPU之间的高速互联,需要极低延迟和高带宽
推荐模式:LL-FLIT
高性能存储
NVMe SSD阵列,需要高吞吐量和可靠性
推荐模式:标准FLIT
数据中心网络
SmartNIC/DPU,需要高吞吐量和低延迟
推荐模式:标准FLIT或LL-FLIT
图形工作站
多GPU渲染,需要高带宽
推荐模式:标准FLIT
总结
PCIe Gen6的FLIT模式代表了PCIe架构的重大演进,通过引入固定长度的FLIT单元、PAM4信号调制、共享流控制和低延迟模式,实现了更高的带宽(64 GT/s)、更低的延迟和更好的效率。
关键要点
- FLIT模式是PCIe Gen6的核心创新,固定128B长度简化设计
- PAM4调制在相同波特率下实现双倍数据传输
- LL-FLIT模式提供极低延迟,满足AI/ML需求
- 共享流控制简化硬件实现,提高效率
- FLIT级重传机制替代传统ACK/NAK