CMIS — الإدارة المشتركة
CMIS، أي Common Management Interface Specification، هو نموذج الإدارة لكل عامل شكل جديد عالي السرعة: QSFP-DD، وOSFP، وOSFP-XD، وQSFP112، وSFP-DD، وSFP112 (بصفتها SFP+ مع CMIS)، وDSFP، وCOBO، وQSFP الداعمة لـCMIS. بدأ في MSA الخاصة بـQSFP-DD (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 | الواصفات، والعيّنات، والعتبات، والأعلام |
| 9Fh | CDB | كتلة الأوامر: معرّف الأمر، والأطوال، والمجموع الاختباري، والحمولة المحلية |
| A0h–AFh | CDB 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 مع CMIS… (SFF-8024) |
| 1 | مراجعة CMIS | نصفا بايت للرقم الرئيسي والثانوي: 50h = 5.0، و40h = 4.0، و30h = 3.0 |
| 2 | خصائص الذاكرة | البت 7 الذاكرة المسطّحة، إضافة إلى بت الضبط التدريجي فقط وبتات قدرات أخرى |
| 3 | حالة الوحدة | البتات 3–1: 1 LowPwr، و2 PwrUp، و3 Ready، و4 PwrDn، و5 Fault؛ البت 0 إلغاء تأكيد المقاطعة |
| 8–11 | أعلام الوحدة | تغيّر الحالة، وإنذارات الحرارة/Vcc، وإنذارات Aux، وcustom؛ مُثبَّتة وتُمسَح عند القراءة |
| 14–25 | القيم المقيسة للوحدة | الحرارة، وVcc، وAux1–Aux3 (تيار TEC، وحرارة الليزر، وتغذية إضافية)، وcustom |
| 26 | أوامر التحكم العامة | 5.x: البت 6 LowPwrAllowRequestHW، والبت 5 طريقة الكتم، والبت 4 LowPwrRequestSW، والبت 3 إعادة الضبط البرمجية (4.x: البت 6 LowPwr، والبت 4 ForceLowPwr) |
| 37–38 | حالة CDB | مشغول / ناجح / فاشل لكتلتي الأوامر 1 و2 |
| 39–40 | البرنامج الثابت النشط | الرقمان الرئيسي والثانوي للصورة العاملة |
| 85 | نوع الوسط | 01h MMF، و02h SMF، و03h نحاس سلبي، و04h كبل نشط، و05h BASE-T |
| 86–117 | واصفات التطبيقات 1–8 | 4 بايتات لكل واحد: معرّف واجهة المضيف، ومعرّف واجهة الوسط، وعدد مسارات المضيف/الوسط، وخيارات تخصيص مسار المضيف |
| 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 عن تطبيقات — أزواج من واجهة المضيف الكهربائية وواجهة الوسط، مع عدد المسارات:
| الواصف | واجهة المضيف | واجهة الوسط | مسارات المضيف / مسارات الوسط | مثال |
|---|---|---|---|---|
| التطبيق 1 | 12h 400GAUI-8 C2M | 1Ch 400GBASE-DR4 | 8 / 4 | وصلة 400G واحدة |
| التطبيق 2 | 0Eh 100GAUI-2 C2M | 14h 100GBASE-DR | 2 / 1 | تفريع 4 × 100G |
يختار المضيف تطبيقًا لكل مسار بكتابة AppSel (البتات 7–4)، وDataPathID (البتات 3–1)، وبتّ التحكم الصريح في Staged Control Set 0 (الصفحة 10h، البايتات 145–152)، ثم يفعّل ApplyDPInit (الصفحة 10h، البايت 143). وتجيب الوحدة في ConfigStatus (الصفحة 11h، البايتات 202–205: مقبول، أو مرفوض، أو AppSel غير صالح، أو تركيبة مسارات غير صالحة…) وتنسخ القيم المقبولة إلى 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، بايتان لكل مسار) الصيغ نفسها بطول 16 بت المستخدمة في SFP/QSFP (الوحدات).
- العتبات موجودة في الصفحة 02h؛ والأعلام مُثبَّتة وتُمسَح عند القراءة، ولكل علم قناعه الخاص؛ ويشير IntL إلى أي علم غير مقنَّع.
- تضيف VDM (الصفحات 20h–2Fh) قيمًا مرصودة لم تكن المواصفات القديمة تعرفها: BER قبل FEC، وإطارات FEC غير القابلة للتصحيح، وSNR لكل مسار، وحرارة الليزر وعمره، وeSNR، ومعطيات انتقال مستويات PAM4 — ولكل منها واصفه وعتباته وأعلامه الخاصة. وهذه هي الطريقة التي تُبلِّغ بها وحدة 400G عن جودة الوصلة قبل وصول الأخطاء إلى المضيف (المراقبة).
CDB — كتلة بيانات الأمر
الصفحة 9Fh صندوق بريد: يكتب المضيف معرّف الأمر (البايتات 128–129)، وأطوال الحمولة (130–132)، ومجموعًا اختباريًا (133)، وحتى 120 بايتًا من الحمولة المحلية (136–255)، مع إمكانية المزيد في صفحات EPL من A0h إلى AFh؛ وتنفّذ الوحدة الأمر وتُبلِغ في بايتات الحالة 37–38 وحمولة الرد. ومن الأوامر القياسية:
| الأمر | الغرض |
|---|---|
| 0000h | الاستعلام عن الحالة |
| 0040h / 0041h | ميزات الوحدة / ميزات إدارة البرنامج الثابت |
| 0100h | جلب معلومات البرنامج الثابت (الصورة العاملة والصورة غير النشطة) |
| 0101h | بدء تنزيل البرنامج الثابت |
| 0103h / 0104h | كتابة كتلة برنامج ثابت عبر LPL / EPL |
| 0107h | إكمال التنزيل |
| 0109h / 010Ah | تشغيل الصورة / اعتماد الصورة |
| 0102h | إلغاء |
CDB هو الوسيلة التي تحدّث بها أدوات المورّدين البرنامج الثابت للوحدة في الميدان، والتي ينفّذ بها بعض الموردين وظائف الضبط والفتح. الدعم والميزات معلَنان في الصفحة 01h.
المجاميع الاختبارية وكلمات المرور
البايت 222 في الصفحة 00h يحسب المجموع الاختباري للبايتات 128–221؛ وتحمل الصفحات 01h و02h و04h مجموعًا اختباريًا للصفحة في البايت 255 (المجاميع الاختبارية). كلمات المرور (122–125) ومخططات الفتح الخاصة بالموردين خارج نطاق المواصفة — إعادة ترميز EEPROM.
دعم المضيف
تنفّذ أنظمة تشغيل الشبكة CMIS 4.0 وCMIS 5.x بعمق متفاوت: بعضها يدير تدفق التطبيق/مسار البيانات كاملًا، وبعضها الآخر يحرّر LPMode وينتظر من الوحدة أن تُقلع بنفسها. وهذا الفرق يقف وراء معظم تذاكر «مكتشَفة لكنها لا تصبح جاهزة أبدًا» — مشكلات CMIS، ما يفعله المضيف.
في CodingBox
يكتشف CodingBox وحدات CMIS من بايت المعرّف والمراجعة، ويقرأ الذاكرة السفلى، والصفحات 00h و01h و02h وصفحات المسارات الموزَّعة على البنوك، ويفك ترميز واصفات التطبيقات وفق SFF-8024، ويعرض حالات الوحدة ومسار البيانات والقيم المقيسة لكل مسار في شاشة DDM، ويحرِّر بيانات التعريف مع إعادة حساب المجاميع الاختبارية للصفحات في EEPROM editor. وعمليات البرنامج الثابت عبر CDB خاصة بكل مورّد وخارج نطاق المحرر.
جداول على مستوى السجلات: خريطة الصفحة السفلى، خريطة الصفحات العليا 00h/01h/02h، خريطة صفحات المسارات 10h/11h، وVDM، وCDB.