CodingBox ドキュメント

仕様リビジョンとバージョンバイト

仕様は生きた文書です。モジュールは自身のメモリマップがどのリビジョンに準拠しているかを申告し、ホストは自分が知っているリビジョンに従ってマップを解釈します。多くの場合この両者は十分に一致しますが、一致しないときはあるバイトが本来とは違うものとして読み取られます。このページはバージョンバイトの一覧、その読み方、そして — おおまかに — 各世代で何が追加されたかをまとめており、目の前のモジュールで見ているフィールドがそもそも存在するのかを判断できるようにします。

バージョンが申告される場所

ファミリーバイト符号化方式
SFF-8472(SFP)A0h バイト 94列挙コード(下表)
SFF-8636(QSFP)バイト 1列挙コード(下表)
CMISバイト 1メジャーニブル . マイナーニブル(50h = 5.0)
MIS(SFP-DD)バイト 1CMIS と同じ
INF-8077i(XFP)なし識別子 06h は INF-8077i rev 4.x を意味する

SFF-8472 — バイト 94

リビジョン主な追加内容(概要)
00h未規定診断機能以前のモジュール;識別情報のみ
01h9.3初のデジタル診断:A2h のしきい値、監視値、フラグ
02h9.5明確化、任意のレーザー温度/TEC 監視
03h10.2SFP+ 時代:レート選択、リニア受信器オプション、バイト 93 拡張オプション
04h10.4SFF-8431 によるソフトレート選択、電力レベル 2、SFF-8079 によるアプリケーション選択
05h11.010G 銅線(DAC)コーディング — ケーブル技術ビット、60–61 の減衰
06h11.3拡張オプション、波長可変送信器オプション、16GFC 速度コード
07h11.4ページ化された A2h メモリ(バイト 64 ビット 4)、SFF-8690 の波長可変ページ 02h
08h12.0SFF-8024 によるバイト 36 拡張仕様コンプライアンス;25G/100G 時代のコード
09h12.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+ マップ
01hSFF-8436 rev 4.8 以前
02hSFF-8436 rev 4.8、バイト 186–189 は SFF-8636 準拠波長と許容差のフィールド
03hSFF-8636 rev 1.3 以前初の SFF-8636
04hrev 1.4
05hrev 1.5
06hrev 2.0QSFP28/100G:バイト 192 拡張コンプライアンス、電力クラス 5–7、CDR 制御と LOL フラグ
07hrev 2.5、2.6、2.7ページ 20h–21h、Tx ディセーブル高速モード、Table 4-4 コードの追加
08hrev 2.8、2.9、2.10電力クラス 8 とバイト 107 最大電力、200G(QSFP56)コード、PAM4 エンコーディング

rev 2.0 より前のホストはバイト 192 を見ません — 40G 時代のスイッチに挿した 100G モジュールは、ベンダーブロックの内容にかかわらず、それだけの理由で「不明」になります。

CMIS — バイト 1

バージョン主な変更内容
30h3.0(2018、QSFP-DD MSA)初の共通モデル:下位/上位ページ、アプリケーション、モジュールおよびデータパスのステートマシン、CDB
40h4.0(2019)段階的な制御セット、VDM ページ 20h–2Fh、拡張アプリケーションディスクリプタ、所要時間の明確化
41h4.1修正と明確化
50h5.0(2021、OIF)最大 32 レーンまでのバンク、データパスとレーンフラグモデルの改良、VDM 観測項目の拡張、診断ページ 13h–14h
51h–53h5.1、5.2、5.3漸進的な改良:VDM タイプの追加、コヒーレント(ZR)監視フック、ファームウェア管理の改良

CMIS 5.x モジュールは、4.0 を実装したホストでも基本的な流れ(ステートマシン、アプリケーション選択)は通常動作しますが、ホストは新しい VDM ページを読み取りません。3.0 のみに対応するホストでは、5.x モジュールのブリングアップに完全に失敗することもあります — CMIS の問題。MIS のバージョンは CMIS に追随します:MIS

互換性のルール

  • 新しいモジュール、古いホスト — 未知のコードは不明としてデコードされます。より大きいバイト 94/バイト 1 の値は通常許容されます。問題が始まるのは、ホストが新しいリビジョンにしか存在しないフィールド(バイト 192、アプリケーション)を必要とするときです。
  • 古いモジュール、新しいホスト — 問題ありません。ホストは後方互換の解釈を維持します。
  • 申告したリビジョンと内容の不一致 — 本当の落とし穴です。バイト 12 = FFh の状態でバイト 66 が空のまま 12.x を申告すると、ホストには「0 Gb/s」と映ります。バイト 192 にでたらめな値を入れたまま rev 2.0 以上を申告すると、不明な種別になります。コーディングする際は、実際に使うフィールドに合わせてリビジョンバイトを設定してください。
  • SFF-8024 にはモジュール側のバージョンバイトが存在しません。どのコードを認識できるかは、ホスト側のテーブルのリビジョンが決めます。

その他の文書とその改訂頻度

文書現行世代備考
SFF-8024rev 4.x、年に数回改訂新しい識別子、コネクター、インターフェース ID はまずここに追加される
INF-8077irev 4.5(2005)XFP;安定しており、今後の改訂は見込まれない — XFP
SFF-8690 / SFF-TA-10041.x波長可変マップ — 波長可変マップ
SFF-8079 / SFF-80891.xレート/アプリケーション選択 — レート選択
ハードウェア仕様(SFF-8431、SFF-8679、QSFP-DD HW、OSFP)カタログを参照SFPQSFP の各ハードウェアファミリー

文書番号とタイトル:MSA 仕様カタログ

CodingBox では

CodingBox はまずリビジョンバイトを読み取り、それに合致するフィールド定義を適用します。そのため、申告されたリビジョンに存在しないフィールドは、誤ったラベルではなく予約済みとして表示されます。EEPROM editor では、リビジョンバイトとそれが支配するフィールドをまとめて設定できます。


この記事に不正確な点や誤りを見つけた場合は、該当する箇所を選択して Ctrl+Enter を押すと、できます。