Revisiones de especificación y bytes de versión
Las especificaciones son documentos vivos. Un módulo declara qué revisión sigue su mapa de memoria, y un host analiza el mapa según la revisión que conoce. La mayoría de las veces las dos coinciden lo suficiente; cuando no, un byte se lee como algo que no es. Esta página enumera los bytes de versión, cómo decodificarlos y, a grandes rasgos, qué añadió cada generación, para que pueda saber si un campo que está mirando siquiera existe para el módulo que tiene delante.
Dónde se declara la versión
| Familia | Byte | Codificación |
|---|---|---|
| SFF-8472 (SFP) | A0h byte 94 | código enumerado (tabla abajo) |
| SFF-8636 (QSFP) | byte 1 | código enumerado (tabla abajo) |
| CMIS | byte 1 | nibble mayor . nibble menor (50h = 5.0) |
| MIS (SFP-DD) | byte 1 | como CMIS |
| INF-8077i (XFP) | ninguno | el identificador 06h implica INF-8077i rev 4.x |
SFF-8472 — byte 94
| Valor | Revisión | Adiciones destacadas, aproximadamente |
|---|---|---|
| 00h | no especificado | módulos previos al diagnóstico; solo identidad |
| 01h | 9.3 | primer diagnóstico digital: umbrales de A2h, monitores, indicadores |
| 02h | 9.5 | aclaraciones, monitores opcionales de temperatura de láser / TEC |
| 03h | 10.2 | era SFP+: selección de velocidad, opción de receptor lineal, opciones ampliadas del byte 93 |
| 04h | 10.4 | selección de velocidad por software según SFF-8431, nivel de potencia 2, selección de aplicación según SFF-8079 |
| 05h | 11.0 | codificación de cobre 10G (DAC) — bits de tecnología de cable, atenuación en 60–61 |
| 06h | 11.3 | opciones ampliadas, opción de transmisor sintonizable, códigos de velocidad 16GFC |
| 07h | 11.4 | memoria A2h paginada (byte 64, bit 4), página sintonizable 02h de SFF-8690 |
| 08h | 12.0 | byte 36 de cumplimiento de especificación extendida vía SFF-8024; códigos de la era 25G/100G |
| 09h | 12.4 | nivel de potencia 3 (2,0 W), velocidad FC 2 en el byte 62, código de codificación PAM4, alineación con SFF-8024 |
Regla práctica: un módulo que declara 08h o 09h debe tener el byte 36 con contenido significativo (o cero) y la velocidad ×250 Mb/s en el byte 66 cuando el byte 12 = FFh; un módulo que declara 03h o inferior no tiene ninguna semántica en el byte 36 — los hosts lo ignoran.
SFF-8636 — byte 1
| Valor | Mapa que sigue | Adiciones destacadas |
|---|---|---|
| 00h | no especificado (SFF-8436 rev 4.8 o anterior) | mapa QSFP+ original |
| 01h | SFF-8436 rev 4.8 o anterior | — |
| 02h | SFF-8436 rev 4.8 con bytes 186–189 según SFF-8636 | campos de longitud de onda y tolerancia |
| 03h | SFF-8636 rev 1.3 o anterior | primer SFF-8636 |
| 04h | rev 1.4 | — |
| 05h | rev 1.5 | — |
| 06h | rev 2.0 | QSFP28 / 100G: cumplimiento extendido del byte 192, clases de potencia 5–7, control de CDR e indicadores LOL |
| 07h | rev 2.5, 2.6, 2.7 | páginas 20h–21h, modo rápido de Tx-disable, más códigos de la tabla 4-4 |
| 08h | rev 2.8, 2.9, 2.10 | clase de potencia 8 y potencia máxima del byte 107, códigos 200G (QSFP56), codificación PAM4 |
Los hosts anteriores a la rev 2.0 no consultan el byte 192 — un módulo de 100G en un switch de la era 40G es "desconocido" solo por eso, diga lo que diga el bloque del fabricante.
CMIS — byte 1
| Valor | Versión | Cambios destacados |
|---|---|---|
| 30h | 3.0 (2018, QSFP-DD MSA) | primer modelo común: páginas inferior/superior, aplicaciones, máquinas de estado de módulo y de ruta de datos, CDB |
| 40h | 4.0 (2019) | conjuntos de control por etapas, páginas VDM 20h–2Fh, descriptores de aplicación ampliados, duraciones más claras |
| 41h | 4.1 | correcciones y aclaraciones |
| 50h | 5.0 (2021, OIF) | bancos de hasta 32 carriles, modelo refinado de ruta de datos e indicadores de carril, observables VDM ampliados, páginas de diagnóstico 13h–14h |
| 51h–53h | 5.1, 5.2, 5.3 | incrementales: tipos VDM adicionales, ganchos de monitorización coherente (ZR), mejoras de gestión de firmware |
Un módulo CMIS 5.x en un host que implementa 4.0 normalmente funciona para el flujo básico (máquina de estado, selección de aplicación) pero el host no leerá las páginas VDM más nuevas; un host que solo conoce 3.0 puede no llegar a levantar un módulo 5.x en absoluto — Problemas con CMIS. Las versiones de MIS siguen a las de CMIS: MIS.
Reglas de compatibilidad
- Módulo más nuevo, host más antiguo — los códigos desconocidos se decodifican como desconocido; un valor más alto en el byte 94 / byte 1 normalmente se tolera. Los problemas empiezan cuando el host necesita un campo que solo existe en la revisión nueva (byte 192, aplicaciones).
- Módulo más antiguo, host más nuevo — sin problema; los hosts mantienen el análisis retrocompatible.
- Revisión declarada inconsistente con el contenido — la trampa real. Declarar 12.x con el byte 66 vacío mientras el byte 12 = FFh le da al host "0 Gb/s"; declarar rev 2.0+ con basura en el byte 192 da tipo desconocido. Al codificar, ajuste el byte de revisión para que coincida con los campos que realmente usa.
- SFF-8024 no tiene byte de versión en el módulo; la revisión de la tabla del host decide qué códigos puede nombrar.
Otros documentos y su cadencia
| Documento | Generación actual | Notas |
|---|---|---|
| SFF-8024 | rev 4.x, revisada varias veces al año | los identificadores, conectores e ID de interfaz nuevos llegan aquí primero |
| INF-8077i | rev 4.5 (2005) | XFP; estable, no se esperan más revisiones — XFP |
| SFF-8690 / SFF-TA-1004 | 1.x | mapas sintonizables — Mapas sintonizables |
| SFF-8079 / SFF-8089 | 1.x | selección de velocidad/aplicación — Selección de velocidad |
| Especificaciones de hardware (SFF-8431, SFF-8679, QSFP-DD HW, OSFP) | ver catálogo | familias de hardware SFP, QSFP |
Números y títulos de documentos: Catálogo de especificaciones MSA.
En CodingBox
CodingBox lee primero el byte de revisión y aplica las definiciones de campo correspondientes, de modo que los campos que no existen para la revisión declarada se muestran como reservados en lugar de etiquetados incorrectamente. El editor de EEPROM permite ajustar el byte de revisión junto con los campos que gobierna.