CodingBox 說明文件

CMIS——通用管理介面

CMISCommon Management Interface Specification,通用管理介面規範)是所有新一代高速封裝形式的管理模型:QSFP-DD、OSFP、OSFP-XD、QSFP112、SFP-DD 和 SFP112(作為 SFP+ with CMIS)、 DSFP、COBO 以及支援 CMIS 的 QSFP。它起源於 QSFP-DD MSA(CMIS 3.0,2018 年),被 OSFP 和 COBO 組織採納,自 5.0 版(2021 年)起由 OIF 維護。與 SFF-8636 相比,它不是更大的記憶體映射,而是另一種模型:面向最多 32 通道的分 bank 分頁、模組與每條數據通路各自的 狀態機、以 應用(application) 取代兼容性位元欄位、多樣化診斷(VDM)以及用於固件和擴展功能的命令通道(CDB)。版本位元組與歷史:規範版本

記憶體模型

區域尋址內容
下層頁面(位元組 0–127)始終可見識別碼、版本、模組狀態、旗標、模組監測量、全局控制、介質類型、應用描述符 1–8、密碼、bank select 126頁面選擇 127
上層頁面 00h(128–255)頁面 127 = 00h廠商資訊塊、功耗等級、連接器、線纜長度、介質技術、校驗和
01h能力廣播固件/硬件版本、鏈路長度、波長、支援的頁面與 bank、各階段耗時、信號完整性控制、描述符 9–15
02h閾值模組與通道警報/警告閾值
04h激光器能力可調諧激光器的頻率網格與範圍(SFF-TA-1004 譜系
10h(分 bank)通道控制數據通路去初始化、Tx disable、極性、squelch、均衡、分級控制集(staged control set)
11h(分 bank)通道狀態數據通路狀態、逐通道旗標、通道監測量、配置狀態、當前生效控制集
12h(分 bank)可調諧激光器控制每通道的信道/波長
13h–14h(分 bank)診斷環回、PRBS 發生器與檢測器
20h–2Fh(分 bank)VDM描述符、採樣值、閾值、旗標
9FhCDB命令塊:命令 ID、長度、校驗和、本地負載
A0h–AFhCDB EPL用於大數據量傳輸(固件鏡像)的擴展負載
80h–FFh(其他)廠商自定義頁面

bank 尋址 8 條通道:bank 0 對應通道 1–8,bank 1 對應通道 9–16,依此類推;具體實現了多少個 bank 由 page 01h 廣播。只有 page 00h 的模組會置位 flat memory 位(位元組 2 bit 7)。總線:單一地址 A0h,最高 400 kHz,每個插槽一根 ModSelL — 雙線介面

下層頁面 — 主機據以運行的位元組

位元組欄位說明
0識別碼18h QSFP-DD、19h OSFP、1Eh QSFP with CMIS…(SFF-8024
1CMIS 版本高低半位元組分別為主、次版本號:50h = 5.0,40h = 4.0,30h = 3.0
2記憶體特性bit 7 為 flat memory,另有僅支援分級配置等能力位
3模組狀態bit 3–1:1 LowPwr,2 PwrUp,3 Ready,4 PwrDn,5 Fault;bit 0 中斷未置位
8–11模組旗標狀態變化、溫度/Vcc 警報、輔助警報、自定義;均為鎖存,讀取後清除
14–25模組監測量溫度、Vcc、Aux1–Aux3(TEC 電流、激光器溫度、附加電源),以及自定義項
26全局控制5.x:bit 6 LowPwrAllowRequestHW,bit 5 squelch method,bit 4 LowPwrRequestSW,bit 3 軟件復位(4.x:bit 6 LowPwr,bit 4 ForceLowPwr)
37–38CDB 狀態命令塊 1 和 2 的 busy / success / fail
39–40當前固件運行鏡像的主、次版本號
85介質類型01h MMF,02h SMF,03h 無源銅纜,04h 有源電纜,05h BASE-T
86–117應用描述符 1–8每個 4 位元組:主機介面 ID、介質介面 ID、主機/介質通道數、主機通道分配選項
118–121密碼修改由廠商定義
122–125密碼輸入由廠商定義 — 寫保護密碼存放於此
126Bank 選擇
127頁面選擇

模組狀態機

Reset ──► MgmtInit ──► ModuleLowPwr ──► ModulePwrUp ──► ModuleReady
                            ▲                              │
                            └──────── ModulePwrDn ◄────────┘
                       (發生致命錯誤時,任何狀態都可能轉入 ModuleFault)
  • MgmtInit — 模組啟動其控制器,此時尚不能讀取身份資訊(按硬件規範最長 2 s)。
  • ModuleLowPwr — 可讀取身份、能力廣播和閾值;功耗限制在 class 1;主機在此階段校驗模組。
  • ModulePwrUp → ModuleReady — 主機拉低 LPMode 引腳(或清除 LowPwrRequestSW),模組隨即為光學部分上電;此後即可初始化數據通路。
  • ModulePwrDn — LPMode 置位後的相反過程。

一直停留在 LowPwr 的模組是最典型的 CMIS 故障: CMIS 問題排查功耗與熱管理

應用與數據通路

CMIS 模組不使用兼容性位元,而是廣播 應用(application) — 主機電介面與介質介面的搭配,並給出通道數:

描述符主機介面介質介面主機通道 / 介質通道示例
App 112h 400GAUI-8 C2M1Ch 400GBASE-DR48 / 4一條 400G 鏈路
App 20Eh 100GAUI-2 C2M14h 100GBASE-DR2 / 14 × 100G 拆分

主機通過向 Staged Control Set 0(page 10h 位元組 145–152)寫入 AppSel(bit 7–4)、 DataPathID(bit 3–1)和顯式控制位來為每條通道選擇應用,隨後置位 ApplyDPInit(page 10h 位元組 143)。模組在 ConfigStatus(page 11h 位元組 202–205:accepted、rejected、invalid AppSel、invalid lane combination…)中給出應答,並將被接受的值複製到 Active Control Set (page 11h 206–221)。此後每條數據通路各自運行自己的狀態機:

DPDeactivated ──► DPInit ──► DPInitialized ──► DPTxTurnOn ──► DPActivated
       ▲                                                          │
       └────────── DPDeinit ◄───────── DPTxTurnOff ◄──────────────┘

各通道的狀態記錄在 page 11h 位元組 128–131 中(每通道佔一個半位元組),每一步的最長耗時在 page 01h 中廣播,供主機據此判斷等待時間。逐通道的 Tx disable 位於 page 10h 位元組 130。模組未列為應用的拆分方式一律不可用 — 速度與速率

監測:旗標、監測量、VDM

  • 模組監測量(下層頁面 14–25)和 通道監測量(page 11h:Tx 功率 154–169,Tx 偏置電流 170–185,Rx 功率 186–201,每通道 2 位元組)使用與 SFP/QSFP 相同的 16 位元格式(單位)。
  • 閾值 位於 page 02h;旗標 均為鎖存,讀取後清除,且每個旗標各有掩碼;IntL 在任意未屏蔽的旗標置位時給出信號。
  • VDM(page 20h–2Fh)新增了舊規範從未提供的觀測量:pre-FEC BER、不可糾正的 FEC 幀數、每通道 SNR、激光器溫度與老化、eSNR、PAM4 電平轉換參數 — 每一項都有各自的描述符、閾值和旗標位。這就是 400G 模組能在錯誤到達主機之前就報告鏈路品質的方式(監測)。

CDB — 命令數據塊

page 9Fh 是一個郵箱區:主機寫入 命令 ID(位元組 128–129)、負載長度(130–132)、校驗和(133),以及最多 120 位元組的本地負載(136–255),必要時可在 EPL 頁面 A0h–AFh 中追加更多數據;模組執行命令後在狀態位元組 37–38 和應答負載中給出結果。標準命令包括:

命令用途
0000h查詢狀態
0040h / 0041h模組特性 / 固件管理特性
0100h獲取固件資訊(運行中鏡像與非活動鏡像)
0101h開始固件下載
0103h / 0104h通過 LPL / EPL 寫入固件塊
0107h完成下載
0109h / 010Ah運行鏡像 / 提交鏡像
0102h中止

CDB 是廠商工具在現場升級模組固件的途徑,部分廠商也用它實現配置和解鎖功能。支援情況與特性在 page 01h 中廣播。

校驗和與密碼

page 00h 位元組 222 是位元組 128–221 的校驗和;page 01h、02h 和 04h 在位元組 255 中攜帶各自的頁面校驗和(校驗和)。密碼(122–125)和廠商解鎖方案不在規範範圍內 — EEPROM 重編程

主機支援情況

各家網絡作業系統對 CMIS 4.0 和 5.x 的實現深度不一:有的會完整驅動應用/數據通路流程,有的只是釋放 LPMode,指望模組自行完成上電。這一差異是大多數「已識別但始終未就緒」故障的根源 — CMIS 問題排查主機做了甚麼

在 CodingBox 中

CodingBox 通過識別碼和版本位元組識別 CMIS,讀取低位記憶體、page 00h、01h、02h 以及分 bank 的通道頁面,依據 SFF-8024 解碼應用描述符,在 DDM 中顯示模組與數據通路狀態及逐通道監測量,並在 EEPROM editor 中編輯身份資訊,同時重新計算頁面校驗和。通過 CDB 進行的固件操作因廠商而異,不在編輯器功能範圍內。

暫存器級別的表格:下層頁面映射表上層頁面映射表 00h/01h/02h通道頁面映射表 10h/11h、VDM、CDB


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