Rewizje specyfikacji i bajty wersji · Specyfikacje i normy · Transceivery optyczne i kable · Dokumentacja · CodingBox
CodingBox Dokumentacja

Rewizje specyfikacji i bajty wersji

Specyfikacje to żywe dokumenty. Moduł deklaruje, którą rewizję realizuje jego mapa pamięci, a host parsuje mapę według rewizji, którą zna. Przez większość czasu te dwie rzeczy zgadzają się wystarczająco dobrze; gdy nie, bajt zostaje odczytany jako coś, czym nie jest. Ta strona wymienia bajty wersji, sposób ich dekodowania i — w przybliżeniu — co dodała każda generacja, żebyś mógł stwierdzić, czy pole, na które patrzysz, w ogóle istnieje w module, który masz przed sobą.

Gdzie deklarowana jest wersja

RodzinaBajtKodowanie
SFF-8472 (SFP)A0h, bajt 94kod wyliczeniowy (tabela poniżej)
SFF-8636 (QSFP)bajt 1kod wyliczeniowy (tabela poniżej)
CMISbajt 1starszy półbajt . młodszy półbajt (50h = 5.0)
MIS (SFP-DD)bajt 1jak CMIS
INF-8077i (XFP)brakidentyfikator 06h oznacza INF-8077i rev 4.x

SFF-8472 — bajt 94

WartośćRewizjaIstotne dodatki, w przybliżeniu
00hnieokreślonamoduły sprzed diagnostyki; tylko dane identyfikacyjne
01h9.3pierwsza diagnostyka cyfrowa: progi A2h, wielkości mierzone, flagi
02h9.5doprecyzowania, opcjonalne wielkości mierzone temperatury lasera / TEC
03h10.2era SFP+: wybór szybkości, opcja odbiornika liniowego, rozszerzone opcje bajtu 93
04h10.4programowy wybór szybkości według SFF-8431, poziom mocy 2, wybór aplikacji według SFF-8079
05h11.0kodowanie miedzi 10G (DAC) — bity technologii kabla, tłumienie w 60–61
06h11.3rozszerzone opcje, opcja nadajnika przestrajalnego, kody szybkości 16GFC
07h11.4stronicowana pamięć A2h (bajt 64, bit 4), strona 02h przestrajalna według SFF-8690
08h12.0rozszerzona zgodność specyfikacji w bajcie 36 przez SFF-8024; kody z ery 25G/100G
09h12.4poziom mocy 3 (2,0 W), szybkość FC 2 w bajcie 62, kod kodowania PAM4, dostosowanie do SFF-8024

Zasada praktyczna: moduł deklarujący 08h albo 09h musi mieć sensowny (albo zerowy) bajt 36 oraz szybkość ×250 Mb/s w bajcie 66, gdy bajt 12 = FFh; moduł deklarujący 03h albo niżej nie ma żadnej semantyki bajtu 36 — hosty go ignorują.

SFF-8636 — bajt 1

WartośćMapa zgodna zIstotne dodatki
00hnieokreślona (SFF-8436 rev 4.8 albo wcześniej)pierwotna mapa QSFP+
01hSFF-8436 rev 4.8 albo wcześniej—
02hSFF-8436 rev 4.8 z bajtami 186–189 według SFF-8636pola długości fali i tolerancji
03hSFF-8636 rev 1.3 albo wcześniejpierwsza SFF-8636
04hrev 1.4—
05hrev 1.5—
06hrev 2.0QSFP28 / 100G: rozszerzona zgodność w bajcie 192, klasy mocy 5–7, sterowanie CDR i flagi LOL
07hrev 2.5, 2.6, 2.7strony 20h–21h, szybki tryb Tx-disable, więcej kodów z tabeli 4-4
08hrev 2.8, 2.9, 2.10klasa mocy 8 i maks. moc w bajcie 107, kody 200G (QSFP56), kodowanie PAM4

Hosty starsze niż rev 2.0 nie zaglądają do bajtu 192 — moduł 100G w przełączniku z ery 40G jest z tego samego powodu „nieznany”, niezależnie od tego, co mówi blok producenta.

CMIS — bajt 1

WartośćWersjaIstotne zmiany
30h3.0 (2018, QSFP-DD MSA)pierwszy wspólny model: strony dolne/górne, aplikacje, automaty stanów modułu i ścieżki danych, CDB
40h4.0 (2019)etapowe zestawy sterowania, strony VDM 20h–2Fh, rozszerzone deskryptory aplikacji, jaśniej określone czasy trwania
41h4.1poprawki i doprecyzowania
50h5.0 (2021, OIF)banki do 32 linii, dopracowany model ścieżki danych i flag linii, rozszerzone wielkości obserwowane VDM, strony diagnostyczne 13h–14h
51h–53h5.1, 5.2, 5.3przyrostowe: dodatkowe typy VDM, zaczepy monitorowania koherentnego (ZR), udoskonalenia zarządzania firmware

Moduł CMIS 5.x w hoście, który implementuje 4.0, zwykle działa w podstawowym przepływie (automat stanów, wybór aplikacji), ale host nie odczyta nowszych stron VDM; host obsługujący tylko 3.0 może w ogóle nie uruchomić modułu 5.x — Problemy z CMIS. Wersje MIS podążają za CMIS: MIS.

Reguły zgodności

  • Nowszy moduł, starszy host — nieznane kody dekodują się jako nieznane; wyższa wartość bajtu 94 / bajtu 1 jest zwykle tolerowana. Problemy zaczynają się, gdy host potrzebuje pola, które istnieje tylko w nowej rewizji (bajt 192, aplikacje).
  • Starszy moduł, nowszy host — bez problemu; hosty zachowują wsteczne parsowanie.
  • Deklarowana rewizja niespójna z zawartością — prawdziwa pułapka. Zadeklarowanie 12.x z pustym bajtem 66, gdy bajt 12 = FFh, daje hostowi „0 Gb/s”; zadeklarowanie rev 2.0+ ze śmieciami w bajcie 192 daje nieznany typ. Przy kodowaniu ustaw bajt rewizji zgodnie z polami, których faktycznie używasz.
  • SFF-8024 nie ma bajtu wersji w module; rewizja tabeli hosta decyduje, które kody potrafi on nazwać.

Pozostałe dokumenty i tempo ich aktualizacji

DokumentAktualna generacjaUwagi
SFF-8024rev 4.x, aktualizowana kilka razy w rokunowe identyfikatory, złącza i identyfikatory interfejsów trafiają najpierw tutaj
INF-8077irev 4.5 (2005)XFP; stabilna, bez oczekiwanych dalszych rewizji — XFP
SFF-8690 / SFF-TA-10041.xmapy przestrajalne — Mapy przestrajalne
SFF-8079 / SFF-80891.xwybór szybkości/aplikacji — Wybór szybkości
Specyfikacje sprzętowe (SFF-8431, SFF-8679, QSFP-DD HW, OSFP)patrz katalogrodziny sprzętowe SFP, QSFP

Numery i tytuły dokumentów: Katalog specyfikacji MSA.

W CodingBox

CodingBox najpierw odczytuje bajt rewizji i stosuje pasujące definicje pól, dzięki czemu pola, których nie ma w zadeklarowanej rewizji, są pokazywane jako zarezerwowane, a nie błędnie nazwane. EEPROM editor pozwala ustawić bajt rewizji razem z polami, którymi zarządza.


Jeśli znajdziesz nieścisłość lub błąd w tym materiale, zaznacz odpowiedni fragment i naciśnij Ctrl+Enter, aby .