电子说
在NVMe协议中,专门定义了一套Admin Command Set用于对NVMe SSD进行管理,但这套管理命令集走的是带内通道,整个带内通道打通需要主机和盘两边的硬件与软件共同配合完成,任意一个环节出问题都可能导致此路不通,这套管理命令集也就成了摆设。而不管是AIC或者U.2的盘,硬件接口上都保留了SMBus管脚,这样主机和盘之间就能通过带外通道进行通信,因此通过带外通道对盘进行一些基本管理是一个非常好的选择,既不需要带内通道那么复杂的依赖关系,又能和数据业务分离。
随着NVMe SSD的发展至今,当前NVMe SSD的带外管理总共有4种机制,在《Enterprise SSD Form Factor》和《NVM Express Management Interface》里面定义。
1)VPD
每个盘都有一个FRU信息设备用来保存盘的基本信息,普遍是一个eeprom器件,器件里面保存的信息就是VPD(Vital Product Data),在不同规范里面信息定义的格式不一样,但里面主要都是盘的厂商信息,SN和MN这些出厂信息。NVMe-MI协议VPD格式遵循IPMI平台管理FRU信息存储定义,推荐使用NVMe-MI协议定义的格式。
图一:《Enterprise SSD Form Factor》VPD 格式定义
图二:NVMe-MI协议VPD格式定义
2)温度传感器
主机可通过带外从传感器直接获取盘的温度信息,用于辅助主机管理,主要是防止高温对盘造成故障。
3)NVMe Basic Management Command
这个方式是主机作为master,盘作为slave进行数据交互完成的。首先主机给盘下发一个CmdOpcode,然后再向盘发起SMBus Read,盘收到读请求后根据协议定义按照Opcode返回数据给主机。这种方式最大支持256个字节的数据,协议定义了前32字节,主要包括critical warning,temperature,PDLU,SN这些信息。后面字节用于厂商自定义,但扩展性依旧比较差,在最新的NVMe-MI协议中也明确不推荐该方式,建议舍弃。
4)NVMe MI Command
为了大一统带外管理,协议标准制定者们基于MCTP协议定义了一套完整的带外管理协议,即NVMe-MI协议。NVMe-MI协议定义了一套类似于NVMe命令集的管理接口命令,功能更全,扩展性强,甚至还可以模拟发送NVMe Admin Cmd和PCIe Cmd。
图三:NVMe-MI协议管理接口命令集
根据NVMe SSD的发展趋势来看,NVMe-MI协议将会逐步成为NVMe SSD带外管理的标准。能够给主机端提供更多样,更可靠的管理机制,尤其适用于服务器厂商的BMC硬盘管理。
Dapustor的Haishen 系列NVMe SSD对于前述4种带外管理机制已经全部支持,能在各大服务器厂商的BMC服务器上完美显示。
原文标题:NVMe SSD 带外管理
文章出处:【微信公众号:大普微】欢迎添加关注!文章转载请注明出处。
责任编辑:haq
全部0条评论
快来发表一下你的评论吧 !