Revisioni delle specifiche e byte di versione
Le specifiche sono documenti vivi. Un modulo dichiara quale revisione segue la sua mappa di memoria, e un host analizza la mappa secondo la revisione che conosce. Il più delle volte le due coincidono a sufficienza; quando non lo fanno, un byte viene letto come qualcosa che non è. Questa pagina elenca i byte di versione, come decodificarli e — approssimativamente — cosa ha aggiunto ciascuna generazione, così da poter capire se un campo che si sta osservando esiste persino per il modulo che si ha davanti.
Dove viene dichiarata la versione
| Famiglia | Byte | Codifica |
|---|---|---|
| SFF-8472 (SFP) | A0h byte 94 | codice enumerato (tabella sotto) |
| SFF-8636 (QSFP) | byte 1 | codice enumerato (tabella sotto) |
| CMIS | byte 1 | nibble maggiore . nibble minore (50h = 5.0) |
| MIS (SFP-DD) | byte 1 | come CMIS |
| INF-8077i (XFP) | nessuno | l’identificatore 06h implica INF-8077i rev 4.x |
SFF-8472 — byte 94
| Valore | Revisione | Aggiunte principali, approssimativamente |
|---|---|---|
| 00h | non specificata | moduli pre-diagnostica; solo identità |
| 01h | 9.3 | prima diagnostica digitale: soglie A2h, monitor, flag |
| 02h | 9.5 | chiarimenti, monitor opzionali di temperatura del laser / TEC |
| 03h | 10.2 | era SFP+: selezione del rate, opzione ricevitore lineare, opzioni avanzate del byte 93 |
| 04h | 10.4 | selezione del rate software secondo SFF-8431, livello di potenza 2, selezione applicazione secondo SFF-8079 |
| 05h | 11.0 | codifica rame 10G (DAC) — bit di tecnologia del cavo, attenuazione in 60–61 |
| 06h | 11.3 | opzioni estese, opzione trasmettitore sintonizzabile, codici di velocità 16GFC |
| 07h | 11.4 | memoria A2h paginata (byte 64 bit 4), pagina sintonizzabile 02h di SFF-8690 |
| 08h | 12.0 | conformità alla specifica estesa del byte 36 tramite SFF-8024; codici dell’era 25G/100G |
| 09h | 12.4 | livello di potenza 3 (2,0 W), velocità FC 2 nel byte 62, codice di codifica PAM4, allineamento con SFF-8024 |
Regola pratica: un modulo che dichiara 08h o 09h deve avere il byte 36 significativo (o zero) e il rate ×250 Mb/s nel byte 66 quando byte 12 = FFh; un modulo che dichiara 03h o inferiore non ha alcuna semantica nel byte 36 — gli host lo ignorano.
SFF-8636 — byte 1
| Valore | Mappa seguita | Aggiunte principali |
|---|---|---|
| 00h | non specificata (SFF-8436 rev 4.8 o precedente) | mappa QSFP+ originale |
| 01h | SFF-8436 rev 4.8 o precedente | — |
| 02h | SFF-8436 rev 4.8 con byte 186–189 secondo SFF-8636 | campi di lunghezza d’onda e tolleranza |
| 03h | SFF-8636 rev 1.3 o precedente | primo SFF-8636 |
| 04h | rev 1.4 | — |
| 05h | rev 1.5 | — |
| 06h | rev 2.0 | QSFP28 / 100G: conformità estesa del byte 192, classi di potenza 5–7, controllo CDR e flag LOL |
| 07h | rev 2.5, 2.6, 2.7 | pagine 20h–21h, modalità rapida Tx-disable, altri codici della tabella 4-4 |
| 08h | rev 2.8, 2.9, 2.10 | classe di potenza 8 e potenza massima nel byte 107, codici 200G (QSFP56), codifica PAM4 |
Gli host precedenti alla rev 2.0 non guardano il byte 192 — un modulo 100G in uno switch dell’era 40G è «sconosciuto» solo per questo motivo, qualunque cosa dica il blocco del produttore.
CMIS — byte 1
| Valore | Versione | Cambiamenti principali |
|---|---|---|
| 30h | 3.0 (2018, QSFP-DD MSA) | primo modello comune: pagine inferiori/superiori, applicazioni, macchine a stati di modulo e data-path, CDB |
| 40h | 4.0 (2019) | insiemi di controllo a stadi, pagine VDM 20h–2Fh, descrittori di applicazione estesi, durate più chiare |
| 41h | 4.1 | correzioni e chiarimenti |
| 50h | 5.0 (2021, OIF) | banchi fino a 32 lane, modello di data-path e flag di lane raffinato, osservabili VDM ampliati, pagine di diagnostica 13h–14h |
| 51h–53h | 5.1, 5.2, 5.3 | incrementali: tipi VDM aggiuntivi, hook di monitoraggio coerente (ZR), miglioramenti alla gestione firmware |
Un modulo CMIS 5.x in un host che implementa 4.0 di solito funziona per il flusso di base (macchina a stati, selezione applicazione) ma l’host non leggerà le pagine VDM più recenti; un host che conosce solo 3.0 potrebbe non riuscire affatto ad avviare un modulo 5.x — Problemi CMIS. Le versioni MIS seguono quelle di CMIS: MIS.
Regole di compatibilità
- Modulo più recente, host più vecchio — i codici sconosciuti vengono decodificati come sconosciuto; un valore più alto nel byte 94 / byte 1 è normalmente tollerato. I problemi iniziano quando l’host necessita di un campo che esiste solo nella nuova revisione (byte 192, applicazioni).
- Modulo più vecchio, host più recente — nessun problema; gli host mantengono l’analisi retrocompatibile.
- Revisione dichiarata incoerente con il contenuto — la vera trappola. Dichiarare 12.x con il byte 66 vuoto mentre byte 12 = FFh dà all’host «0 Gb/s»; dichiarare rev 2.0+ con dati insensati nel byte 192 dà tipo sconosciuto. Quando si codifica, impostare il byte di revisione in modo che corrisponda ai campi effettivamente usati.
- SFF-8024 non ha un byte di versione nel modulo; la revisione della tabella dell’host decide quali codici è in grado di riconoscere.
Altri documenti e la loro cadenza
| Documento | Generazione attuale | Note |
|---|---|---|
| SFF-8024 | rev 4.x, revisionata più volte l’anno | nuovi identificatori, connettori e ID di interfaccia arrivano qui per primi |
| INF-8077i | rev 4.5 (2005) | XFP; stabile, non sono previste ulteriori revisioni — XFP |
| SFF-8690 / SFF-TA-1004 | 1.x | mappe sintonizzabili — Mappe sintonizzabili |
| SFF-8079 / SFF-8089 | 1.x | selezione di rate/applicazione — Selezione del rate |
| Specifiche hardware (SFF-8431, SFF-8679, QSFP-DD HW, OSFP) | vedi catalogo | famiglie hardware SFP, QSFP |
Numeri e titoli dei documenti: Catalogo delle specifiche MSA.
In CodingBox
CodingBox legge prima il byte di revisione e applica le definizioni di campo corrispondenti, così i campi che non esistono per la revisione dichiarata vengono mostrati come riservati invece che etichettati in modo errato. L’EEPROM editor permette di impostare il byte di revisione insieme ai campi che governa.