CodingBox Documentação

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íliaByteCodificação
SFF-8472 (SFP)A0h byte 94código enumerado (tabela abaixo)
SFF-8636 (QSFP)byte 1código enumerado (tabela abaixo)
CMISbyte 1nibble maior . nibble menor (50h = 5.0)
MIS (SFP-DD)byte 1como a CMIS
INF-8077i (XFP)nenhumo identificador 06h implica INF-8077i rev 4.x

SFF-8472 — byte 94

ValorRevisãoPrincipais adições, a grosso modo
00hnão especificadamódulos pré-diagnóstico; apenas identidade
01h9.3primeiro diagnóstico digital: limiares A2h, monitores, flags
02h9.5esclarecimentos, monitores opcionais de temperatura do laser / TEC
03h10.2era do SFP+: seleção de taxa, opção de receptor linear, opções avançadas do byte 93
04h10.4seleção de taxa por software conforme SFF-8431, nível de potência 2, seleção de aplicação conforme SFF-8079
05h11.0codificação de cobre 10G (DAC) — bits de tecnologia de cabo, atenuação em 60–61
06h11.3opções estendidas, opção de transmissor sintonizável, códigos de velocidade 16GFC
07h11.4memória A2h paginada (bit 4 do byte 64), página 02h sintonizável da SFF-8690
08h12.0conformidade de especificação estendida do byte 36 via SFF-8024; códigos da era 25G/100G
09h12.4ní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

ValorMapa seguePrincipais adições
00hnão especificado (SFF-8436 rev 4.8 ou anterior)mapa QSFP+ original
01hSFF-8436 rev 4.8 ou anterior
02hSFF-8436 rev 4.8 com bytes 186–189 conforme SFF-8636campos de comprimento de onda e tolerância
03hSFF-8636 rev 1.3 ou anteriorprimeira SFF-8636
04hrev 1.4
05hrev 1.5
06hrev 2.0QSFP28 / 100G: conformidade estendida do byte 192, classes de potência 5–7, controle de CDR e flags de LOL
07hrev 2.5, 2.6, 2.7páginas 20h–21h, modo rápido de Tx-disable, mais códigos da Tabela 4-4
08hrev 2.8, 2.9, 2.10classe 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

ValorVersãoPrincipais mudanças
30h3.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
40h4.0 (2019)conjuntos de controle em estágios, páginas VDM 20h–2Fh, descritores de aplicação estendidos, durações mais claras
41h4.1correções e esclarecimentos
50h5.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–53h5.1, 5.2, 5.3incremental: 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

DocumentoGeração atualNotas
SFF-8024rev 4.x, revisada várias vezes por anonovos identificadores, conectores e IDs de interface chegam aqui primeiro
INF-8077irev 4.5 (2005)XFP; estável, sem novas revisões previstas — XFP
SFF-8690 / SFF-TA-10041.xmapas sintonizáveis — Mapas sintonizáveis
SFF-8079 / SFF-80891.xseleção de taxa/aplicação — Seleção de taxa
Especificações de hardware (SFF-8431, SFF-8679, QSFP-DD HW, OSFP)ver catálogofamí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.


Se você encontrar uma imprecisão ou um erro neste artigo, selecione o trecho correspondente e pressione Ctrl+Enter para .