Ревизии спецификаций и байты версии
Спецификации — живые документы. Модуль объявляет, какой ревизии следует его карта памяти, а хост разбирает карту по той ревизии, которую знает сам. Чаще всего они сходятся достаточно; когда нет — байт читается как то, чем он не является. Здесь перечислены байты версии, как их декодировать и — примерно — что добавило каждое поколение, чтобы вы могли понять, существует ли вообще поле, на которое смотрите, у модуля перед вами.
Где объявлена версия
| Семейство | Байт | Кодировка |
|---|---|---|
| SFF-8472 (SFP) | A0h байт 94 | перечислимый код (таблица ниже) |
| SFF-8636 (QSFP) | байт 1 | перечислимый код (таблица ниже) |
| CMIS | байт 1 | ниббл major . ниббл minor (50h = 5.0) |
| MIS (SFP-DD) | байт 1 | как CMIS |
| INF-8077i (XFP) | нет | идентификатор 06h подразумевает INF-8077i ред. 4.x |
SFF-8472 — байт 94
| Значение | Ревизия | Заметные добавления, примерно |
|---|---|---|
| 00h | не задано | модули до диагностики; только идентификация |
| 01h | 9.3 | первая цифровая диагностика: пороги, мониторы, флаги A2h |
| 02h | 9.5 | уточнения, необязательные мониторы температуры лазера / TEC |
| 03h | 10.2 | эра SFP+: выбор скорости, опция линейного приёмника, расширенные опции байта 93 |
| 04h | 10.4 | программный выбор скорости по SFF-8431, уровень мощности 2, выбор применения по SFF-8079 |
| 05h | 11.0 | кодирование меди 10G (DAC) — биты кабельной технологии, затухание в 60–61 |
| 06h | 11.3 | расширенные опции, опция перестраиваемого передатчика, коды скоростей 16GFC |
| 07h | 11.4 | страничная память A2h (бит 4 байта 64), страница 02h tunable по SFF-8690 |
| 08h | 12.0 | байт 36 расширенного соответствия через SFF-8024; коды эры 25G/100G |
| 09h | 12.4 | уровень мощности 3 (2,0 Вт), FC speed 2 в байте 62, код кодирования PAM4, выравнивание с SFF-8024 |
Правило: модуль, заявляющий 08h или 09h, должен иметь осмысленный (или нулевой) байт 36 и скорость ×250 Мбит/с в байте 66 при байте 12 = FFh; у модуля с 03h и ниже семантики байта 36 нет вовсе — хосты его игнорируют.
SFF-8636 — байт 1
| Значение | Карта следует | Заметные добавления |
|---|---|---|
| 00h | не задано (SFF-8436 ред. 4.8 или раньше) | исходная карта QSFP+ |
| 01h | SFF-8436 ред. 4.8 или раньше | — |
| 02h | SFF-8436 ред. 4.8 с байтами 186–189 по SFF-8636 | поля длины волны и допуска |
| 03h | SFF-8636 ред. 1.3 или раньше | первая SFF-8636 |
| 04h | ред. 1.4 | — |
| 05h | ред. 1.5 | — |
| 06h | ред. 2.0 | QSFP28 / 100G: байт 192 расширенного соответствия, классы мощности 5–7, управление CDR и флаги LOL |
| 07h | ред. 2.5, 2.6, 2.7 | страницы 20h–21h, быстрый режим Tx disable, новые коды Table 4-4 |
| 08h | ред. 2.8, 2.9, 2.10 | класс мощности 8 и байт 107 макс. мощности, коды 200G (QSFP56), кодирование PAM4 |
Хосты старше ред. 2.0 не смотрят на байт 192 — модуль 100G в коммутаторе эры 40G «unknown» уже поэтому, что бы ни было в блоке вендора.
CMIS — байт 1
| Значение | Версия | Заметные изменения |
|---|---|---|
| 30h | 3.0 (2018, QSFP-DD MSA) | первая общая модель: нижние/верхние страницы, применения, автоматы модуля и тракта, CDB |
| 40h | 4.0 (2019) | staged control sets, страницы VDM 20h–2Fh, расширенные дескрипторы применений, более чёткие длительности |
| 41h | 4.1 | исправления и уточнения |
| 50h | 5.0 (2021, OIF) | банки до 32 каналов, уточнённая модель тракта и канальных флагов, расширенные наблюдаемые VDM, страницы диагностики 13h–14h |
| 51h–53h | 5.1, 5.2, 5.3 | инкрементально: новые типы VDM, крючки мониторинга когерента (ZR), уточнения управления прошивкой |
Модуль CMIS 5.x в хосте с реализацией 4.0 обычно работает по базовому циклу (автомат, выбор применения), но хост не прочитает новые страницы VDM; хост только с 3.0 может вовсе не поднять модуль 5.x — Проблемы CMIS. Версии MIS следуют за CMIS: MIS.
Правила совместимости
- Новый модуль, старый хост — незнакомые коды декодируются как unknown; большее значение байта 94 / байта 1 обычно терпится. Проблемы начинаются, когда хосту нужно поле, существующее только в новой ревизии (байт 192, применения).
- Старый модуль, новый хост — нормально; хосты сохраняют обратный разбор.
- Заявленная ревизия противоречит содержимому — настоящая ловушка. Заявить 12.x с пустым байтом 66 при байте 12 = FFh — получить на хосте «0 Гбит/с»; заявить ред. 2.0+ с мусором в байте 192 — получить unknown type. Кодируя, ставьте байт ревизии под поля, которые реально используете.
- У SFF-8024 нет байта версии в модуле; ревизия таблицы у хоста решает, какие коды он сможет назвать.
Остальные документы и их темп
| Документ | Текущее поколение | Примечания |
|---|---|---|
| SFF-8024 | ред. 4.x, пересматривается несколько раз в год | новые идентификаторы, разъёмы и ID интерфейсов появляются здесь первыми |
| INF-8077i | ред. 4.5 (2005) | XFP; стабилен, новых ревизий не ожидается — XFP |
| SFF-8690 / SFF-TA-1004 | 1.x | карты tunable — Карты tunable |
| SFF-8079 / SFF-8089 | 1.x | выбор скорости/применения — Выбор скорости |
| Аппаратные спецификации (SFF-8431, SFF-8679, QSFP-DD HW, OSFP) | см. каталог | семейства SFP, QSFP |
Номера и названия документов: Каталог спецификаций MSA.
В CodingBox
CodingBox сначала читает байт ревизии и применяет соответствующие определения полей, поэтому поля, которых у заявленной ревизии нет, показываются как зарезервированные, а не подписываются неверно. Редактор EEPROM позволяет выставить байт ревизии вместе с полями, которыми он управляет.