Diagnostyka na linię: QSFP i CMIS
Moduł cztero- albo ośmiokanałowy ma jedną temperaturę i jedno zasilanie — ale cztery albo osiem laserów i odbiorników, każdy z własnym bias, mocą Tx i mocą Rx. Diagnostyka modułów klasy QSFP i CMIS jest więc zorganizowana według linii, a klasyczną ukrytą usterką jest degradacja pojedynczej linii, podczas gdy wynik całego modułu wygląda dobrze.
SFF-8636 (QSFP+, QSFP28)
Wszystko mieści się pod jednym adresem na magistrali dwuprzewodowej ze stronicowaną pamięcią (SFF-8636). Jednostki są takie same jak w SFF-8472.
Strona dolna — wartości bieżące i flagi
| Bajty | Zawartość |
|---|---|
| 3 | Tx LOS (bity 7–4) / Rx LOS (bity 3–0) dla każdej linii |
| 4 | usterka adaptacyjnej korekcji Tx / usterka Tx dla każdej linii |
| 5 | Tx LOL / Rx LOL dla każdej linii — zobacz CDR |
| 6–7 | flagi alarmu/ostrzeżenia temperatury i Vcc |
| 9–14 | flagi alarmu/ostrzeżenia mocy Rx, bias Tx i mocy Tx dla każdej linii |
| 22–23 | temperatura modułu |
| 26–27 | Vcc modułu |
| 34–41 | moc Rx, linie 1–4 (po 2 bajty) |
| 42–49 | bias Tx, linie 1–4 |
| 50–57 | moc Tx, linie 1–4 |
Strona górna 03h — progi: moduł (temperatura, Vcc) na bajtach 128–175, kanał (moc Rx, bias Tx, moc Tx) na bajtach 176–223. To, czy monitorowanie mocy Tx w ogóle jest zaimplementowane, deklaruje bajt 220 strony górnej 00h — wiele modułów 40G raportuje tylko Rx.
CMIS (QSFP-DD, OSFP, QSFP112, SFP-DD)
CMIS rozdziela dane na poziomie modułu i na poziomie linii, i skaluje się do ośmiu linii (przy większej liczbie — banki):
| Lokalizacja | Zawartość |
|---|---|
| Strona dolna, bajty 8–13 | flagi na poziomie modułu |
| Strona dolna, bajty 14–25 | monitory modułu: temperatura (14–15), Vcc (16–17), aux 1–3 |
| Strona 02h | progi modułu i linii |
| Strona 11h, bajty 134–153 | flagi linii (LOS, LOL, usterka Tx, alarmy mocy/bias) |
| Strona 11h, bajty 154–169 | moc Tx, linie 1–8 |
| Strona 11h, bajty 170–185 | bias Tx, linie 1–8 (ze współczynnikiem skalowania deklarowanym na stronie 01h) |
| Strona 11h, bajty 186–201 | moc Rx, linie 1–8 |
To, które monitory istnieją, jest deklarowane na stronie 01h (bajt 160 dla bias Tx/mocy Tx/mocy Rx, temperatury i Vcc), dzięki czemu host — albo CodingBox — wie, którym polom ufać.
Versatile Diagnostics Monitoring (VDM)
CMIS dodaje opcjonalną warstwę ponad monitorami analogowymi: VDM na stronach 20h–2Fh (deskryptory na 20h–27h, próbki na 28h–2Fh). Obserwable są deklarowane dla każdego modułu i mogą obejmować:
- bitową stopę błędów przed FEC i liczbę błędów FEC dla każdej linii, po stronie hosta i medium;
- SNR interfejsów elektrycznego (hosta) i optycznego (medium);
- temperaturę lasera i inne wartości specyficzne dla modułu;
- flagi z własnymi progami.
BER przed FEC to najwcześniejsze ostrzeżenie na łączu PAM4: rośnie na długo, zanim FEC przestanie korygować, podczas gdy moc Rx może wciąż wyglądać normalnie. W fabrykach 400G/800G to właśnie tę metrykę warto śledzić w trendzie (Klastry AI).
Poprawne odczytywanie danych wielokanałowych
- Porównuj linie między sobą. Linia o 3 dB słabsza od pozostałych to usterka, nawet jeśli wszystkie cztery mieszczą się „w zakresie”.
- Sprawdzaj bias dla każdej linii — laser starzejący się szybciej niż pozostałe ujawnia się najpierw właśnie tutaj.
- Pamiętaj o breakout. Moduł 4×25G rozdzielony na cztery łącza: zła linia oznacza, że jedno z czterech łączy jest złe, a nie że „moduł jest o 25% gorszy”.
- LOL/LOS też dotyczą pojedynczej linii; LOL na jednej linii łącza wielokanałowego to problem CDR albo sygnału wejściowego na tej linii.
W CodingBox
Ekran DDM pokazuje moc Rx, moc Tx i bias dla każdej linii z progami dla każdej linii i loguje je w czasie — widok, który wychwytuje awarię pojedynczej linii ukrywaną przez LACP (Awarie). Dla modułów CMIS EEPROM editor pokazuje obok siebie stronę 11h i stan modułu.
Pełna lista obserwabli VDM, format F16 i jak odczytywać BER przed FEC razem z licznikami FEC hosta: VDM i metryki FEC.