VDM और FEC मेट्रिक्स: PAM4 लिंक
प्रति लेन 50G और उससे ऊपर पर, ऑप्टिकल पावर अकेले सेहत का काफ़ी इंडिकेटर नहीं रह जाती: परफ़ेक्ट Rx पावर वाला PAM4 लिंक भी एक गंदे कनेक्टर की दूरी पर अनकरेक्टेबल एरर से हो सकता है, और पहला संकेत कोई dBm नहीं बल्कि बिट त्रुटि दर होती है। यह नंबर दो सोर्स से मिलता है। मॉड्यूल के अंदर, CMIS का VDM (Versatile Diagnostics Monitoring) प्रति लेन pre-FEC BER, SNR और लेज़र की सेहत रिपोर्ट करता है; होस्ट पर, FEC डिकोडर करेक्टेड और अनकरेक्टेड कोडवर्ड गिनता है। दोनों मिलकर दिखाते हैं कि लिंक फ़ेलियर से कितनी दूर है, जबकि वह अब भी बिना लॉस के ट्रैफ़िक ले जा रहा होता है।
FEC ने डायग्नोस्टिक्स को कैसे बदल दिया
PAM4 पर हर 25G+ Ethernet PMD (और ज़्यादातर 25G NRZ भी) Reed-Solomon FEC मानकर चलता है। ऑप्टिक्स को 10⁻⁵–10⁻⁴ का रॉ एरर रेशियो देने की छूट है क्योंकि FEC इसे 10⁻¹² या बेहतर तक ठीक कर देता है। नतीजा: बिगड़ता हुआ लिंक MAC को तब तक कोई एरर नहीं दिखाता जब तक FEC की सीमा पार न हो जाए, फिर अचानक फ़ेल हो जाता है। pre-FEC BER ही मार्जिन का इकलौता स्मूद इंडिकेटर है।
| FEC | कोड | प्रति कोडवर्ड करेक्शन | 10⁻¹² आउटपुट के लिए Pre-FEC BER सीमा (अनुमानित) | इस्तेमाल करने वाले |
|---|---|---|---|---|
| BASE-R (“FC-FEC”, Clause 74) | Fire कोड (2112, 2080) | 11-बिट बर्स्ट | ≈ 10⁻⁷ … 10⁻⁸, गेन ~2 dB | 10G/25G NRZ, CA-25G-S |
| RS-FEC KR4 (Clause 91/108) | GF(2¹⁰) पर RS(528, 514) | 7 सिंबल | ≈ 5 × 10⁻⁵ | 25GBASE-CR/SR/LR, 100GBASE-SR4/CWDM4/CR4 |
| RS-FEC KP4 (Clause 119/134) | RS(544, 514) | 15 सिंबल | ≈ 2.4 × 10⁻⁴ | सभी 50G PAM4 लेन: 50G/100G/200G/400G/800G |
| कॉन्कैटेनेटेड / oFEC (कोहेरेंट) | इनर + आउटर कोड | — | ≈ 10⁻² … 2 × 10⁻² | 400ZR (CFEC), OpenZR+ (oFEC) |
कॉन्फ़िगरेशन मिसमैच: FEC, ऑटो-नेगोशिएशन और लिंक ट्रेनिंग।
VDM — मॉड्यूल क्या रिपोर्ट करता है
VDM, CMIS पेज 20h–2Fh में रहता है (हर 8 लेन के हिसाब से बैंक में बंटा हुआ) और पेज 01h में एडवरटाइज़ होता है। हर ऑब्ज़र्वेबल का एक डिस्क्रिप्टर (टाइप, लेन), एक लाइव सैंपल, चार थ्रेशोल्ड और फ़्लैग होते हैं — बिल्कुल क्लासिक मापे गए मान की तरह।
| पेज | कंटेंट |
|---|---|
| 20h–23h | डिस्क्रिप्टर: कौन-सा ऑब्ज़र्वेबल, कौन-सी लेन, कौन-सा थ्रेशोल्ड सेट |
| 24h–27h | सैंपल (हर एक 2 बाइट) |
| 28h–2Bh | थ्रेशोल्ड: हाई/लो अलार्म, हाई/लो वॉर्निंग |
| 2Ch–2Fh | फ़्लैग और मास्क |
ऑब्ज़र्वेबल टाइप (CMIS 4.0/5.x)
| ID | ऑब्ज़र्वेबल | यूनिट / फ़ॉर्मैट | क्या बताता है |
|---|---|---|---|
| 1 | लेज़र की उम्र | % (U16) | खर्च हो चुकी लाइफ़ का विक्रेता का अनुमान |
| 2 | TEC करंट | मैक्स का % (S16) | कूलर लोड — तापमान और वोल्टेज |
| 3 | लेज़र फ़्रीक्वेंसी एरर | MHz (S16) | DWDM/ZR: ग्रिड से दूरी |
| 4 | लेज़र तापमान | °C (S16, 1/256) | कूल किए लेज़र |
| 5 / 6 | eSNR, मीडिया / होस्ट इनपुट | dB (U16, 1/256) | इक्वलाइज़ेशन के बाद इलेक्ट्रिकल SNR — PAM4 की “आई हाइट”; > 18–20 dB आरामदायक, < 15 dB मार्जिनल (विक्रेता पर निर्भर) |
| 7 / 8 | PAM4 लेवल ट्रांज़िशन पैरामीटर, मीडिया / होस्ट | dB | चारों लेवल की रैखिकता |
| 9 / 10 | Pre-FEC BER मिनिमम, मीडिया / होस्ट | F16 | इंटरवल में सबसे अच्छा |
| 11 / 12 | Pre-FEC BER मैक्सिमम | F16 | इंटरवल में सबसे ख़राब — अलर्ट के लिए यही नंबर |
| 13 / 14 | Pre-FEC BER औसत | F16 | — |
| 15 / 16 | Pre-FEC BER करंट | F16 | आख़िरी सैंपल |
| 17–24 | FERC (फ़्रेम त्रुटि दर गणना) मिन / मैक्स / औसत / करंट, मीडिया / होस्ट | F16 | FEC के बाद के अनकरेक्टेबल फ़्रेम — 0 होने चाहिए |
| 128+ | कोहेरेंट सेट (CMIS 5.x): मॉड्युलेटर बायस, CD, DGD, SOPMD, OSNR, eSNR, Q-फ़ैक्टर, Rx टोटल/सिग्नल पावर, कैरियर फ़्रीक्वेंसी ऑफ़सेट… | अलग-अलग | 400ZR/ZR+ मॉड्यूल |
F16, CMIS का 16-बिट रेशियो फ़ॉर्मैट है: 5-बिट एक्सपोनेंट और 11-बिट मैंटिसा, मान = मैंटिसा × 10^(एक्सपोनेंट − 24)। 1.5 × 10⁻⁶ का pre-FEC BER मैंटिसा 1500 और एक्सपोनेंट 15 के तौर पर स्टोर होता है। मीडिया साइड = ऑप्टिकल लाइन; होस्ट साइड = स्विच ASIC तक का इलेक्ट्रिकल इंटरफ़ेस — होस्ट-साइड का ख़राब BER कनेक्टर या बोर्ड की तरफ़ इशारा करता है, फ़ाइबर की तरफ़ नहीं।
होस्ट-साइड FEC काउंटर
स्विच या NIC, हर पोर्ट के लिए और अक्सर हर लेन के लिए यह गिनता है:
| काउंटर | स्वस्थ | सतर्क | ख़राब |
|---|---|---|---|
| करेक्टेड कोडवर्ड | धीरे-धीरे बढ़ रहे (pre-FEC BER 10⁻⁸ … 10⁻⁶) | तेज़ी से बढ़ रहे (KP4 पर 10⁻⁵) | सीमा के क़रीब |
| अनकरेक्टेबल कोडवर्ड | 0 | कोई भी बढ़त | लगातार बढ़त = फ़्रेम लॉस |
| प्रति लेन सिंबल एरर | लेन के बीच बराबर | एक लेन हावी | उस लेन की फ़ाइबर/कनेक्टर/लेज़र |
| Pre-FEC BER (कैलकुलेटेड) | < 10⁻⁷ | 10⁻⁶ … 10⁻⁵ | > 10⁻⁴ (KP4) |
इन्हें कहाँ पढ़ें: ज़्यादातर NOS पर show interfaces … fec / phy detail (ऑप्टिक्स वेरिफ़ाई करना), Linux पर ethtool -S (fec_corrected_blocks, fec_uncorrectable_blocks) और ethtool --show-fec, SONiC पर show interfaces counters fec। काउंटर क्युमुलेटिव होते हैं — इन्हें क्लियर करें और रेट देखें।
दोनों को साथ पढ़ना
| Rx पावर | Pre-FEC BER / eSNR | अनकरेक्टेबल | डायग्नोसिस |
|---|---|---|---|
| विंडो में | < 10⁻⁷, eSNR हाई | 0 | मार्जिन के साथ स्वस्थ |
| विंडो में | 10⁻⁵, एक लेन पर eSNR गिर रहा | 0 | वह लेन बिगड़ रही है: गंदी MPO फ़ाइबर, एजिंग VCSEL, मार्जिनल कनेक्टर — फ़ेल होने से पहले ठीक करें (प्रति-लेन डायग्नोस्टिक्स) |
| कम | हाई | कुछ | बजट की समस्या — Rx पावर और लिंक बजट |
| विंडो में, दोनों छोर | होस्ट साइड पर हाई | कुछ | इलेक्ट्रिकल: केज/कनेक्टर का कॉन्टैक्ट, बोर्ड, DAC क्वालिटी, ग़लत इक्वलाइज़ेशन सेटिंग |
| विंडो में | मीडिया साइड पर हाई, सभी लेन | कुछ | डिस्पर्शन, ग़लत रीच क्लास, मल्टीप्लेक्सर से हटी तरंगदैर्ध्य, आंशिक तौर पर ग़लत पोलैरिटी |
| ठीक | 0 एरर, लिंक फ़्लैप करता है | 0 | सिग्नल की समस्या नहीं — FEC/AN मिसमैच, थर्मल, सॉफ़्टवेयर |
थ्रेशोल्ड और अलर्टिंग
VDM के थ्रेशोल्ड विक्रेता सेट करता है; pre-FEC BER के लिए सामान्य हाई-वॉर्निंग FEC सीमा के क़रीब दसवें हिस्से पर होती है (KP4 पर 2 × 10⁻⁵)। अलर्टिंग के लिए रेट और ट्रेंड इस्तेमाल करें: हफ़्ते भर में एक दशक चढ़ता pre-FEC BER, थ्रेशोल्ड चाहे जो भी हों, एक वर्क ऑर्डर है (मॉनिटरिंग)। FEC के बाद के अनकरेक्टेबल एरर हमेशा एक इंसिडेंट होते हैं।
जहाँ VDM नहीं है
SFF-8472 और SFF-8636 मॉड्यूल में VDM नहीं होता: 10G/25G/100G NRZ लिंक होस्ट के FEC काउंटर और Rx पावर पर निर्भर रहते हैं। कुछ SFF-8636 मॉड्यूल पेज 20h–21h या वेंडर बाइट में वेंडर-स्पेसिफ़िक SNR या BER दिखाते हैं — जो सिर्फ़ विक्रेता के टूल से पढ़े जा सकते हैं। बिना FEC वाले NRZ (10G LR, 1G) के लिए, इंटरफ़ेस के CRC/इनपुट-एरर काउंटर ही बिट-लेवल की इकलौती झलक हैं।
CodingBox में
CMIS मॉड्यूल के लिए CodingBox, VDM के डिस्क्रिप्टर और सैंपल पढ़ता है और इन्हें DDM पर क्लासिक मापे गए मान के साथ प्रति लेन दिखाता है, और F16 रेशियो को सीधे नंबर में डिकोड करता है। होस्ट के FEC काउंटर मॉड्यूल के बाहर और प्रोग्रामर के बाहर की चीज़ हैं — ये स्विच से आते हैं।