CodingBox 說明文件

VDM 與 FEC 指標:PAM4 鏈路

在每通道 50G 及以上速率下,光功率本身已不足以說明鏈路的健康狀況:一條 Rx 功率完全正常的 PAM4 鏈路,可能只差一個髒污連接器就會出現不可糾正錯誤,而最先出現的徵兆不是某個 dBm 讀數,而是誤碼率。這個數字來自兩個來源:在模組內部,CMIS 的 VDM(多功能診斷監測)按通道報告 pre-FEC BER、SNR 和激光器健康狀態;在主機側,FEC 解碼器統計已糾正和未糾正的碼字數量。兩者結合,可以在鏈路仍無損傳輸業務時,顯示它距離失效還有多遠。

FEC 為何改變了診斷方式

每一種基於 PAM4 的 25G+ 以太網 PMD(以及大多數 25G NRZ PMD)都以 Reed-Solomon FEC 為前提。光模組允許輸出 10⁻⁵–10⁻⁴ 的原始誤碼率,因為 FEC 會將其修正到 10⁻¹² 或更好。由此帶來的後果是:一條正在劣化的鏈路,在 MAC 層看來完全沒有錯誤,直到越過 FEC 的糾正極限才會突然失效。pre-FEC BER 是唯一能平滑反映餘量變化的指標。

FEC編碼每碼字糾正能力輸出達到 10⁻¹² 所需的 pre-FEC BER 上限(近似值)應用場景
BASE-R(「FC-FEC」,Clause 74)Fire 碼 (2112, 2080)11 位元突發≈ 10⁻⁷ … 10⁻⁸,增益約 2 dB10G/25G NRZ、CA-25G-S
RS-FEC KR4(Clause 91/108)RS(528, 514) 基於 GF(2¹⁰)7 個符號≈ 5 × 10⁻⁵25GBASE-CR/SR/LR、100GBASE-SR4/CWDM4/CR4
RS-FEC KP4(Clause 119/134)RS(544, 514)15 個符號≈ 2.4 × 10⁻⁴所有 50G PAM4 通道:50G/100G/200G/400G/800G
級聯碼 / oFEC(相干)內碼 + 外碼≈ 10⁻² … 2 × 10⁻²400ZR (CFEC)、OpenZR+ (oFEC)

配置不匹配的情況:FEC、自動協商與鏈路訓練

VDM:模組報告的內容

VDM 位於 CMIS 頁面 20h–2Fh 中(按每 8 通道分 bank),並在頁面 01h 中聲明其支援能力。每個可觀測量都有一個描述符(類型、通道)、一個實時採樣值、四個閾值旗標,與經典監測量完全一樣。

頁面內容
20h–23h描述符:對應哪個可觀測量、哪個通道、使用哪一組閾值
24h–27h採樣值(每個 2 位元組)
28h–2Bh閾值:高/低警報,高/低警告
2Ch–2Fh旗標與掩碼

可觀測量類型(CMIS 4.0/5.x)

ID可觀測量單位/格式含義
1激光器壽命消耗% (U16)廠商估算的已消耗壽命
2TEC 電流佔最大值的 % (S16)製冷器負載,參見 溫度與電壓
3激光器頻率誤差MHz (S16)DWDM/ZR:偏離標準頻率柵格的程度
4激光器溫度°C (S16, 1/256)製冷型激光器
5 / 6eSNR,媒質側/主機側輸入dB (U16, 1/256)均衡後的電域信噪比,即 PAM4 的「眼高」;> 18–20 dB 為理想水平,< 15 dB 為臨界水平(因廠商而異)
7 / 8PAM4 電平轉換參數,媒質側/主機側dB四個電平的線性度
9 / 10pre-FEC BER 最小值,媒質側/主機側F16統計區間內的最優值
11 / 12pre-FEC BER 最大值F16統計區間內的最差值,是應設定警報的數值
13 / 14pre-FEC BER 平均值F16
15 / 16pre-FEC BER 當前值F16最近一次採樣
17–24FERC(幀誤碼率計數,frame error ratio count)最小/最大/平均/當前值,媒質側/主機側F16FEC 之後仍不可糾正的幀數,應為 0
128+相干參數集(CMIS 5.x):調制器偏置、CD、DGD、SOPMD、OSNR、eSNR、Q 因子、Rx 總功率/信號功率、載波頻率偏移…各不相同400ZR/ZR+ 模組

F16 是 CMIS 的 16 位元比率格式:5 位元指數加 11 位元尾數,數值 = 尾數 × 10^(指數 − 24)。例如 1.5 × 10⁻⁶ 的 pre-FEC BER 儲存為尾數 1500、指數 15。媒質側指光纖線路;主機側指到交換機 ASIC 的電介面:主機側 BER 異常,說明問題出在連接器或板卡,而不是光纖。

主機側 FEC 計數器

交換機或網卡按端口(通常也按通道)統計以下計數:

計數器健康警戒故障
已糾正碼字數緩慢增長(pre-FEC BER 10⁻⁸ … 10⁻⁶)快速增長(KP4 下達到 10⁻⁵)接近極限
不可糾正碼字數0出現任何增量持續增長 = 丟幀
每通道符號錯誤數各通道均衡某一通道明顯偏高該通道的光纖/連接器/激光器有問題
pre-FEC BER(推算值)< 10⁻⁷10⁻⁶ … 10⁻⁵> 10⁻⁴ (KP4)

查看位置:大多數 NOS 上是 show interfaces … fec / phy detail驗證光模組);Linux 上是 ethtool -Sfec_corrected_blocksfec_uncorrectable_blocks)和 ethtool --show-fec;SONiC 上是 show interfaces counters fec。計數器是累計值,應先清零,再觀察其變化速率

綜合解讀兩類指標

Rx 功率Pre-FEC BER / eSNR不可糾正錯誤診斷結論
在窗口內< 10⁻⁷,eSNR 高0健康且有餘量
在窗口內10⁻⁵,某一通道 eSNR 下降0該通道正在劣化:MPO 光纖污染、VCSEL 老化、連接器接近臨界,應在失效前處理(逐通道診斷
偏低偏高預算問題,參見 Rx 功率與鏈路預算
在窗口內,兩端均是主機側偏高電氣問題:籠子/連接器接觸、板卡、DAC 品質、均衡設定錯誤
在窗口內媒質側偏高,所有通道色散、傳輸距離等級不匹配、波長偏離合波器通道、極性部分接反
正常0 錯誤,鏈路閃斷0不是信號問題:FEC/自動協商不匹配、熱問題或軟件問題

閾值與警報

VDM 閾值由廠商設定;pre-FEC BER 的典型高警告值約為 FEC 極限的十分之一(KP4 下為 2 × 10⁻⁵)。用於警報時應關注變化速率和趨勢:只要 pre-FEC BER 在一週內上升一個數量級,無論是否越過閾值都應作為工單處理(監測)。FEC 之後仍出現的不可糾正錯誤,任何時候都是一次事故。

VDM 缺失的場景

SFF-8472 和 SFF-8636 模組沒有 VDM:10G/25G/100G NRZ 鏈路只能依靠主機側 FEC 計數器和 Rx 功率。部分 SFF-8636 模組會在頁面 20h–21h 或廠商自定義位元組中提供廠商私有的 SNR 或 BER,但只能用廠商自己的工具讀取。對於沒有 FEC 的 NRZ 鏈路(10G LR、1G),介面上的 CRC/輸入錯誤計數器是唯一的位元級視圖。

在 CodingBox 中

對於 CMIS 模組,CodingBox 會讀取 VDM 描述符和採樣值,並在 DDM 頁面中按通道與經典監測量一併顯示,同時將 F16 比率解碼為普通數值。主機側的 FEC 計數器不在模組和編程器的範圍內,它們來自交換機。


如果您發現本文有不準確之處或錯誤,請選取相應片段並按 Ctrl+Enter,即可