規範修訂版與版本位元組
規範是不斷演進的文件。模組會聲明其記憶體映射遵循哪個版本,主機則按自己已知 的版本來解析該映射。多數情況下兩者足夠一致;不一致時,某個位元組就會被讀成並非其本意的內容。本頁列出版本位元組、解碼方法,以及每一代大致新增了甚麼,以便你判斷眼前這個欄位對當前模組而言是否存在。
版本聲明位置
| 系列 | 位元組 | 編碼 |
|---|---|---|
| SFF-8472(SFP) | A0h 位元組 94 | 枚舉代碼(見下表) |
| SFF-8636(QSFP) | 位元組 1 | 枚舉代碼(見下表) |
| CMIS | 位元組 1 | 主版本半位元組.次版本半位元組(50h = 5.0) |
| MIS(SFP-DD) | 位元組 1 | 與 CMIS 相同 |
| INF-8077i(XFP) | 無 | 識別碼 06h 即隱含 INF-8077i rev 4.x |
SFF-8472 — 位元組 94
| 值 | 版本 | 主要新增內容(大致) |
|---|---|---|
| 00h | 未指定 | 診斷功能出現之前的模組;僅有身份資訊 |
| 01h | 9.3 | 首次引入數字診斷:A2h 閾值、監測值、旗標 |
| 02h | 9.5 | 澄清說明,可選的激光器溫度/TEC 監測值 |
| 03h | 10.2 | SFP+ 時代:速率選擇、線性接收器選項、位元組 93 增強選項 |
| 04h | 10.4 | 按 SFF-8431 的軟件速率選擇、功率等級 2、按 SFF-8079 的應用選擇 |
| 05h | 11.0 | 10G 銅纜(DAC)編碼 — 線纜技術位元,60–61 中的衰減 |
| 06h | 11.3 | 擴展選項、可調諧發射器選項、16GFC 速率代碼 |
| 07h | 11.4 | 分頁 A2h 記憶體(位元組 64 位元 4)、SFF-8690 可調諧 02h 頁面 |
| 08h | 12.0 | 通過 SFF-8024 實現的位元組 36 擴展規範合規性;25G/100G 時代的代碼 |
| 09h | 12.4 | 功率等級 3(2.0 W)、位元組 62 中的 FC 速率 2、PAM4 編碼代碼、與 SFF-8024 對齊 |
經驗法則:聲明為 08h 或 09h 的模組,其位元組 36 必須有意義(或為零),並且當位元組 12 = FFh 時位元組 66 必須是 ×250 Mb/s 的速率;聲明為 03h 或更低版本的模組,位元組 36 完全沒有語義,主機會忽略它。
SFF-8636 — 位元組 1
| 值 | 遵循的映射 | 主要新增內容 |
|---|---|---|
| 00h | 未指定(SFF-8436 rev 4.8 或更早) | 最初的 QSFP+ 映射 |
| 01h | SFF-8436 rev 4.8 或更早 | — |
| 02h | SFF-8436 rev 4.8,位元組 186–189 按 SFF-8636 | 波長和容差欄位 |
| 03h | SFF-8636 rev 1.3 或更早 | 首個 SFF-8636 版本 |
| 04h | rev 1.4 | — |
| 05h | rev 1.5 | — |
| 06h | rev 2.0 | QSFP28/100G:位元組 192 擴展合規性、功率等級 5–7、CDR 控制和 LOL 旗標 |
| 07h | rev 2.5、2.6、2.7 | 20h–21h 頁面、Tx 禁用快速模式、更多表 4-4 代碼 |
| 08h | rev 2.8、2.9、2.10 | 功率等級 8 和位元組 107 最大功率、200G(QSFP56)代碼、PAM4 編碼 |
早於 rev 2.0 的主機不會讀取位元組 192:僅憑這一點,插在 40G 時代交換機上的 100G 模組就會被判定為「未知」,無論廠商塊中寫了甚麼。
CMIS — 位元組 1
| 值 | 版本 | 主要變更 |
|---|---|---|
| 30h | 3.0(2018,QSFP-DD MSA) | 首個統一模型:下層/上層頁面、應用、模組和數據通路狀態機、CDB |
| 40h | 4.0(2019) | 分階段控制集、VDM 20h–2Fh 頁面、擴展應用描述符、更清晰的時長定義 |
| 41h | 4.1 | 勘誤和澄清 |
| 50h | 5.0(2021,OIF) | 最多 32 通道的記憶庫、更完善的數據通路和通道旗標模型、擴展的 VDM 可觀測量、13h–14h 診斷頁面 |
| 51h–53h | 5.1、5.2、5.3 | 增量更新:新增 VDM 類型、相干(ZR)監測介面、固件管理方面的改進 |
在只實現了 4.0 的主機上使用 CMIS 5.x 模組,基本流程(狀態機、應用選擇)通常可以工作,但主機不會讀取更新的 VDM 頁面;僅支援 3.0 的主機甚至可能完全無法激活 5.x 模組,參見CMIS 問題。MIS 版本與 CMIS 保持同步:MIS。
兼容性規則
- 更新的模組,更舊的主機:未知代碼會被解碼為未知;更高的位元組 94/位元組 1 數值通常可以容忍。問題出現在主機需要一個只存在於新版本中的欄位時(位元組 192、應用)。
- 更舊的模組,更新的主機:沒有問題;主機會保持向後兼容的解析方式。
- 聲明版本與實際內容不一致:這才是真正的陷阱。位元組 12 = FFh 時若聲明 12.x 但位元組 66 為空,主機會得到「0 Gb/s」;聲明 rev 2.0+ 但位元組 192 是無意義數據,會得到未知類型。編碼時應讓版本位元組與實際使用的欄位保持一致。
- SFF-8024 在模組中沒有版本位元組;主機所用表格的版本決定了它能識別哪些代碼。
其他文件及其更新節奏
| 文件 | 當前代際 | 說明 |
|---|---|---|
| SFF-8024 | rev 4.x,每年修訂多次 | 新的識別碼、連接器和介面 ID 最先出現在這裏 |
| INF-8077i | rev 4.5(2005) | XFP;已穩定,預計不會再修訂,參見 XFP |
| SFF-8690/SFF-TA-1004 | 1.x | 可調諧映射,參見可調諧映射 |
| SFF-8079/SFF-8089 | 1.x | 速率/應用選擇,參見速率選擇 |
| 硬件規範(SFF-8431、SFF-8679、QSFP-DD HW、OSFP) | 見目錄 | SFP、QSFP 硬件系列 |
文件編號和標題:MSA 規範目錄。
在 CodingBox 中
CodingBox 會先讀取版本位元組,再應用與之匹配的欄位定義,因此在所聲明版本中不存在的欄位會顯示為保留欄位,而不會被錯誤標註。 EEPROM editor可以讓你同時設定版本位元組及其所支配的欄位。