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이 의미 있는 값(또는 0)을 가져야 하고, 바이트 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 + SFF-8636 방식의 바이트 186–189파장과 허용오차 필드
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-disable 고속 모드, 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) 모니터링 훅, 펌웨어 관리 개선

4.0을 구현한 호스트에 꽂힌 CMIS 5.x 모듈은 기본 흐름(상태 머신, 애플리케이션 선택)에서는 대체로 동작하지만, 호스트가 최신 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)카탈로그 참고SFP, QSFP 하드웨어 계열

문서 번호와 제목: MSA 규격 카탈로그.

CodingBox에서

CodingBox는 리비전 바이트를 가장 먼저 읽어 그에 맞는 필드 정의를 적용하므로, 선언된 리비전에 존재하지 않는 필드는 잘못된 이름표가 붙는 대신 예약됨으로 표시됩니다. EEPROM editor에서는 리비전 바이트를 그것이 지배하는 필드들과 함께 설정할 수 있습니다.


이 문서에서 부정확한 내용이나 오류를 발견하면 해당 부분을 선택하고 Ctrl+Enter를 눌러 해 주세요.