CodingBox दस्तावेज़

CMIS — सामान्य प्रबंधन

CMIS, यानी Common Management Interface Specification, हर नए हाई-स्पीड फ़ॉर्म फ़ैक्टर के लिए मैनेजमेंट मॉडल है: QSFP-DD, OSFP, OSFP-XD, QSFP112, SFP-DD और SFP112 (SFP+ with CMIS के तौर पर), DSFP, COBO और CMIS-सक्षम QSFP। इसकी शुरुआत QSFP-DD MSA (CMIS 3.0, 2018) में हुई, इसे OSFP और COBO ग्रुप ने अपनाया, और वर्शन 5.0 (2021) से इसे OIF मेंटेन करता है। SFF-8636 के मुक़ाबले यह बड़ा मेमोरी मैप भर नहीं बल्कि एक अलग मॉडल है: 32 लेन तक के लिए बैंक्ड पेज, मॉड्यूल और हर डेटा पाथ के लिए साफ़ स्टेट मशीन, कंप्लायंस बिट फ़ील्ड की जगह एप्लिकेशन, बहुमुखी डायग्नोस्टिक्स (VDM) और फ़र्मवेयर व एक्सटेंडेड फ़ंक्शन के लिए एक कमांड चैनल (CDB)। वर्शन बाइट और इतिहास: स्पेसिफ़िकेशन रिविज़न

मेमोरी मॉडल

क्षेत्रएड्रेसिंगकंटेंट
लोअर पेज (बाइट 0–127)हमेशा विज़िबलआइडेंटिफ़ायर, रिविज़न, मॉड्यूल स्टेट, फ़्लैग, मॉड्यूल मॉनिटर, ग्लोबल कंट्रोल, मीडिया टाइप, एप्लिकेशन डिस्क्रिप्टर 1–8, पासवर्ड, बैंक सिलेक्ट 126, पेज सिलेक्ट 127
अपर पेज 00h (128–255)पेज 127 = 00hवेंडर ब्लॉक, पावर क्लास, कनेक्टर, केबल लंबाई, मीडिया टेक्नोलॉजी, चेकसम
01hएडवर्टाइज़मेंटफ़र्मवेयर/हार्डवेयर रिविज़न, लिंक लंबाई, तरंगदैर्ध्य, सपोर्टेड पेज और बैंक, अवधि, सिग्नल-इंटीग्रिटी कंट्रोल, डिस्क्रिप्टर 9–15
02hथ्रेशोल्डमॉड्यूल और लेन अलार्म/चेतावनी थ्रेशोल्ड
04hलेज़र क्षमताएँट्यून करने योग्य लेज़र ग्रिड और रेंज (मूल: SFF-TA-1004)
10h (बैंक्ड)लेन कंट्रोलडेटा-पाथ डीइनिट, Tx डिसेबल, पोलैरिटी, स्क्वेल्च, इक्वलाइज़ेशन, स्टेज्ड कंट्रोल सेट
11h (बैंक्ड)लेन स्टेटसडेटा-पाथ स्टेट, प्रति-लेन फ़्लैग, लेन मॉनिटर, कॉन्फ़िगरेशन स्टेटस, एक्टिव कंट्रोल सेट
12h (बैंक्ड)ट्यून करने योग्य लेज़र कंट्रोलप्रति लेन चैनल/तरंगदैर्ध्य
13h–14h (बैंक्ड)डायग्नोस्टिक्सलूपबैक, PRBS जनरेटर और चेकर
20h–2Fh (बैंक्ड)VDMडिस्क्रिप्टर, सैंपल, थ्रेशोल्ड, फ़्लैग
9FhCDBकमांड ब्लॉक: कमांड ID, लंबाई, चेकसम, लोकल पेलोड
A0h–AFhCDB EPLबड़े ट्रांसफ़र के लिए एक्सटेंडेड पेलोड (फ़र्मवेयर इमेज)
80h–FFh (अन्य)वेंडरकस्टम पेज

एक बैंक 8 लेन को एड्रेस करता है: बैंक 0 लेन 1–8, बैंक 1 लेन 9–16 और आगे भी इसी तरह; कितने बैंक लागू हैं यह पेज 01h में एडवर्टाइज़ होता है। जिन मॉड्यूल में सिर्फ़ पेज 00h होता है वे फ़्लैट मेमोरी बिट सेट करते हैं (बाइट 2 बिट 7)। बस: सिंगल एड्रेस A0h, 400 kHz तक, प्रति स्लॉट ModSelL — टू-वायर इंटरफ़ेस

लोअर पेज — वे बाइट जिन पर होस्ट टिका होता है

बाइटफ़ील्डनोट्स
0आइडेंटिफ़ायर18h QSFP-DD, 19h OSFP, 1Eh QSFP with CMIS… (SFF-8024)
1CMIS रिविज़नmajor.minor निबल: 50h = 5.0, 40h = 4.0, 30h = 3.0
2मेमोरी कैरेक्टरिस्टिक्सबिट 7 फ़्लैट मेमोरी, साथ में stepped-config-only और अन्य कैपेबिलिटी बिट
3मॉड्यूल स्टेटबिट 3–1: 1 LowPwr, 2 PwrUp, 3 Ready, 4 PwrDn, 5 Fault; बिट 0 इंटरप्ट डीअसर्टेड
8–11मॉड्यूल फ़्लैगस्टेट चेंज, तापमान/Vcc अलार्म, aux अलार्म, कस्टम; लैच्ड, रीड पर क्लियर
14–25मॉड्यूल मॉनिटरतापमान, Vcc, Aux1–Aux3 (TEC करंट, लेज़र तापमान, अतिरिक्त सप्लाई), कस्टम
26ग्लोबल कंट्रोल5.x: बिट 6 LowPwrAllowRequestHW, बिट 5 स्क्वेल्च मेथड, बिट 4 LowPwrRequestSW, बिट 3 सॉफ़्टवेयर रीसेट (4.x: बिट 6 LowPwr, बिट 4 ForceLowPwr)
37–38CDB स्टेटसकमांड ब्लॉक 1 और 2 के लिए busy / success / fail
39–40एक्टिव फ़र्मवेयरचल रही इमेज का major.minor
85मीडिया टाइप01h MMF, 02h SMF, 03h पैसिव कॉपर, 04h एक्टिव केबल, 05h BASE-T
86–117एप्लिकेशन डिस्क्रिप्टर 1–8हर एक 4 बाइट का: होस्ट इंटरफ़ेस ID, मीडिया इंटरफ़ेस ID, होस्ट/मीडिया लेन काउंट, होस्ट लेन असाइनमेंट विकल्प
118–121पासवर्ड चेंजवेंडर डिफ़ाइंड
122–125पासवर्ड एंट्रीवेंडर डिफ़ाइंड — जहाँ राइट-प्रोटेक्शन पासवर्ड जाते हैं
126बैंक सिलेक्ट
127पेज सिलेक्ट

मॉड्यूल स्टेट मशीन

Reset ──► MgmtInit ──► ModuleLowPwr ──► ModulePwrUp ──► ModuleReady
                            ▲                              │
                            └──────── ModulePwrDn ◄────────┘
                       (ModuleFault from any state on a fatal error)
  • MgmtInit — मॉड्यूल अपना कंट्रोलर बूट करता है; पहचान जानकारी अभी पढ़ी नहीं जा सकती (हार्डवेयर स्पेक्स के हिसाब से 2 s तक)।
  • ModuleLowPwr — पहचान जानकारी, एडवर्टाइज़मेंट और थ्रेशोल्ड पढ़े जा सकते हैं; पावर क्लास 1 तक सीमित; होस्ट यहीं मॉड्यूल को वैलिडेट करता है।
  • ModulePwrUp → ModuleReady — होस्ट LPMode पिन डीअसर्ट करता है (या LowPwrRequestSW क्लियर करता है) और मॉड्यूल अपने ऑप्टिक्स को पावर देता है; अब डेटा पाथ इनिशियलाइज़ किए जा सकते हैं।
  • ModulePwrDn — LPMode असर्ट होने पर इसका उल्टा।

जो मॉड्यूल कभी LowPwr नहीं छोड़ता वह क्लासिक CMIS टिकट है: CMIS की समस्याएँ, पावर और थर्मल

एप्लिकेशन और डेटा पाथ

कंप्लायंस बिट की जगह, एक CMIS मॉड्यूल एप्लिकेशन एडवर्टाइज़ करता है — होस्ट इलेक्ट्रिकल इंटरफ़ेस और मीडिया इंटरफ़ेस के जोड़े, लेन काउंट के साथ:

डिस्क्रिप्टरहोस्ट इंटरफ़ेसमीडिया इंटरफ़ेसहोस्ट लेन / मीडिया लेनउदाहरण
App 112h 400GAUI-8 C2M1Ch 400GBASE-DR48 / 4एक 400G लिंक
App 20Eh 100GAUI-2 C2M14h 100GBASE-DR2 / 14 × 100G ब्रेकआउट

होस्ट प्रति लेन एक एप्लिकेशन चुनता है AppSel (बिट 7–4), एक DataPathID (बिट 3–1) और एक्सप्लिसिट-कंट्रोल बिट Staged Control Set 0 (पेज 10h बाइट 145–152) में लिखकर, फिर ApplyDPInit (पेज 10h बाइट 143) असर्ट करके। मॉड्यूल ConfigStatus (पेज 11h बाइट 202–205: accepted, rejected, invalid AppSel, invalid lane combination…) में जवाब देता है और स्वीकार की गई वैल्यू Active Control Set (पेज 11h 206–221) में कॉपी करता है। इसके बाद हर डेटा पाथ अपनी स्टेट मशीन से गुज़रता है:

DPDeactivated ──► DPInit ──► DPInitialized ──► DPTxTurnOn ──► DPActivated
       ▲                                                          │
       └────────── DPDeinit ◄───────── DPTxTurnOff ◄──────────────┘

स्टेट प्रति लेन पेज 11h बाइट 128–131 में रिपोर्ट होते हैं (प्रति लेन एक निबल), और हर स्टेप की अधिकतम अवधि पेज 01h में एडवर्टाइज़ की जाती है ताकि होस्ट को पता रहे कितना इंतज़ार करना है। प्रति लेन Tx डिसेबल पेज 10h बाइट 130 में होता है। जो ब्रेकआउट मॉड्यूल किसी एप्लिकेशन के तौर पर सूचीबद्ध नहीं करता वह बस उपलब्ध नहीं है — स्पीड और रेट

मॉनिटरिंग: फ़्लैग, मॉनिटर, VDM

  • मॉड्यूल मॉनिटर (लोअर पेज 14–25) और लेन मॉनिटर (पेज 11h: Tx पावर 154–169, Tx बायस 170–185, Rx पावर 186–201, प्रति लेन 2 बाइट) SFP/QSFP जैसे ही 16-बिट फ़ॉर्मैट इस्तेमाल करते हैं (यूनिट)।
  • थ्रेशोल्ड पेज 02h पर हैं; फ़्लैग लैच्ड होते हैं और रीड पर क्लियर होते हैं, हर फ़्लैग के लिए मास्क के साथ; IntL किसी भी अनमास्क्ड फ़्लैग का सिग्नल देता है।
  • VDM (पेज 20h–2Fh) ऐसे ऑब्ज़र्वेबल जोड़ता है जो पुराने स्पेक्स में कभी नहीं थे: pre-FEC BER, अनकरेक्टेबल FEC फ़्रेम, प्रति लेन SNR, लेज़र तापमान और उम्र, eSNR, PAM4 लेवल ट्रांज़िशन पैरामीटर — हर एक अपने डिस्क्रिप्टर, थ्रेशोल्ड और फ़्लैग के साथ। इसी तरह एक 400G मॉड्यूल एरर होस्ट तक पहुँचने से पहले लिंक क्वालिटी रिपोर्ट करता है (मॉनिटरिंग)।

CDB — कमांड डेटा ब्लॉक

पेज 9Fh एक मेलबॉक्स है: होस्ट कमांड ID (बाइट 128–129), पेलोड लंबाई (130–132), एक चेकसम (133) और स्थानीय पेलोड के 120 बाइट तक (136–255) लिखता है, चाहे तो EPL पेज A0h–AFh में और भी; मॉड्यूल इसे एक्ज़ीक्यूट करता है और स्टेटस बाइट 37–38 व एक रिप्लाई पेलोड में रिपोर्ट करता है। स्टैंडर्ड कमांड में शामिल हैं:

कमांडउद्देश्य
0000hस्टेटस क्वेरी करना
0040h / 0041hमॉड्यूल फ़ीचर / फ़र्मवेयर-मैनेजमेंट फ़ीचर
0100hफ़र्मवेयर जानकारी लेना (रनिंग और इनएक्टिव इमेज)
0101hफ़र्मवेयर डाउनलोड शुरू करना
0103h / 0104hLPL / EPL के ज़रिए फ़र्मवेयर ब्लॉक लिखना
0107hडाउनलोड पूरा करना
0109h / 010Ahइमेज रन करना / इमेज कमिट करना
0102hऐबॉर्ट करना

CDB के ज़रिए ही वेंडर टूल फ़ील्ड में मॉड्यूल फ़र्मवेयर अपडेट करते हैं और कुछ वेंडर कॉन्फ़िगरेशन व अनलॉक फ़ंक्शन लागू करते हैं। सपोर्ट और फ़ीचर पेज 01h में एडवर्टाइज़ किए जाते हैं।

चेकसम और पासवर्ड

पेज 00h का बाइट 222 बाइट 128–221 को चेकसम करता है; पेज 01h, 02h और 04h बाइट 255 में पेज चेकसम रखते हैं (चेकसम)। पासवर्ड (122–125) और वेंडर अनलॉक स्कीम स्पेसिफ़िकेशन के दायरे से बाहर हैं — EEPROM रीकोडिंग

होस्ट सपोर्ट

नेटवर्क ऑपरेटिंग सिस्टम CMIS 4.0 और 5.x को अलग-अलग गहराई तक लागू करते हैं: कुछ पूरा एप्लिकेशन/डेटा-पाथ फ़्लो ख़ुद चलाते हैं, कुछ बस LPMode रिलीज़ करते हैं और उम्मीद करते हैं कि मॉड्यूल ख़ुद ऊपर आ जाए। यही अंतर ज़्यादातर “recognised but never ready” टिकट के पीछे है — CMIS की समस्याएँ, होस्ट क्या करता है

CodingBox में

CodingBox आइडेंटिफ़ायर और रिविज़न बाइट से CMIS पहचानता है, लोअर मेमोरी, पेज 00h, 01h, 02h और बैंक्ड लेन पेज पढ़ता है, SFF-8024 के मुक़ाबले एप्लिकेशन डिस्क्रिप्टर डिकोड करता है, DDM पर मॉड्यूल और डेटा-पाथ स्टेट व प्रति-लेन मॉनिटर दिखाता है, और EEPROM editor में पेज चेकसम दोबारा कैलकुलेट करते हुए पहचान जानकारी एडिट करता है। CDB पर फ़र्मवेयर ऑपरेशन वेंडर-स्पेसिफ़िक हैं और एडिटर के दायरे से बाहर हैं।

रजिस्टर-लेवल टेबल: लोअर पेज मैप, अपर पेज मैप 00h/01h/02h, लेन पेज मैप 10h/11h, VDM, CDB


अगर आपको इस सामग्री में कोई अशुद्धि या त्रुटि दिखे, तो संबंधित अंश चुनें और Ctrl+Enter दबाकर