SFF-8024 — 코드 테이블
SFF-8024, 즉 SFF 모듈 관리 참조 코드 표는 다른 모든 관리 규격이 가리키는 1바이트 코드의 공용 레지스트리입니다. 메모리 배치를 규정하지는 않으며, 값에 의미를 부여합니다 — 모듈 유형 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 | 호스트 전기 인터페이스 ID | — | — | 애플리케이션 디스크립터(바이트 86 + 4n) |
| 4-6 … | 미디어 인터페이스 ID(MMF, SMF, 패시브 구리, 액티브 케이블, BASE-T) | — | — | 애플리케이션 디스크립터(바이트 87 + 4n), 미디어 유형 바이트 85로 표 선택 |
표 4-1: 식별자 값
| 코드 | 모듈 | 코드 | 모듈 |
|---|---|---|---|
| 00h | 알 수 없음/미지정 | 11h | QSFP28(SFF-8636) |
| 01h | GBIC | 12h | CXP2/CXP28 |
| 02h | 마더보드에 납땜된 모듈 | 13h | CDFP style 1/2 |
| 03h | SFP/SFP+/SFP28(SFF-8472) | 14h | shielded mini multilane HD 4X fanout |
| 04h | 300핀 XBI | 15h | shielded mini multilane HD 8X fanout |
| 05h | XENPAK | 16h | CDFP style 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 | CMIS 적용 QSFP+ 이상 |
| 0Eh | CXP | 1Fh | CMIS 적용 SFP-DD |
| 0Fh | shielded mini multilane HD 4X | 20h | CMIS 적용 SFP+ 이상(SFP112 등) |
| 10h | shielded mini multilane HD 8X | 21h | CMIS 적용 OSFP-XD |
이후 개정판은 21h 다음에 CMIS로 관리되는 폼 팩터를 추가로 담습니다. 코드 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 scrambled |
| 05h | SONET scrambled | 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: 확장 사양 컴플라이언스(발췌)
SFP 바이트 36과 QSFP 바이트 192에 쓰이며, 비트 필드가 아니라 단일 값입니다.
| 코드 | 의미 | 코드 | 의미 |
|---|---|---|---|
| 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 인터페이스 ID(발췌)
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 표를 내장하고 있으며, 이를 이용해 EEPROM editor와 Check transceiver에서 식별자, 커넥터, 인코딩, 확장 컴플라이언스, CMIS 애플리케이션 필드에 이름표를 붙입니다. 그래서 QSFP-DD 애플리케이션 디스크립터의 원시값 12h는 400GAUI-8 C2M으로 표시됩니다.
실제 사례로 보는 식별자 21h: OSFP-XD; 레인당 200G의 OSFP는 19h를 그대로 씁니다 — OSFP224.