CMIS — quản lý chung · Đặc tả và tiêu chuẩn · Transceiver quang và cáp · Tài liệu · CodingBox
CodingBox Tài liệu

CMIS — quản lý chung

CMIS, viết tắt của Common Management Interface Specification, là mô hình quản lý cho mọi form factor tốc độ cao mới: QSFP-DD, OSFP, OSFP-XD, QSFP112, SFP-DD và SFP112 (dưới dạng SFP+ với CMIS), DSFP, COBO và QSFP hỗ trợ CMIS. Nó bắt đầu trong MSA của QSFP-DD (CMIS 3.0, năm 2018), được các nhóm OSFP và COBO tiếp nhận, và từ phiên bản 5.0 (năm 2021) được duy trì tại OIF. So với SFF-8636, đây không phải là một bản đồ bộ nhớ lớn hơn mà là một mô hình khác hẳn: các trang theo bank cho tới 32 làn, máy trạng thái tường minh cho module và cho từng luồng dữ liệu, ứng dụng thay cho các bit tuân thủ, chẩn đoán linh hoạt (VDM) và một kênh lệnh (CDB) cho firmware và các chức năng mở rộng. Byte phiên bản và lịch sử: Các phiên bản đặc tả.

Mô hình bộ nhớ

VùngĐịnh địa chỉNội dung
Trang dưới (byte 0–127)luôn hiển thịmã nhận dạng, phiên bản, trạng thái module, cờ, giám sát module, điều khiển chung, loại media, bộ mô tả ứng dụng 1–8, mật khẩu, bank select 126, page select 127
Trang trên 00h (128–255)trang 127 = 00hkhối nhà sản xuất, cấp công suất, đầu nối, chiều dài cáp, công nghệ media, checksum
01hquảng báphiên bản firmware/phần cứng, chiều dài liên kết, bước sóng, các trang và bank được hỗ trợ, thời lượng, điều khiển toàn vẹn tín hiệu, bộ mô tả 9–15
02hngưỡngngưỡng báo động/cảnh báo của module và của làn
04hkhả năng laserlưới kênh và phạm vi của laser điều chỉnh được (dòng dõi SFF-TA-1004)
10h (theo bank)điều khiển lànhủy khởi tạo luồng dữ liệu, vô hiệu hóa Tx, cực tính, squelch, cân bằng tín hiệu, staged control set
11h (theo bank)trạng thái làntrạng thái luồng dữ liệu, cờ theo từng làn, giám sát làn, trạng thái cấu hình, active control set
12h (theo bank)điều khiển laser điều chỉnh đượckênh/bước sóng theo từng làn
13h–14h (theo bank)chẩn đoánloopback, bộ tạo và bộ kiểm tra PRBS
20h–2Fh (theo bank)VDMbộ mô tả, mẫu đo, ngưỡng, cờ
9FhCDBkhối lệnh: command ID, độ dài, checksum, payload cục bộ
A0h–AFhCDB EPLpayload mở rộng cho các lần truyền lớn (ảnh firmware)
80h–FFh (khác)nhà sản xuấtcác trang riêng của nhà sản xuất

Một bank đánh địa chỉ cho 8 làn: bank 0 là làn 1–8, bank 1 là làn 9–16, và cứ thế tiếp tục; số bank được triển khai được quảng bá ở trang 01h. Module chỉ có trang 00h thì đặt bit bộ nhớ phẳng (byte 2 bit 7). Bus: một địa chỉ duy nhất A0h, tối đa 400 kHz, ModSelL theo từng khe cắm — giao diện hai dây.

Trang dưới — những byte mà host thường xuyên truy cập

ByteTrườngGhi chú
0Mã nhận dạng18h QSFP-DD, 19h OSFP, 1Eh QSFP với CMIS… (SFF-8024)
1Phiên bản CMISnibble major.minor: 50h = 5.0, 40h = 4.0, 30h = 3.0
2Đặc tính bộ nhớbit 7 bộ nhớ phẳng, cùng bit stepped-config-only và các bit khả năng khác
3Trạng thái modulebit 3–1: 1 LowPwr, 2 PwrUp, 3 Ready, 4 PwrDn, 5 Fault; bit 0 ngắt được bỏ khẳng định
8–11Cờ modulethay đổi trạng thái, báo động nhiệt độ/Vcc, báo động phụ, riêng nhà sản xuất; được chốt lại, xóa khi đọc
14–25Giám sát modulenhiệt độ, Vcc, Aux1–Aux3 (dòng TEC, nhiệt độ laser, nguồn phụ), riêng nhà sản xuất
26Điều khiển chung5.x: bit 6 LowPwrAllowRequestHW, bit 5 phương thức squelch, bit 4 LowPwrRequestSW, bit 3 software reset (4.x: bit 6 LowPwr, bit 4 ForceLowPwr)
37–38Trạng thái CDBbận / thành công / lỗi cho khối lệnh 1 và 2
39–40Firmware đang hoạt độngmajor.minor của ảnh đang chạy
85Loại media01h MMF, 02h SMF, 03h đồng thụ động, 04h cáp chủ động, 05h BASE-T
86–117Bộ mô tả ứng dụng 1–84 byte mỗi bộ: host interface ID, media interface ID, số làn host/media, tùy chọn gán làn host
118–121Đổi mật khẩudo nhà sản xuất định nghĩa
122–125Nhập mật khẩudo nhà sản xuất định nghĩa — nơi đặt mật khẩu bảo vệ ghi
126Bank select—
127Page select—

Máy trạng thái module

Reset ──► MgmtInit ──► ModuleLowPwr ──► ModulePwrUp ──► ModuleReady
                            ▲                              │
                            └──────── ModulePwrDn ◄────────┘
                       (ModuleFault từ bất kỳ trạng thái nào khi có lỗi nghiêm trọng)
  • MgmtInit — module khởi động bộ điều khiển của nó; thông tin nhận dạng chưa đọc được (tối đa 2 s theo đặc tả phần cứng).
  • ModuleLowPwr — đọc được thông tin nhận dạng, quảng bá và ngưỡng; công suất giới hạn ở cấp 1; host xác thực module tại đây.
  • ModulePwrUp → ModuleReady — host bỏ khẳng định chân LPMode (hoặc xóa LowPwrRequestSW) và module cấp nguồn cho phần quang học của nó; các luồng dữ liệu giờ có thể được khởi tạo.
  • ModulePwrDn — quá trình ngược lại khi LPMode được khẳng định.

Một module không bao giờ rời khỏi LowPwr là ticket CMIS kinh điển: Sự cố CMIS, Công suất và nhiệt.

Ứng dụng và luồng dữ liệu

Thay vì các bit tuân thủ, một module CMIS quảng bá ứng dụng — các cặp giao diện điện host và giao diện media, kèm số làn:

Bộ mô tảGiao diện hostGiao diện mediaLàn host / làn mediaVí dụ
App 112h 400GAUI-8 C2M1Ch 400GBASE-DR48 / 4một liên kết 400G
App 20Eh 100GAUI-2 C2M14h 100GBASE-DR2 / 1breakout 4 × 100G

Host chọn một ứng dụng cho mỗi làn bằng cách ghi AppSel (bit 7–4), một DataPathID (bit 3–1) và bit explicit-control vào Staged Control Set 0 (trang 10h byte 145–152), rồi khẳng định ApplyDPInit (trang 10h byte 143). Module trả lời qua ConfigStatus (trang 11h byte 202–205: được chấp nhận, bị từ chối, AppSel không hợp lệ, tổ hợp làn không hợp lệ…) và sao chép các giá trị được chấp nhận vào Active Control Set (trang 11h 206–221). Mỗi luồng dữ liệu sau đó đi qua máy trạng thái riêng của nó:

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

Trạng thái được báo cáo theo từng làn ở trang 11h byte 128–131 (một nibble cho mỗi làn), và thời lượng tối đa của mỗi bước được quảng bá ở trang 01h để host biết cần chờ bao lâu. Vô hiệu hóa Tx theo từng làn nằm ở trang 10h byte 130. Breakout mà module không liệt kê như một ứng dụng thì đơn giản là không khả dụng — Tốc độ & tốc độ truyền.

Giám sát: cờ, giám sát, VDM

  • Giám sát module (trang dưới 14–25) và giám sát làn (trang 11h: công suất Tx 154–169, dòng phân cực Tx 170–185, công suất Rx 186–201, 2 byte mỗi làn) dùng cùng định dạng 16-bit như SFP/QSFP (đơn vị).
  • Ngưỡng nằm ở trang 02h; cờ được chốt lại và xóa khi đọc, với mask cho từng cờ; IntL báo hiệu bất kỳ cờ nào chưa bị mask.
  • VDM (trang 20h–2Fh) bổ sung các đại lượng quan sát mà các đặc tả cũ chưa từng có: BER trước FEC, khung FEC không sửa được, SNR theo từng làn, nhiệt độ và tuổi laser, eSNR, các tham số chuyển mức PAM4 — mỗi đại lượng có bộ mô tả, ngưỡng và cờ riêng. Đây là cách một module 400G báo cáo chất lượng liên kết trước khi lỗi đến được host (Giám sát).

CDB — Command Data Block

Trang 9Fh là một hộp thư: host ghi một command ID (byte 128–129), độ dài payload (130–132), một checksum (133) và tối đa 120 byte payload cục bộ (136–255), có thể thêm nữa ở các trang EPL A0h–AFh; module thực thi và báo cáo trong byte trạng thái 37–38 cùng một payload trả lời. Các lệnh chuẩn gồm:

LệnhMục đích
0000htruy vấn trạng thái
0040h / 0041htính năng module / tính năng quản lý firmware
0100hlấy thông tin firmware (ảnh đang chạy và ảnh không hoạt động)
0101hbắt đầu tải firmware xuống
0103h / 0104hghi khối firmware qua LPL / EPL
0107hhoàn tất tải xuống
0109h / 010Ahchạy ảnh / xác nhận ảnh
0102hhủy

CDB là cách các công cụ của nhà sản xuất cập nhật firmware module ngoài hiện trường, và cách một số nhà sản xuất triển khai các chức năng cấu hình và mở khóa. Hỗ trợ và tính năng được quảng bá ở trang 01h.

Checksum và mật khẩu

Trang 00h byte 222 tính checksum cho byte 128–221; các trang 01h, 02h và 04h mang một checksum trang ở byte 255 (Checksum). Mật khẩu (122–125) và các cơ chế mở khóa của nhà sản xuất nằm ngoài phạm vi đặc tả — Mã hóa lại EEPROM.

Hỗ trợ từ phía host

Các hệ điều hành mạng triển khai CMIS 4.0 và 5.x ở mức độ sâu khác nhau: một số điều khiển đầy đủ luồng ứng dụng/luồng dữ liệu, số khác chỉ thả LPMode rồi trông đợi module tự khởi động. Sự khác biệt này đứng sau phần lớn các ticket kiểu “nhận diện được nhưng không bao giờ sẵn sàng” — Sự cố CMIS, Host làm gì.

Trong CodingBox

CodingBox phát hiện CMIS qua byte mã nhận dạng và phiên bản, đọc bộ nhớ dưới, các trang 00h, 01h, 02h và các trang làn theo bank, giải mã bộ mô tả ứng dụng theo SFF-8024, hiển thị trạng thái module và luồng dữ liệu cùng giám sát theo từng làn trên DDM, và chỉnh sửa thông tin nhận dạng với checksum trang được tính lại trong EEPROM editor. Các thao tác firmware qua CDB là riêng của từng nhà sản xuất và nằm ngoài phạm vi của trình chỉnh sửa.

Bảng ở mức thanh ghi: Bản đồ trang dưới, Bản đồ các trang trên 00h/01h/02h, Bản đồ các trang làn 10h/11h, VDM, CDB.


Nếu bạn phát hiện thông tin chưa chính xác hoặc lỗi trong bài viết này, hãy chọn đoạn liên quan và nhấn Ctrl+Enter để .