CDR(クロック・データ・リカバリー)
シリアル光リンクには別系統のクロックがありません。受信器はデータストリーム自体からクロックを再生し、それを基準にビットを再サンプリング(「リタイミング」)しなければなりません。これを行う回路がCDR(クロックとデータの再生)です。 CDR がどこに置かれるか——ホスト側かモジュール内部か——はフォームファクターを分ける決定的な違いの1つであり、その制御ビットは CodingBox が読み取り、コーディングするメモリーの一部です。
CDR が行うこと
- 位相同期ループ(PLL)を使って、入力されるビット遷移からクロックを抽出する。
- データをリタイミングする——再生したクロックのエッジで各ビットを再サンプリングすることで、伝送中に蓄積したタイミングノイズ(ジッター)を取り除く。
- 次段(Tx 側ではレーザードライバー、Rx 側ではホストの SerDes)に向けて、きれいなエッジを再生成する。
したがって CDR はジッターのリセットポイントとして機能します。あらゆるリンクは、ホストの PCB トレース、コネクター、モジュールの間で分け合うジッターバジェットを持っており、モジュール内にリタイマーがあれば、ホスト側はその持ち分を緩く使うことができます。
ホスト側かモジュール側か
| フォームファクター | CDR の位置 | 結果 |
|---|---|---|
| XFP | モジュール内(XFI インターフェース) | ホストはシンプル、モジュールはプロトコル非依存。モジュールは大型で発熱も大きい |
| SFP+ | ホスト側(SFI インターフェース) | モジュールは小型・低発熱・安価。ホストに CDR/EDC が必要。リニア(LRM)モジュールも可能 |
| SFP28 | 通常はモジュール内 | 25G のジッターバジェットが厳しく、ホストのみでは対応できない |
| QSFP+ 40G | モジュール内に搭載されないことが多い | ホストが4×10G をリタイミングする |
| QSFP28 100G | 通常、Tx と Rx の CDR をモジュール内に搭載 | レーンごとの ON/OFF 制御。CDR-present ビットで通知 |
| PAM4 モジュール(QSFP56 / QSFP-DD / OSFP) | DSP——等化と FEC 対応を備えた CDR | 消費電力が大きい。LPO は再びこれを取り除く |
これこそが、高密度10Gスイッチングで SFP+ が XFP に勝った理由であり、100Gモジュールが40Gモジュールより発熱する理由です。
モジュールメモリー内での位置
SFF-8636(QSFP+/QSFP28)——SFF-8636を参照:
| バイト | フィールド | 意味 |
|---|---|---|
| 129(上位ページ00h) | Extended Identifier、ビット3 / 2 | Tx / Rx におけるCDR present |
| 98(下位ページ) | CDR control | ビット7–4 がレーンごとの Tx CDR を有効化、ビット3–0 がレーンごとの Rx CDR を有効化 |
| 5(下位ページ) | LOL flags | ビット7–4 がレーンごとの Tx ロック外れ、ビット3–0 がレーンごとの Rx LOL |
| 194(上位ページ00h) | Options | CDR の ON/OFF 制御と LOL フラグが実装されているかどうか |
CMIS(QSFP-DD、OSFP、QSFP112)——Page 01h で Tx/Rx の CDR サポートとバイパス が制御可能かどうかを通知します。Page 10h にはレーンごとの Tx/Rx CDR 有効化(バイパス)制御が収められており、必要な CDR がロックできない場合、データパスの状態機械は activated に到達しません(CMIS の問題)。
SFF-8472(SFP/SFP+/SFP28)——標準的な CDR 制御はありません。モジュールの CDR (存在する場合)は内部で管理されます。ホスト側から見える関連の仕組みは レート選択で、受信器の帯域幅をレートグループ間で切り替えます。
実務上重要な理由
- マルチレートモジュール。 CDR はあるレート範囲にロックします。10G で使われる 25G モジュールや、4×10G にブレークアウトされる100G QSFP28 は、より低いレートに対応した CDR を備えているか、ホストがそれをバイパスしなければなりません(バイト98 / CMIS)。「25G では動くが10G では死ぬ」は、たいていこれが原因です。
- 診断としてのロック外れ。 LOL フラグは、CDR がクロックを再生できないことを意味します:信号の劣化が大きすぎる、レートが誤っている、または信号がない、のいずれかです——モジュールを疑う前に、Rx パワーとレート設定を確認してください(DDM の値)。
- 電力と遅延。 リタイマー1個につき電力を消費し(25G で数十~数百 mW、PAM4 DSP ではワット単位)、遅延も加わります。短距離の DAC リンクや遅延に敏感なファブリックでは、CDR をバイパスして運用することがよくあります。
- コーディングの整合性。 QSFP28 を再コーディングする際、CDR-present ビット(バイト129)はハードウェアと一致していなければなりません。CDR が搭載されていると信じているホストは、実際には存在しない、または異なる CDR が対応できないレートで CDR を有効なままにしてしまうことがあります。 QSFP ファミリーのハードウェア仕様を参照してください。
CodingBox では
EEPROM editorは、SFF-8636 または CMIS に従って、これらのフィールドにカーソルを合わせると名前を表示します——CDR present、CDR control、 LOL flags、Options です。これにより、モジュールの CDR 設定を読み取り、レーンがロックを失っていないかを確認し、識別情報をコーディングする際に CDR ビットをハードウェアと整合させておくことができます。
「25G では動くが10G では死ぬ」などのレートロック症状の原因究明は、 速度・レート・モードの問題で扱います。
CDR がドライバー、TIA、コントローラーの中でどこに位置するか、そして PAM4 モジュールが等化とギアボックス機能を伴う DSP へそれをどう統合するかについては、 モジュールのエレクトロニクス、 変調と DSPを参照してください。
どのホストインターフェースがリタイミング済みモジュールを前提とし(XFI、CAUI-4 C2M、PAM4 AUI)、どれがリニアなモジュールにも対応するか(SFI、LPO)については、 XGMII、XAUI と AUI ファミリーを参照してください。