CMIS: อินเทอร์เฟซการจัดการร่วม · ข้อกำหนดและมาตรฐาน · ทรานซีฟเวอร์ออปติคัลและสายเคเบิล · เอกสารประกอบ · CodingBox
CodingBox เอกสารประกอบ

CMIS: อินเทอร์เฟซการจัดการร่วม

CMIS หรือ Common Management Interface Specification คือโมเดลการจัดการสำหรับฟอร์มแฟกเตอร์ความเร็วสูงรุ่นใหม่ทุกแบบ ได้แก่ QSFP-DD, OSFP, OSFP-XD, QSFP112, SFP-DD และ SFP112 (ในชื่อ SFP+ with CMIS), DSFP, COBO และ QSFP ที่รองรับ CMIS เริ่มต้นจาก QSFP-DD MSA (CMIS 3.0 ปี 2018) ถูกนำไปใช้โดยกลุ่ม OSFP และ COBO และตั้งแต่รุ่น 5.0 (ปี 2021) ดูแลโดย OIF เมื่อเทียบกับ SFF-8636 แล้ว CMIS ไม่ใช่แค่หน่วยความจำที่ใหญ่กว่า แต่เป็นโมเดลที่ต่างไปจากเดิม ได้แก่ เพจที่แบ่งเป็นแบงก์สำหรับสูงสุด 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 ที่รองรับ 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, อะลาร์มเสริม, เฉพาะของผู้ผลิต; ค้างค่าไว้ ล้างเมื่ออ่าน
14–25ค่าที่ตรวจวัดของโมดูลอุณหภูมิ, Vcc, Aux1–Aux3 (กระแส TEC, อุณหภูมิเลเซอร์, แหล่งจ่ายไฟเสริม), เฉพาะของผู้ผลิต
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–84 ไบต์ต่อรายการ: 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 จะประกาศ การใช้งาน ซึ่งเป็นคู่ของอินเตอร์เฟซไฟฟ้าฝั่งโฮสต์กับอินเตอร์เฟซสื่อกลาง พร้อมจำนวนเลน:

ตัวบ่งชี้อินเตอร์เฟซโฮสต์อินเตอร์เฟซสื่อกลางเลนโฮสต์ / เลนสื่อกลางตัวอย่าง
การใช้งาน 112h 400GAUI-8 C2M1Ch 400GBASE-DR48 / 4ลิงก์ 400G หนึ่งลิงก์
การใช้งาน 20Eh 100GAUI-2 C2M14h 100GBASE-DR2 / 1เบรกเอาต์ 4 × 100G

โฮสต์เลือกการใช้งานต่อเลนโดยเขียน AppSel (บิต 7–4) DataPathID (บิต 3–1) และบิตควบคุมแบบระบุชัดเจนลงใน ชุดควบคุมที่เตรียมไว้ 0 (เพจ 10h ไบต์ 145–152) จากนั้นยืนยัน ApplyDPInit (เพจ 10h ไบต์ 143) โมดูลตอบกลับใน ConfigStatus (เพจ 11h ไบต์ 202–205: ยอมรับ, ปฏิเสธ, AppSel ไม่ถูกต้อง, การรวมเลนไม่ถูกต้อง…) และคัดลอกค่าที่ยอมรับลงใน ชุดควบคุมที่ใช้งานอยู่ (เพจ 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 ไบต์ต่อเลน) ใช้รูปแบบ 16 บิตเดียวกับ SFP/QSFP (หน่วย)
  • ค่าเกณฑ์ อยู่ที่เพจ 02h แฟล็ก ค้างค่าไว้และล้างเมื่ออ่าน โดยมีมาสก์ต่อแฟล็ก IntL ส่งสัญญาณเมื่อมีแฟล็กที่ไม่ถูกมาสก์
  • VDM (เพจ 20h–2Fh) เพิ่มค่าที่สังเกตได้ซึ่งสเปกรุ่นเก่าไม่เคยมี ได้แก่ BER ก่อน FEC, เฟรม 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 / 0104hเขียนบล็อกเฟิร์มแวร์ผ่าน LPL / EPL
0107hดาวน์โหลดเสร็จสมบูรณ์
0109h / 010Ahเรียกใช้อิมเมจ / ยืนยันอิมเมจ
0102hยกเลิก

CDB คือกลไกที่เครื่องมือของผู้ผลิตใช้อัปเดตเฟิร์มแวร์ของโมดูลในภาคสนาม และที่ผู้ผลิตบางรายใช้ทำฟังก์ชันตั้งค่าและปลดล็อก การรองรับและความสามารถถูกประกาศไว้ในเพจ 01h

เช็กซัมและรหัสผ่าน

เพจ 00h ไบต์ 222 เป็นเช็กซัมของไบต์ 128–221 เพจ 01h, 02h และ 04h มีเช็กซัมของเพจอยู่ที่ไบต์ 255 (เช็กซัม) รหัสผ่าน (122–125) และรูปแบบการปลดล็อกของผู้ผลิตอยู่นอกเหนือขอบเขตของสเปก (ดูการเขียนโค้ด EEPROM ใหม่)

การรองรับของโฮสต์

ระบบปฏิบัติการเครือข่ายรองรับ CMIS 4.0 และ 5.x ในระดับความลึกที่ต่างกัน บางระบบควบคุมกระบวนการการใช้งาน/เส้นทางข้อมูลแบบเต็มรูปแบบ บางระบบก็แค่ปล่อย LPMode แล้วคาดหวังให้โมดูลเริ่มทำงานเอง ความแตกต่างนี้คือสาเหตุเบื้องหลังปัญหาส่วนใหญ่ที่ “ตรวจพบแต่ไม่พร้อมใช้งานสักที” (ดูปัญหา CMIS, สิ่งที่โฮสต์ทำ)

ใน CodingBox

CodingBox ตรวจพบ CMIS จากไบต์ตัวระบุและไบต์รุ่น อ่านหน่วยความจำส่วนล่าง เพจ 00h, 01h, 02h และเพจเลนแบบแบงก์ ถอดรหัสตัวบ่งชี้การใช้งานเทียบกับ SFF-8024 แสดงสถานะโมดูลและเส้นทางข้อมูล พร้อมค่าที่ตรวจวัดต่อเลนในDDM และแก้ไขข้อมูลระบุตัวตนโดยคำนวณเช็กซัมของเพจใหม่ในEEPROM editor การดำเนินการเฟิร์มแวร์ผ่าน CDB เป็นเรื่องเฉพาะของผู้ผลิตและอยู่นอกขอบเขตของตัวแก้ไข

ตารางระดับรีจิสเตอร์: แผนที่เพจล่าง, แผนที่เพจบน 00h/01h/02h, แผนที่เพจเลน 10h/11h, VDM, CDB


หากพบข้อมูลที่ไม่ถูกต้องหรือข้อผิดพลาดในบทความนี้ ให้เลือกข้อความส่วนนั้นแล้วกด Ctrl+Enter เพื่อ