SFF-8024: ตารางรหัส
SFF-8024 ซึ่งมีชื่อเต็มว่า SFF Module Management Reference Code Tables เป็นทะเบียนรหัสหนึ่งไบต์ที่ใช้ร่วมกัน ซึ่งข้อกำหนดการจัดการอื่นทุกฉบับอ้างอิงถึง เอกสารนี้ไม่ได้อธิบายผังหน่วยความจำ แต่กำหนดความหมายให้กับค่าต่าง ๆ — โมดูลชนิด 18h คืออะไร คอนเนกเตอร์ 0Ch หมายถึงอะไร รหัสความสอดคล้องส่วนขยาย 06h แทนอะไร เนื่องจากทะเบียนนี้อยู่ในเอกสารฉบับเดียว SFF-8472, SFF-8636, CMIS, MIS และ INF-8077i จึงตีความไบต์เดียวกันไปในทางเดียวกันทั้งหมด และฟอร์มแฟกเตอร์หรือ PMD ใหม่จะถูกลงทะเบียนเพียงครั้งเดียว เอกสารนี้ได้รับการปรับปรุงหลายครั้งต่อปี จึงควรถอดรหัสโดยอ้างอิงฉบับปรับปรุงล่าสุดเสมอ
แต่ละตารางใช้ที่ไหน
| ตาราง | ชื่อ | SFP (SFF-8472) | QSFP (SFF-8636) | CMIS |
|---|---|---|---|---|
| 4-1 | ตัวระบุ | A0h ไบต์ 0 | ไบต์ 0 / 128 | ไบต์ 0 / 128 |
| 4-2 | การเข้ารหัส | ไบต์ 11 | ไบต์ 139 | — (บอกเป็นนัยจากการใช้งาน) |
| 4-3 | คอนเนกเตอร์ | ไบต์ 2 | ไบต์ 130 | เพจ 00h ไบต์ 203 |
| 4-4 | ความสอดคล้องกับข้อกำหนดส่วนขยาย | ไบต์ 36 | ไบต์ 192 | — |
| 4-5 | รหัสอินเทอร์เฟซไฟฟ้าฝั่งโฮสต์ | — | — | ตัวอธิบายการใช้งาน (ไบต์ 86 + 4n) |
| 4-6 … | รหัสอินเทอร์เฟซสื่อกลาง (MMF, SMF, ทองแดงแบบพาสซีฟ, สายแอ็กทีฟ, BASE-T) | — | — | ตัวอธิบายการใช้งาน (ไบต์ 87 + 4n) โดยเลือกตารางตามไบต์ชนิดสื่อกลาง 85 |
ตาราง 4-1 — ค่าตัวระบุ
| รหัส | โมดูล | รหัส | โมดูล |
|---|---|---|---|
| 00h | ไม่ทราบ/ไม่ระบุ | 11h | QSFP28 (SFF-8636) |
| 01h | GBIC | 12h | CXP2 / CXP28 |
| 02h | โมดูลที่บัดกรีติดกับเมนบอร์ด | 13h | CDFP รูปแบบ 1/2 |
| 03h | SFP / SFP+ / SFP28 (SFF-8472) | 14h | มัลติเลนขนาดเล็กมีชีลด์ HD 4X แบบเบรกเอาต์ |
| 04h | XBI (300 ขา) | 15h | มัลติเลนขนาดเล็กมีชีลด์ HD 8X แบบเบรกเอาต์ |
| 05h | XENPAK | 16h | CDFP รูปแบบ 3 |
| 06h | XFP (INF-8077i) | 17h | microQSFP |
| 07h | XFF | 18h | QSFP-DD (CMIS) |
| 08h | XFP-E | 19h | OSFP 8X (CMIS) |
| 09h | XPAK | 1Ah | SFP-DD (MIS) |
| 0Ah | X2 | 1Bh | DSFP |
| 0Bh | DWDM-SFP / SFP+ (ไม่สอดคล้องกับ SFF-8472) | 1Ch | x4 MiniLink / OcuLink |
| 0Ch | QSFP (INF-8438) | 1Dh | x8 MiniLink |
| 0Dh | QSFP+ (SFF-8636 / SFF-8436) | 1Eh | QSFP+ หรือใหม่กว่าที่ใช้ CMIS |
| 0Eh | CXP | 1Fh | SFP-DD ที่ใช้ CMIS |
| 0Fh | มัลติเลนขนาดเล็กมีชีลด์ HD 4X | 20h | SFP+ หรือใหม่กว่าที่ใช้ CMIS (SFP112 และใกล้เคียง) |
| 10h | มัลติเลนขนาดเล็กมีชีลด์ HD 8X | 21h | OSFP-XD ที่ใช้ CMIS |
ฉบับปรับปรุงใหม่กว่าเพิ่มฟอร์มแฟกเตอร์ที่จัดการด้วย CMIS ต่อจาก 21h รหัส 80h–FFh เฉพาะของผู้ผลิต ฟอร์มแฟกเตอร์ไหนคืออะไร: ฟอร์มแฟกเตอร์
ตาราง 4-2 — การเข้ารหัส
| รหัส | SFF-8472 (SFP, ไบต์ 11) | SFF-8636 (QSFP, ไบต์ 139) |
|---|---|---|
| 00h | ไม่ระบุ | ไม่ระบุ |
| 01h | 8B/10B | 8B/10B |
| 02h | 4B/5B | 4B/5B |
| 03h | NRZ | NRZ |
| 04h | Manchester | SONET แบบสแครมเบิล |
| 05h | SONET แบบสแครมเบิล | 64B/66B |
| 06h | 64B/66B | Manchester |
| 07h | 256B/257B (FEC แบบแปลงรหัส) | 256B/257B |
| 08h | PAM4 | PAM4 |
สองคอลัมน์นี้ต่างกันที่ 04h–06h ซึ่งเป็นต้นเหตุคลาสสิกของ “การเข้ารหัสผิด” เมื่อนำเทมเพลตของ QSFP มาใช้ซ้ำกับ SFP
ตาราง 4-3 — ชนิดคอนเนกเตอร์
| รหัส | คอนเนกเตอร์ | รหัส | คอนเนกเตอร์ |
|---|---|---|---|
| 00h | ไม่ทราบ | 0Ch | MPO 1×12 |
| 01h | SC | 0Dh | MPO 2×16 |
| 02h | Fibre Channel รูปแบบ 1 ทองแดง | 20h | HSSDC II |
| 03h | Fibre Channel รูปแบบ 2 ทองแดง | 21h | พิกเทลทองแดง |
| 04h | BNC/TNC | 22h | RJ45 |
| 05h | Fibre Channel หัวต่อโคแอกซ์ | 23h | ไม่มีคอนเนกเตอร์แยก (โมดูล DAC, AOC, พิกเทล) |
| 06h | Fiber Jack | 24h | MXC 2×16 |
| 07h | LC | 25h | CS |
| 08h | MT-RJ | 26h | SN (เดิมชื่อ mini CS) |
| 09h | MU | 27h | MPO 2×12 |
| 0Ah | SG | 28h | MPO 1×16 |
| 0Bh | พิกเทลใยแก้วนำแสง | — | — |
รูปภาพและการจับคู่กับใยแก้วนำแสง: คอนเนกเตอร์และใยแก้วนำแสง
ตาราง 4-4 — ความสอดคล้องกับข้อกำหนดส่วนขยาย (บางส่วน)
ใช้ในไบต์ 36 ของ SFP และไบต์ 192 ของ QSFP เป็นค่าเดียว ไม่ใช่บิตฟีลด์
| รหัส | ความหมาย | รหัส | ความหมาย |
|---|---|---|---|
| 01h | 100G AOC / 25GAUI C2M AOC (BER 5·10⁻⁵) | 1Fh | 40G SWDM4 |
| 02h | 100GBASE-SR4 / 25GBASE-SR | 20h | 100G SWDM4 |
| 03h | 100GBASE-LR4 / 25GBASE-LR | 21h | 100G PAM4 BiDi |
| 04h | 100GBASE-ER4 / 25GBASE-ER | 22h–24h | 4WDM-10 / -20 / -40 MSA |
| 05h | 100GBASE-SR10 | 25h | 100GBASE-DR |
| 06h | 100G CWDM4 | 26h | 100G-FR / 100GBASE-FR1 |
| 07h | 100G PSM4 | 27h | 100G-LR / 100GBASE-LR1 |
| 08h | 100G ACC / 25GAUI C2M ACC (BER 5·10⁻⁵) | 30h–33h | 50G/100G/200G ทองแดงแอ็กทีฟและ AOC ที่ BER ตามที่กำหนด |
| 0Bh | 100GBASE-CR4 / 25GBASE-CR CA-25G-L / 50GBASE-CR2 (RS-FEC) | 40h | 50GBASE-CR / 100GBASE-CR2 / 200GBASE-CR4 |
| 0Ch | 25GBASE-CR CA-25G-S / 50GBASE-CR2 (BASE-R FEC) | 41h | 50GBASE-SR / 100GBASE-SR2 / 200GBASE-SR4 |
| 0Dh | 25GBASE-CR CA-25G-N / 50GBASE-CR2 (ไม่มี FEC) | 42h | 50GBASE-FR / 200GBASE-DR4 |
| 10h | 40GBASE-ER4 | 43h | 200GBASE-FR4 |
| 11h | 4×10GBASE-SR | 44h | 200G 1550 nm PSM4 |
| 12h | 40G PSM4 | 45h | 50GBASE-LR |
| 13h–15h | ITU-T G.959.1 P1I1-2D1 / P1S1-2D2 / P1L1-2D2 | 46h | 200GBASE-LR4 |
| 16h | 10GBASE-T ร่วมกับ SFI | 47h | 400GBASE-DR4 |
| 17h | 100G CLR4 | 48h | 400GBASE-FR4 |
| 18h | 100G AOC / 25GAUI AOC (BER 10⁻¹²) | 49h | 400GBASE-LR4-10 |
| 19h | 100G ACC / 25GAUI ACC (BER 10⁻¹²) | 4Ah | 400GBASE-ZR |
| 1Ah | 100GE-DWDM2 | 7Fh | 256GFC-SW4 |
| 1Bh | 100G 1550 nm WDM (4 λ) | 80h | รองรับ 64GFC |
| 1Ch–1Eh | 10GBASE-T SR / 5GBASE-T / 2.5GBASE-T | 81h | รองรับ 128GFC |
ตารางนี้เองที่ทำให้การระบุตัวตนของ 25G และ 100G เป็นไปได้ เพราะบิตฟีลด์แบบคลาสสิกของ SFF-8472 ไบต์ 3–10 ไม่มีที่ว่างรองรับค่าเหล่านี้ สองกลไกนี้ทำงานร่วมกันอย่างไร: รหัสความสอดคล้อง
ตาราง 4-5 เป็นต้นไป — รหัสอินเทอร์เฟซของ CMIS (บางส่วน)
CMIS อธิบายสิ่งที่โมดูลทำได้ในรูปแบบของการใช้งาน: อินเทอร์เฟซไฟฟ้าฝั่งโฮสต์ที่จับคู่กับอินเทอร์เฟซสื่อกลาง ทั้งสองฝั่งเป็นรหัสของ SFF-8024
| อินเทอร์เฟซไฟฟ้าฝั่งโฮสต์ (4-5) | รหัส |
|---|---|
| 1000BASE-CX | 01h |
| XAUI | 02h |
| XFI | 03h |
| SFI | 04h |
| 25GAUI C2M | 05h |
| XLAUI C2M | 06h |
| XLPPI | 07h |
| LAUI-2 C2M | 08h |
| 50GAUI-2 C2M | 09h |
| 50GAUI-1 C2M | 0Ah |
| CAUI-4 C2M | 0Bh |
| 100GAUI-4 C2M | 0Dh |
| 100GAUI-2 C2M | 0Eh |
| 200GAUI-8 C2M | 0Fh |
| 200GAUI-4 C2M | 10h |
| 400GAUI-16 C2M | 11h |
| 400GAUI-8 C2M | 12h |
| 400GAUI-4 C2M | 13h–14h (สั้น / ยาว) |
| 800G C2M (8 × 100G) | 15h–16h |
| อินเทอร์เฟซสื่อกลาง | ตาราง MMF | ตาราง SMF |
|---|---|---|
| 10GBASE-SR / 10GBASE-LR | 02h | 04h |
| 25GBASE-SR / 25GBASE-LR | 03h | 07h |
| 40GBASE-SR4 / 40GBASE-LR4 | 04h | 09h |
| 100GBASE-SR4 / 100GBASE-LR4 | 09h | 0Dh |
| 100G SWDM4 / 100G CWDM4 | 0Ah | 10h |
| 100GBASE-SR2 / 100GBASE-DR | 0Ch | 14h |
| 100G-SR / 100G-FR | 0Dh | 15h |
| 200GBASE-SR4 / 200GBASE-DR4 | 0Eh | 17h |
| 400GBASE-SR8 / 400GBASE-DR4 | 10h | 1Ch |
| 400G-SR4 / 400G-FR4 | 11h | 1Dh |
| 800G-SR8 / 800G-DR8 | 12h | (รหัสของ 800G ตามมา) |
สื่อกลางทองแดงแบบพาสซีฟ สายแอ็กทีฟ และ BASE-T มีตารางสั้น ๆ ของตัวเอง ตารางที่ใช้กำหนดโดยไบต์ชนิดสื่อกลางของ CMIS 85 (01h MMF, 02h SMF, 03h ทองแดงแบบพาสซีฟ, 04h สายแอ็กทีฟ, 05h BASE-T) รายการฉบับเต็มเปลี่ยนแปลงทุกครั้งที่ SFF-8024 ออกฉบับปรับปรุงใหม่ — ให้ถือว่าตารางข้างต้นเป็นแนวทางคร่าว ๆ ไม่ใช่ทะเบียนฉบับสมบูรณ์ การใช้งานถูกประกาศและเลือกอย่างไร: CMIS
ข้อสังเกตเชิงปฏิบัติ
- โฮสต์ที่รันเฟิร์มแวร์รุ่นเก่าจะแสดงรหัสที่ไม่รู้จักเป็น ไม่ทราบ ไม่เป็นอันตรายต่อการอ่านค่า แต่บางแพลตฟอร์มปฏิเสธที่จะเปิดใช้งานโมดูลที่ระบุชนิดไม่ได้
- เมื่อเขียนโค้ดโมดูล ให้เลือกรหัสที่ตรงกับฮาร์ดแวร์จริง โฮสต์จะตรวจสอบไขว้ระหว่างตัวระบุ คอนเนกเตอร์ การเข้ารหัส และความสอดคล้อง (ความเร็วและอัตรา)
- ช่วงที่สงวนไว้และเฉพาะของผู้ผลิต (80h–FFh) ถูกต้องตามข้อกำหนดแต่ถอดรหัสออกมาแล้วไม่มีประโยชน์อะไร
ใน CodingBox
CodingBox บรรจุตาราง SFF-8024 ไว้และใช้ตารางเหล่านี้ติดป้ายกำกับฟิลด์ตัวระบุ คอนเนกเตอร์ การเข้ารหัส ความสอดคล้องส่วนขยาย และการใช้งานของ CMIS ใน EEPROM editor และใน Check transceiver ดังนั้นค่าดิบ 12h ในตัวอธิบายการใช้งานของ QSFP-DD จึงอ่านได้เป็น 400GAUI-8 C2M
ตัวระบุ 21h ในทางปฏิบัติ: OSFP-XD; OSFP ที่ 200G ต่อเลนยังคงใช้ 19h — OSFP224
ตัวระบุ 1Bh ในทางปฏิบัติ: DSFP — สองเลนในขนาดของ SFP การจัดการที่พัฒนามาจาก CMIS