Revisões de especificação e bytes de versão
Especificações são documentos vivos. Um módulo declara qual revisão seu mapa de memória segue, e um host interpreta o mapa de acordo com a revisão que conhece. Na maior parte do tempo, os dois concordam o suficiente; quando não concordam, um byte é lido como algo que não é. Esta página lista os bytes de versão, como decodificá-los e — a grosso modo — o que cada geração adicionou, para que você possa saber se um campo que está observando sequer existe para o módulo à sua frente.
Onde a versão é declarada
| Família | Byte | Codificação |
|---|---|---|
| SFF-8472 (SFP) | A0h byte 94 | código enumerado (tabela abaixo) |
| SFF-8636 (QSFP) | byte 1 | código enumerado (tabela abaixo) |
| CMIS | byte 1 | nibble maior . nibble menor (50h = 5.0) |
| MIS (SFP-DD) | byte 1 | como a CMIS |
| INF-8077i (XFP) | nenhum | o identificador 06h implica INF-8077i rev 4.x |
SFF-8472 — byte 94
| Valor | Revisão | Principais adições, a grosso modo |
|---|---|---|
| 00h | não especificada | módulos pré-diagnóstico; apenas identidade |
| 01h | 9.3 | primeiro diagnóstico digital: limiares A2h, monitores, flags |
| 02h | 9.5 | esclarecimentos, monitores opcionais de temperatura do laser / TEC |
| 03h | 10.2 | era do SFP+: seleção de taxa, opção de receptor linear, opções avançadas do byte 93 |
| 04h | 10.4 | seleção de taxa por software conforme SFF-8431, nível de potência 2, seleção de aplicação conforme SFF-8079 |
| 05h | 11.0 | codificação de cobre 10G (DAC) — bits de tecnologia de cabo, atenuação em 60–61 |
| 06h | 11.3 | opções estendidas, opção de transmissor sintonizável, códigos de velocidade 16GFC |
| 07h | 11.4 | memória A2h paginada (bit 4 do byte 64), página 02h sintonizável da SFF-8690 |
| 08h | 12.0 | conformidade de especificação estendida do byte 36 via SFF-8024; códigos da era 25G/100G |
| 09h | 12.4 | nível de potência 3 (2,0 W), velocidade FC 2 no byte 62, código de codificação PAM4, alinhamento com a SFF-8024 |
Regra prática: um módulo que declara 08h ou 09h deve ter o byte 36 com significado (ou zero) e a taxa ×250 Mb/s no byte 66 quando o byte 12 = FFh; um módulo que declara 03h ou inferior não tem semântica alguma no byte 36 — os hosts o ignoram.
SFF-8636 — byte 1
| Valor | Mapa segue | Principais adições |
|---|---|---|
| 00h | não especificado (SFF-8436 rev 4.8 ou anterior) | mapa QSFP+ original |
| 01h | SFF-8436 rev 4.8 ou anterior | — |
| 02h | SFF-8436 rev 4.8 com bytes 186–189 conforme SFF-8636 | campos de comprimento de onda e tolerância |
| 03h | SFF-8636 rev 1.3 ou anterior | primeira SFF-8636 |
| 04h | rev 1.4 | — |
| 05h | rev 1.5 | — |
| 06h | rev 2.0 | QSFP28 / 100G: conformidade estendida do byte 192, classes de potência 5–7, controle de CDR e flags de LOL |
| 07h | rev 2.5, 2.6, 2.7 | páginas 20h–21h, modo rápido de Tx-disable, mais códigos da Tabela 4-4 |
| 08h | rev 2.8, 2.9, 2.10 | classe de potência 8 e potência máxima do byte 107, códigos 200G (QSFP56), codificação PAM4 |
Hosts anteriores à rev 2.0 não vão examinar o byte 192 — só por isso, um módulo 100G em um switch da era 40G é “desconhecido”, não importa o que o bloco do fabricante diga.
CMIS — byte 1
| Valor | Versão | Principais mudanças |
|---|---|---|
| 30h | 3.0 (2018, QSFP-DD MSA) | primeiro modelo comum: páginas inferior/superior, aplicações, máquinas de estado de módulo e de caminho de dados, CDB |
| 40h | 4.0 (2019) | conjuntos de controle em estágios, páginas VDM 20h–2Fh, descritores de aplicação estendidos, durações mais claras |
| 41h | 4.1 | correções e esclarecimentos |
| 50h | 5.0 (2021, OIF) | bancos com até 32 lanes, modelo refinado de caminho de dados e flags de lane, observáveis VDM expandidos, páginas de diagnóstico 13h–14h |
| 51h–53h | 5.1, 5.2, 5.3 | incremental: tipos adicionais de VDM, ganchos de monitoramento coerente (ZR), refinamentos no gerenciamento de firmware |
Um módulo CMIS 5.x em um host que implementa 4.0 geralmente funciona para o fluxo básico (máquina de estado, seleção de aplicação), mas o host não vai ler as páginas VDM mais novas; um host apenas 3.0 pode até falhar completamente ao inicializar um módulo 5.x — Problemas de CMIS. As versões do MIS acompanham a CMIS: MIS.
Regras de compatibilidade
- Módulo mais novo, host mais antigo — códigos desconhecidos são decodificados como desconhecido; um valor mais alto de byte 94 / byte 1 normalmente é tolerado. Os problemas começam quando o host precisa de um campo que só existe na revisão nova (byte 192, aplicações).
- Módulo mais antigo, host mais novo — sem problemas; os hosts mantêm a interpretação retrocompatível.
- Revisão declarada inconsistente com o conteúdo — a verdadeira armadilha. Declarar 12.x com o byte 66 vazio enquanto o byte 12 = FFh dá ao host “0 Gb/s”; declarar rev 2.0+ com lixo no byte 192 dá tipo desconhecido. Ao codificar, defina o byte de revisão de acordo com os campos que você realmente usa.
- A SFF-8024 não tem byte de versão no módulo; a revisão da tabela do host decide quais códigos ele consegue nomear.
Outros documentos e sua cadência
| Documento | Geração atual | Notas |
|---|---|---|
| SFF-8024 | rev 4.x, revisada várias vezes por ano | novos identificadores, conectores e IDs de interface chegam aqui primeiro |
| INF-8077i | rev 4.5 (2005) | XFP; estável, sem novas revisões previstas — XFP |
| SFF-8690 / SFF-TA-1004 | 1.x | mapas sintonizáveis — Mapas sintonizáveis |
| SFF-8079 / SFF-8089 | 1.x | seleção de taxa/aplicação — Seleção de taxa |
| Especificações de hardware (SFF-8431, SFF-8679, QSFP-DD HW, OSFP) | ver catálogo | famílias de hardware SFP, QSFP |
Números e títulos de documentos: Catálogo de especificações MSA.
No CodingBox
O CodingBox lê primeiro o byte de revisão e aplica as definições de campo correspondentes, de modo que campos que não existem para a revisão declarada são exibidos como reservados, em vez de rotulados incorretamente. O EEPROM editor permite definir o byte de revisão junto com os campos que ele rege.