[pcie]gen6 (中)FEC和CRC

接上一篇  gen6 上:[PCIE]gen6 (上)_pcie gen6-优快云博客

1.5 前向纠错(FEC)和CRC

PAM4信号的引入虽然提高了传输速率,但也增加了信号的脆弱性。为此,Gen6通过多层的纠错机制来达到低延迟高效率。

1.5.1 gen6传输可靠性指标

FBER:

first bit error rate,首位比特错误率,表示在链路接收端首次发生比特错误的概率。根据PCIe 6.0规范,FBER的目标值小于10^-6,表示每传输100w bit 就会有发生过bit error. FBER 仅考虑第一个产生错误的bit 概率,不考虑后续bit 的错误和突发误码。所以实际的BER会比FBER糟糕大约差一个量级。因此,FBER通常和其它参数结合使用以全面评估链路的误码率。pcie6.0 通过轻量级FEC(forward error correction)机制和低延迟retry 机制来降低FBER的影响。gen6 规范规定flit error after EEC 之后低于3X10^-5。

FIT:

failure in time.PCIe 6.0规范规定0<FIT<=1 for X16,即在10^9小时内出错次数不大于1.

1.5.2 FEC

Gen6的FEC机制通过发送冗余数据来实现错误检测和修正,从而避免了重传的需要。这种机制特别适用于对延迟敏感且无法容忍重传的应用场景,例如实时视频传输和高性能计算。

  • 冗余数据流:FEC通过在原始数据中添加额外的纠错码字(ECC),形成一个完整的Flit(流量控制单元)。

  • 三向FEC:<

### PCIE Gen6 NOP FLIT 协议详情 在 PCIe 6.0 中,NOP (No Operation) Flit 是一种用于维持链路状态同步的重要机制。具体来说,NOP Flit 主要应用于物理层中的逻辑子层,在此层次上执行打包(Packing) 解包(Unpacking)[^3]。 #### NOP Flit 结构与功能 - **结构组成**: 每个 Flit 总长度为 256 字节(256B),其中包括 236 字节的有效载荷(TLP, Transaction Layer Packet), 6 字节的数据链接保护(DLP, Data Link Protection), 8 字节的循环冗余校验(CRC, Cyclic Redundancy Check)以及 6 字节前向纠错(FEC, Forward Error Correction)。 - **作用范围**: 对于 UCIe 而言,更侧重于处理 NOP DLLP (Data Link Layer Packets) NOP Flit,而未特别强调对 NOP TLP 的支持;后者遵循既定协议规定[^1]。 #### 实现方式 当处于 Flit 模式下时,会利用特定标记(Flit Marker) 来表明当前传输单元内最后一个有效负载的位置,这有助于接收端正确解析数据流并识别出哪些部分属于实际通信内容而非填充物[^5]。 ```cpp // 示例代码展示如何创建一个基本的 Flit 数据帧 struct FlitFrame { char payload[236]; // TLP Payload unsigned short dlp; // DLP Field unsigned int crc; // CRC Value unsigned short fec; // FEC Information void setMarker(bool isValid){ // 设置或清除 Flit Marker 标志位 if(isValid){ this->fec |= 0x8000; }else{ this->fec &= ~0x8000; } } }; ``` 对于 NOP Flit 的发送方而言,主要任务是在适当时候发出此类信号以保持连接稳定性时间同步性。而在接收侧,则需能够区分正常业务流量同这些控制指令之间的差异,并据此调整内部工作流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值