VDM- en FEC-metrieken: PAM4-links
Bij 50G per lane en hoger is optisch vermogen geen afdoende gezondheidsindicator meer: een PAM4-link met perfect Rx-vermogen kan één vervuilde connector verwijderd zijn van niet-corrigeerbare fouten. Het eerste teken is geen dBm, maar een bitfoutenratio. Twee bronnen leveren dat getal. In de module rapporteert CMIS VDM (Versatile Diagnostics Monitoring) pre-FEC BER, SNR en de gezondheid van de laser per lane; op de host telt de FEC-decoder gecorrigeerde en niet-corrigeerbare codewoorden. Samen tonen ze hoe ver een link van uitval is terwijl deze nog verkeer zonder verlies draagt.
Waarom FEC de diagnostiek veranderde
Elke Ethernet PMD van 25G+ op PAM4, en de meeste van 25G NRZ, gaat uit van Reed-Solomon FEC. De optiek mag een onbewerkte foutverhouding van 10⁻⁵–10⁻⁴ leveren, omdat FEC die corrigeert tot 10⁻¹² of beter. Daardoor ziet de MAC bij een verslechterende link helemaal geen fouten totdat de FEC-limiet wordt overschreden; daarna valt de link abrupt uit. De pre-FEC BER is de enige geleidelijke indicator voor de marge.
| FEC | Code | Corrigeert per codewoord | Pre-FEC BER-limiet voor uitvoer van 10⁻¹² (ongeveer) | Gebruikt door |
|---|---|---|---|---|
| BASE-R ("FC-FEC", Clause 74) | Fire-code (2112, 2080) | bursts van 11 bits | ≈ 10⁻⁷ … 10⁻⁸ winst van ~2 dB | 10G/25G NRZ, CA-25G-S |
| RS-FEC KR4 (Clause 91/108) | RS(528, 514) over GF(2¹⁰) | 7 symbolen | ≈ 5 × 10⁻⁵ | 25GBASE-CR/SR/LR, 100GBASE-SR4/CWDM4/CR4 |
| RS-FEC KP4 (Clause 119/134) | RS(544, 514) | 15 symbolen | ≈ 2,4 × 10⁻⁴ | alle 50G PAM4-lanes: 50G/100G/200G/400G/800G |
| Geconcateneerde / oFEC (coherent) | binnenste + buitenste codes | — | ≈ 10⁻² … 2 × 10⁻² | 400ZR (CFEC), OpenZR+ (oFEC) |
Configuratiemismatches: FEC, autonegotiatie & linktraining.
VDM: wat de module rapporteert
VDM bevindt zich in CMIS-pagina’s 20h–2Fh, gebankt per 8 lanes, en wordt aangekondigd op pagina 01h. Elke meetbare grootheid heeft een descriptor (type, lane), een actuele meetwaarde, vier drempels en flags, precies zoals de klassieke monitors.
| Pagina’s | Inhoud |
|---|---|
| 20h–23h | descriptors: welke meetbare grootheid, welke lane, welke drempelset |
| 24h–27h | meetwaarden (elk 2 bytes) |
| 28h–2Bh | drempels: hoog/laag alarm, hoog/laag waarschuwing |
| 2Ch–2Fh | flags en maskers |
Typen meetbare grootheden (CMIS 4.0/5.x)
| ID | Meetbare grootheid | Eenheid / formaat | Wat het aangeeft |
|---|---|---|---|
| 1 | Laserleeftijd | % (U16) | schatting van de fabrikant van de verbruikte levensduur |
| 2 | TEC-stroom | % van max (S16) | belasting van de koeler — Temperatuur & spanning |
| 3 | Laserfrequentiefout | MHz (S16) | DWDM/ZR: afstand tot het raster |
| 4 | Lasertemperatuur | °C (S16, 1/256) | gekoelde lasers |
| 5 / 6 | eSNR, media- / hostinvoer | dB (U16, 1/256) | elektrische SNR na egalisatie: de PAM4-‘ooghoogte’; > 18–20 dB comfortabel, < 15 dB marginaal (afhankelijk van fabrikant) |
| 7 / 8 | PAM4-niveauovergangsparameter, media / host | dB | lineariteit van de vier niveaus |
| 9 / 10 | Pre-FEC BER minimum, media / host | F16 | beste over het interval |
| 11 / 12 | Pre-FEC BER maximum | F16 | slechtste over het interval: het getal waarop u een alarm instelt |
| 13 / 14 | Pre-FEC BER gemiddelde | F16 | — |
| 15 / 16 | Pre-FEC BER actueel | F16 | laatste meetwaarde |
| 17–24 | FERC (frame error ratio count) min / max / gem. / actueel, media / host | F16 | niet-corrigeerbare frames na FEC: zou 0 moeten zijn |
| 128+ | coherente set (CMIS 5.x): modulatorbias, CD, DGD, SOPMD, OSNR, eSNR, Q-factor, totaal-/signaalvermogen Rx, carrier frequency offset… | verschillende | 400ZR/ZR+-modules |
F16 is het 16-bit-verhoudingsformaat van CMIS: een exponent van 5 bits en een mantisse van 11 bits, waarde = mantisse × 10^(exponent − 24). Een pre-FEC BER van 1,5 × 10⁻⁶ wordt opgeslagen als mantisse 1500 met exponent 15. De mediazijde is de optische lijn; de hostzijde is de elektrische interface naar de switch ASIC. Een slechte BER aan de hostzijde wijst op de connector of het board, niet op de glasvezel.
FEC-tellers aan de hostzijde
De switch of NIC telt per poort en vaak per lane:
| Teller | Gezond | Let op | Uitval |
|---|---|---|---|
| Gecorrigeerde codewoorden | groeit langzaam (pre-FEC BER 10⁻⁸ … 10⁻⁶) | snelle groei (10⁻⁵ bij KP4) | bijna aan de limiet |
| Niet-corrigeerbare codewoorden | 0 | elke toename | aanhoudende toename = frameverlies |
| Symboolfouten per lane | evenwichtig verdeeld over lanes | één lane domineert | glasvezel/connector/laser van die lane |
| Pre-FEC BER (afgeleid) | < 10⁻⁷ | 10⁻⁶ … 10⁻⁵ | > 10⁻⁴ (KP4) |
U leest ze met show interfaces … fec / phy detail op de meeste NOS (Optiek verifiëren), ethtool -S (fec_corrected_blocks, fec_uncorrectable_blocks) en ethtool --show-fec op Linux, of met show interfaces counters fec op SONiC. Tellers zijn cumulatief: reset ze en volg de snelheid.
De twee samen lezen
| Rx-vermogen | Pre-FEC BER / eSNR | Niet-corrigeerbaar | Diagnose |
|---|---|---|---|
| binnen venster | < 10⁻⁷, eSNR hoog | 0 | gezond met marge |
| binnen venster | 10⁻⁵, eSNR daalt op één lane | 0 | die lane verslechtert: vervuilde MPO-glasvezel, verouderende VCSEL, marginale connector; herstel vóór uitval (Diagnostiek per lane) |
| laag | hoog | enkele | budgetprobleem: Rx-vermogen & linkbudget |
| binnen venster, beide uiteinden | hoog aan hostzijde | enkele | elektrisch: cage-/connectorcontact, board, DAC-kwaliteit, verkeerde egalisatie-instellingen |
| binnen venster | hoog aan mediazijde, alle lanes | enkele | dispersie, verkeerde bereikklasse, golflengte naast de multiplexer, polariteit deels verkeerd |
| goed | 0 fouten, link flapping | 0 | geen signaalprobleem: FEC/AN-mismatch, thermisch probleem, software |
Drempels en alarmering
VDM-drempels worden door de fabrikant ingesteld; een gebruikelijke hoge waarschuwing voor pre-FEC BER ligt rond een tiende van de FEC-limiet (2 × 10⁻⁵ bij KP4). Gebruik voor alarmering snelheden en trends: een pre-FEC BER die in een week één decade stijgt, leidt tot een werkopdracht, ongeacht de drempels (DDM monitoren in productie). Niet-corrigeerbare fouten na FEC zijn altijd een incident.
Waar VDM ontbreekt
SFF-8472- en SFF-8636-modules hebben geen VDM: 10G/25G/100G NRZ-links vertrouwen op FEC-tellers aan de hostzijde en op Rx-vermogen. Sommige SFF-8636-modules bieden fabrikantspecifieke SNR of BER op pagina’s 20h–21h of in fabrikantbytes; die zijn alleen leesbaar met de tool van de fabrikant. Voor NRZ zonder FEC (10G LR, 1G) bieden CRC-/input-error-tellers op de interface het enige zicht op bitniveau.
In CodingBox
Voor CMIS-modules leest CodingBox de VDM-descriptors en meetwaarden en toont die per lane naast de klassieke monitors op DDM. F16-ratio’s worden daarbij naar gewone getallen gedecodeerd. FEC-tellers van de host bevinden zich buiten de module en buiten de programmer: ze komen van de switch.