本文分享自天翼云開發者社區《服務器通用背板管理(UBM)實作》,作者: 乘風
一 UBM概述
通過SGPIO 進行 SAS 和 SATA 背板管理的 SCSI 機箱服務 (SES) 標準于 2003 年首次推出,該規范提供主機控制 LED,并允許主機檢測槽位和已安裝驅動器的存在,以及槽位編號方案,該規范提供了驅動器活動和故障指示,同時控制器可以通過協議自動識別設備型別、分支和速度, SGPIO 自 2006 年以來一直保持不變,此后,許多創新增加了背板管理的復雜性,超出了 SES 和 SGPIO 的能力,
現代存盤產品包括多通道驅動器和第三種驅動器協議,即 NVMe,為了確保相同級別的存盤功能,需要更智能的背板,這種需求產生了通用背板管理 (UBM) 標準,
Universal Backplane Management (UBM)為主機提供了一個通用背板管理框架,以確定 SAS/SATA/PCIe 背板功能、Drive Facing Connector (DFC) 狀態和控制資訊,并讀取背板的面向驅動器的連接器(DFC)到面向主機的連接器Host Facing Connector (HFC) 的埠路徑,
采用 UBM 標準可實作背板管理的兩個關鍵方面:
在服務器內構建一套完全可互換的背板,無論背板與主機的介面或背板支持的介質如何變化,在各種存盤架構中使用 UBM 是通用的,它可以避免手動配置的復雜性和錯誤配置的成本,
能夠創建支持驅動器槽位內完全可互換的存盤介質型別的背板,包括在系統運行時在 NVMe 和 SAS/SATA 之間進行切換,
二 UBM組成
UBM 可用于在單個驅動器機架中創建支持所有三種協議的 SAS/SATA 背板、NVMe 背板或組合背板, 同樣,UBM 規范可用于帶有 SAS/SATA 擴展器和 PCIe 開關的背板,UBM 使支持 UBM 的主機(例如 CPU、RAID 或 HBA 卡或其他存盤控制器)能夠準確了解背板的功能,以及感知驅動器型別和存在,
UBM 系統的組件由 FRU 和 UBM 控制器組成,它們通過 2 線介面連接到主機,
2.1 2線介面
UBM使用邊帶信號定義SAS,其他的標準定義使用2線模式,服務器主板的BMC提供到背板的2Wire主介面,可以實作對于背板的統一管理和遠程控制,韌體更新等功能,2Wire主介面定義 了UBM 背板管理功能和主機到背板的埠通路資訊,該2Wire主介面會與背板上的UBM 控制器2Wire從介面和UBM FRU 2Wire介面互聯,UBM 控制器2Wire從介面,提供背板點燈功能和 DFC 狀態和控制描述符,連接到同一個 2Wire從介面的 UBM FRU 為一個NVRAM,實作了一個格式化的IPMI FRU ,同時,為了支持PCIE設備,例如NVME SSD硬碟,該2wire介面還會連接到MUX bridge,用于2wire介面擴展,以實作同一2wire介面管理多個PCIe SSD設備,
2.2 UBM FRU
提供將背板識別為支持 UBM 的子系統的方法,并通過 2 線介面連接到主機,UBM FRU 是具有 IPMI FRU 格式內容的 256 位元組只讀 NVRAM,負責上報靜態背板資訊,使用單位元組 2Wire 尋址,
定義主機創建訪問映射的埠路徑資訊描述符,該訪問映射由面向驅動器的連接器 (DFC)、埠鏈路寬度、面向主機的連接器 (HFC) 和 HFC 起始通道組成,
指定連接到 HFC 的 UBM 控制器的 2 線地址,允許存盤控制器訪問,
2.3 UBM控制器
負責管理面向驅動器的連接器 (DFC),通過 2 線接受預先確定的命令序列,可分為以下幾類:
控制器狀態和身份:報告命令和控制器狀態,
背板功能:反映 UBM 控制器實作支持的功能,
面向驅動器的連接器狀態:允許 UBM 控制器報告每個面向驅動器的連接器中“安裝了什么”的關鍵功能,
定義 PCIe 參考時鐘預期、PCIe 復位預期、PwrDIS 信號支持和雙埠支持,
背板 UBM 控制器韌體更新
三 UBM操作
3.1 驅動器檢測
驅動器型別識別是通過從驅動器中采樣 PRSNT#、IFDET# 和 IFDET2# 引腳來執行的, 這些引腳的值通過 DFC 狀態和控制描述符命令報告給主機, 驅動器引腳狀態與背板映射資料結合使用,允許將適當的配置應用于連接到該驅動器的存盤控制器 PHY,
3.2 埠分叉
支持從面向主機的連接器到面向驅動器的連接器的 x4 或 x2 連接的背板可分別重新用作 x2 或 x1 背板, 這是使用埠分叉欄位完成的, 當從主機連接到背板的電纜不再直接映射,而是連接每個驅動器只有一條鏈路時,背板將以 DFC 的寬度分為兩部分運行, 通過使用埠分叉欄位,可以在兩種配置中使用單個背板,從而減少所需的背板 SKU 數量,
3.3 LED 和電源控制
LED 和電源控制是使用 SES 陣列設備元素欄位執行的,類似于 SAS 擴展器, 主機可以通過 UBM 控制器的 2 線介面請求以下操作:
禁用電源
燈識別 LED
顯示“重建”LED 模式
顯示“失敗的陣列”LED
如果LED 閃爍模式超出了 UBM 規范的范圍,可以遵循 IBPI 規范 SFF-8489,對應于主機與 UBM 控制器介面發出的信號,
3.4 復位、REFCLK 控制
FRU 通過定義以下內容來定義背板和主機之間的狀態和控制信號介面:
PCIe 參考時鐘預期
PCIe 重置預期
PwrDIS 信號支持
雙埠支持(如果適用)
3.5 通過 BP_TYPE 支持 SGPIO
BP_TYPE 信號指示背板是否支持 SGPIO 或 2 線介面, 使用信號的狀態,主機可以確定它是應該使用 SGPIO 還是繼續進行 UBM 發現,
3.6 維護
UBM 規范允許通過 UBM 控制器韌體更新程序更新控制器代碼,
四 UBM實作示例
UBM可以實作HFC通過x1、x2、x4或其它lane帶寬連接多個DFC,還可以支持多個面向主機的連接器,但是,對于同一背板,UBM 控制器實作應在同一背板內提供唯一的面向主機的連接器標識欄位,指示相同的背板編號欄位, 多個面向主機的連接器不應將其 2Wire 介面與其他面向主機的連接器 2Wire 介面互連,
下圖的 UBM 系統部署視圖顯示了主機(例如,配接器、PCIe 交換機、SAS 擴展器)和背板之間的連接關系, 服務器機箱內可以只有一個背板,也可能存在多個背板, 支持直接連接主機或存盤控制器的 U.2 NVMe 和 SAS/SATA,每個面向主機的連接器支持兩個 x4/x2/x1 U.2 NVMe 驅動器或 4 個 x1 SAS/SATA 驅動器,UBM 控制器位于背板上,用于管理來自驅動器的控制和狀態信號,高速電纜和邊帶 I/O 信號用于與背板通信,UBM FRU 應在 0xAE 的固定 8 位地址上進行 2Wire 尋址, UBM FRU 提供主機與底板上的 UBM 控制器通信所需的 UBM 控制器 2Wire 地址,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/550015.html
標籤:其他
下一篇:三分鐘完成靜態網站托管
