स्पेसिफ़िकेशन रिविज़न और वर्ज़न बाइट
स्पेसिफ़िकेशन जीवंत दस्तावेज़ हैं। एक मॉड्यूल डिक्लेयर करता है कि उसका मेमोरी मैप किस रिविज़न को फ़ॉलो करता है, और एक होस्ट मैप को उस रिविज़न के हिसाब से पार्स करता है जिसे वह जानता है। ज़्यादातर समय दोनों काफ़ी हद तक सहमत होते हैं; जब नहीं होते, तो कोई बाइट किसी और चीज़ के तौर पर पढ़ी जाती है जो वह है नहीं। यह पेज वर्शन बाइट, उन्हें डिकोड करने का तरीक़ा, और — मोटे तौर पर — हर जनरेशन ने क्या जोड़ा, यह सूचीबद्ध करता है, ताकि आप बता सकें कि आपके सामने वाले मॉड्यूल के लिए जो फ़ील्ड आप देख रहे हैं वह मौजूद भी है या नहीं।
वर्शन कहाँ डिक्लेयर होता है
| फ़ैमिली | बाइट | एन्कोडिंग |
|---|---|---|
| SFF-8472 (SFP) | A0h बाइट 94 | एनुमरेटेड कोड (नीचे टेबल) |
| SFF-8636 (QSFP) | बाइट 1 | एनुमरेटेड कोड (नीचे टेबल) |
| CMIS | बाइट 1 | मेजर निबल . माइनर निबल (50h = 5.0) |
| MIS (SFP-DD) | बाइट 1 | CMIS जैसा |
| INF-8077i (XFP) | कोई नहीं | आइडेंटिफ़ायर 06h से INF-8077i rev 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 मेमोरी (बाइट 64 बिट 4), SFF-8690 ट्यून करने योग्य पेज 02h |
| 08h | 12.0 | SFF-8024 के ज़रिए बाइट 36 एक्सटेंडेड स्पेसिफ़िकेशन कंप्लायंस; 25G/100G-युग के कोड |
| 09h | 12.4 | पावर लेवल 3 (2.0 W), बाइट 62 में FC स्पीड 2, PAM4 एन्कोडिंग कोड, SFF-8024 के साथ अलाइनमेंट |
अंगूठे का नियम: जो मॉड्यूल 08h या 09h डिक्लेयर करता है उसमें बाइट 36 सार्थक (या ज़ीरो) होना चाहिए और बाइट 12 = FFh होने पर बाइट 66 में ×250 Mb/s रेट होनी चाहिए; जो मॉड्यूल 03h या उससे कम डिक्लेयर करता है उसमें बाइट 36 का कोई सिमैंटिक्स होता ही नहीं — होस्ट इसे इग्नोर करते हैं।
SFF-8636 — बाइट 1
| वैल्यू | मैप फ़ॉलो करता है | मुख्य जोड़ |
|---|---|---|
| 00h | तय नहीं (SFF-8436 rev 4.8 या पहले का) | ओरिजिनल QSFP+ मैप |
| 01h | SFF-8436 rev 4.8 या पहले का | — |
| 02h | SFF-8636 के हिसाब से बाइट 186–189 के साथ SFF-8436 rev 4.8 | तरंगदैर्ध्य और टॉलरेंस फ़ील्ड |
| 03h | SFF-8636 rev 1.3 या पहले का | पहला SFF-8636 |
| 04h | rev 1.4 | — |
| 05h | rev 1.5 | — |
| 06h | rev 2.0 | QSFP28 / 100G: बाइट 192 एक्सटेंडेड कंप्लायंस, पावर क्लास 5–7, CDR कंट्रोल और LOL फ़्लैग |
| 07h | rev 2.5, 2.6, 2.7 | पेज 20h–21h, Tx-डिसेबल फ़ास्ट मोड, ज़्यादा Table 4-4 कोड |
| 08h | rev 2.8, 2.9, 2.10 | पावर क्लास 8 और बाइट 107 मैक्स पावर, 200G (QSFP56) कोड, PAM4 एन्कोडिंग |
rev 2.0 से पहले के होस्ट बाइट 192 को नहीं देखेंगे — एक 100G मॉड्यूल 40G-युग के स्विच में सिर्फ़ इसी वजह से “unknown” होता है, वेंडर ब्लॉक चाहे जो भी कहे।
CMIS — बाइट 1
| वैल्यू | वर्शन | मुख्य बदलाव |
|---|---|---|
| 30h | 3.0 (2018, QSFP-DD MSA) | पहला कॉमन मॉडल: लोअर/अपर पेज, एप्लिकेशन, मॉड्यूल और डेटा-पाथ स्टेट मशीन, CDB |
| 40h | 4.0 (2019) | स्टेज्ड कंट्रोल सेट, 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) मॉनिटरिंग हुक, फ़र्मवेयर-मैनेजमेंट रिफ़ाइनमेंट |
4.0 लागू करने वाले होस्ट में एक CMIS 5.x मॉड्यूल आमतौर पर बेसिक फ़्लो (स्टेट मशीन, एप्लिकेशन सिलेक्ट) के लिए काम करता है, लेकिन होस्ट नए VDM पेज नहीं पढ़ेगा; सिर्फ़ 3.0 वाला होस्ट किसी 5.x मॉड्यूल को बिल्कुल भी ब्रिंग-अप करने में विफल हो सकता है — CMIS की समस्याएँ। MIS वर्शन CMIS को फ़ॉलो करते हैं: MIS।
संगतता नियम
- नया मॉड्यूल, पुराना होस्ट — अनजान कोड unknown के तौर पर डिकोड होते हैं; ज़्यादा बाइट 94 / बाइट 1 वैल्यू आमतौर पर बर्दाश्त की जाती है। दिक़्क़त तब शुरू होती है जब होस्ट को ऐसी फ़ील्ड चाहिए जो सिर्फ़ नए रिविज़न में मौजूद है (बाइट 192, एप्लिकेशन)।
- पुराना मॉड्यूल, नया होस्ट — ठीक रहता है; होस्ट बैकवर्ड पार्सिंग बनाए रखते हैं।
- कॉन्टेंट से मेल न खाता डिक्लेयर्ड रिविज़न — असली जाल। बाइट 12 = FFh होने पर ख़ाली बाइट 66 के साथ 12.x डिक्लेयर करना होस्ट को “0 Gb/s” देता है; बाइट 192 में गार्बेज के साथ rev 2.0+ डिक्लेयर करना unknown type देता है। कोडिंग करते समय, रिविज़न बाइट को उन फ़ील्ड से मेल खाता हुआ सेट करें जो आप असल में इस्तेमाल करते हैं।
- SFF-8024 में मॉड्यूल के अंदर कोई वर्शन बाइट नहीं होती; होस्ट की टेबल रिविज़न तय करती है कि वह कौन-से कोड नाम दे सकता है।
अन्य दस्तावेज़ और उनकी कैडेंस
| दस्तावेज़ | मौजूदा जनरेशन | नोट्स |
|---|---|---|
| SFF-8024 | rev 4.x, साल में कई बार रिवाइज़ किया जाता है | नए आइडेंटिफ़ायर, कनेक्टर और इंटरफ़ेस ID सबसे पहले यहीं आते हैं |
| INF-8077i | rev 4.5 (2005) | XFP; स्टेबल, आगे कोई रिविज़न अपेक्षित नहीं — XFP |
| SFF-8690 / SFF-TA-1004 | 1.x | ट्यून करने योग्य मेमोरी मैप — ट्यून करने योग्य मेमोरी मैप |
| SFF-8079 / SFF-8089 | 1.x | रेट/एप्लिकेशन सिलेक्ट — रेट सिलेक्ट |
| हार्डवेयर स्पेक्स (SFF-8431, SFF-8679, QSFP-DD HW, OSFP) | कैटलॉग देखें | SFP, QSFP हार्डवेयर फ़ैमिली |
दस्तावेज़ नंबर और शीर्षक: MSA स्पेसिफ़िकेशन कैटलॉग।
CodingBox में
CodingBox पहले रिविज़न बाइट पढ़ता है और मैचिंग फ़ील्ड डेफ़िनिशन लागू करता है, इसलिए जो फ़ील्ड डिक्लेयर्ड रिविज़न के लिए मौजूद ही नहीं हैं उन्हें ग़लत लेबल की बजाय रिज़र्व्ड दिखाया जाता है। EEPROM editor आपको रिविज़न बाइट को उन फ़ील्ड के साथ सेट करने देता है जिन्हें वह गवर्न करती है।