在最新發(fā)布的 PBlaze5 520 低功耗系列 NVMe SSD中,有一個全新功能——NVMe-MI接口的帶外管理,這是從PBlaze5 520系列最新增加的功能,那么這個帶外管理指的是什么,又怎么實現(xiàn)呢?
關(guān)于NVMe-MI接口的帶外管理,這段故事源于 PCIe 產(chǎn)品的兩個引腳 SMClk 和 SMDat,實現(xiàn)規(guī)范是 SMbus。
圖示1來源于《Enterprise SSD Form Factor Version1_a》里面SFF8639 的引腳說明
圖中左下角標(biāo)注的顏色指示這對引腳是 optional 的,可以實現(xiàn)也可以不實現(xiàn),但是對于企業(yè)級的產(chǎn)品這是有必要實現(xiàn)的(The Enterprise PCIe SSD should support SM-Bus operation)。
依據(jù)《Enterprise SSD Form Factor Version1_a》 (SFF Spec),SMbus 提供了兩個層面的功能,一種初級功能是對盤內(nèi) vpd 的讀寫,這個功能在 3.3Vaux 或主電源存在的時都可用。對于企業(yè)倉庫管理,如果主板帶電但是主機未開機,管理人員可以遠程通過BMC檢查盤的靜態(tài)信息,如 SN、MN、電源需求等;另一種高級功能是基于 MCTP-over-SMbus 協(xié)議之上的管理功能,(此 spec 未做更多解釋),此功能在主電源存在時可用。
Server 的 BMC 系統(tǒng)可以通過 SMBus/I2C 與 NVMe SSD 通信
依據(jù)另一份規(guī)范《NVM Express Management Interface 1_0a》(NVMe MI),利用 SMbus 可以來處理基礎(chǔ)的管理命令(主要的一項就是對于 Subsystem Management Data Structure 的監(jiān)控),還可以處理基于 MCTP 的相關(guān)請求。
可以看出兩套協(xié)議都對 MCTP 有所涉及,那基于 MCTP到底能做什么呢?
按照 NVMe MI,它可以提供如下指令集合:
NVM Express Admin Command Set
Management Interface Command set
PCIe Command Set (optional)
NVM Express Management Enhancements
具體到每個命令集合里面又分為了 mandatory 和 optional 部分,舉個例子,對于 NVM Express Admin Command Set,mandatory 的命令包括 Get Feature、Get Log Page、Identify,optional 的命令包括 firmware activate、firmware image download、Format NVM、Namespace Management、Namespace Attachment、Security Send、Security Receive、Set Feature 還有 Vendor Specific 部分。
利用這些 admin 命令,管理者就可以遠程獲取 NVMe 設(shè)備的信息、配置參數(shù)或者利用 Vendor Specific 部分實現(xiàn)特定功能的監(jiān)控。比如主機開機的情況下,無需登錄主機就可以升級固件, 再配合 Activate firmware without reset 就可以支持遠程升級了。實現(xiàn)了這部分接口,可以做的事情還有很多,不過需要注意到很多 optional 命令有一些潛在的安全風(fēng)險,實現(xiàn)起來可能需要配合一些措施保證數(shù)據(jù)的安全性,畢竟數(shù)據(jù)領(lǐng)域安全第一。
從企業(yè) IT 系統(tǒng)運維的角度講,帶外管理提供了一套獨立于主機系統(tǒng)的管理方案,能夠配合服務(wù)器 BMC 系統(tǒng),高效實現(xiàn) NVMe 設(shè)備監(jiān)控、管理及升級等工作。
看起來實現(xiàn)這些功能是有必要的,那需要怎么實現(xiàn)呢?
圖示2來自《NVM Express Management Interface 1_0a》
上圖中可以看出 NVMe MI 協(xié)議是可以基于 SMBus/I2C 或者 PCIe VDM 來實現(xiàn)的。
從左側(cè)的 SMBus/I2C 這邊路徑來說,固件要實現(xiàn) DSP0237 MCTP over SMBus/I2C Binding、DSP0236 MCTP Base Specification 和前面說到的 NVMe MI 1.0a(或者最新版NVMe MI 1.1)。基于 PCIe VDM 這部分的實現(xiàn)略微有點復(fù)雜,不在此介紹。
結(jié)合上面兩個原理圖,我們模擬了一個 BMC 系統(tǒng)向一塊 Memblaze 某系列 NVMe SSD 發(fā)了一條獲取 NVMe-MI 數(shù)據(jù)結(jié)構(gòu)的命令。我們節(jié)選了部分結(jié)果,首先是 BMC 和 SSD 之間傳輸?shù)臄?shù)據(jù),如下圖。
整個過程有發(fā)數(shù)據(jù)和接收數(shù)據(jù)兩個階段,兩者都可以根據(jù)協(xié)議解析出來。下面就是命令返回數(shù)據(jù)的解析:
上圖可以看到返回數(shù)據(jù)又包含 NVMe-MI 的 Header 信息和 NVMe-MI Data Structure 信息(這部分是我們想要的返回結(jié)果)。
到這我們就從物理引腳、系統(tǒng)構(gòu)成、技術(shù)原理及命令結(jié)果幾個角度解讀了 NVMe-MI 相關(guān)知識。那如果開發(fā)完相關(guān)功能怎么測試呢?
可以考慮三種方式:第一種是采購業(yè)內(nèi)的 SSD 測試模組外包測試;第二種是跟 Server 廠商關(guān)系牢靠,Server 廠商提供 BMC 的接口或者設(shè)備聯(lián)合測試;第三種是自研相關(guān)的硬件設(shè)備并設(shè)計測試用例來驗證。總體而言測試需要考慮上面的 DSP0237、DSP0236、NVMe MI 三種規(guī)范來驗證,最后放一張 NVMe-MI 兼容性的測試大綱。
圖示3來自UNH-IOL_NVMe-MI_Conformance_Test_Suite_v12.0
(本文作者:Memblaze-測試開發(fā)部經(jīng)理任玉峰)
責(zé)任編輯:PSY
原文標(biāo)題:SSD將被遠程控制?NVMe-MI接口的帶外管理
文章出處:【微信公眾號:ssdfans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
接口
+關(guān)注
關(guān)注
33文章
8886瀏覽量
153005 -
IT
+關(guān)注
關(guān)注
2文章
881瀏覽量
64073 -
低功耗
+關(guān)注
關(guān)注
10文章
2659瀏覽量
104408
原文標(biāo)題:SSD將被遠程控制?NVMe-MI接口的帶外管理
文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Xilinx FPGA NVMe Host Controller IP,NVMe主機控制器
Xilinx FPGA NVMe主機控制器IP,高性能版本介紹應(yīng)用
Xilinx FPGA高性能NVMe SSD主機控制器,NVMe Host Controller IP
高性能NVMe主機控制器,Xilinx FPGA NVMe Host Accelerator IP
高性能NVMe主機控制器,Xilinx FPGA PCIe 3
NVME控制器設(shè)計1
NVME控制器之隊列管理模塊
在Xilinx ZCU102評估套件上啟用NVMe SSD接口
為什么安卓使用的是UFS,而蘋果則是NVME呢?
如何為工業(yè)應(yīng)用設(shè)計NVMe SSD呢
基于 NVMe 接口的帶 exFAT 文件系統(tǒng)的高速存儲 FPGA IP 核演示
NVMe協(xié)議中對NVMe SSD進行管理的Admin Command Set

在ZCU102評估套件上實現(xiàn)NVMe SSD接口的解決方案
DERA D7400系列NVMe SSD成為首款NVMe-MI 1.2認證產(chǎn)品

評論