NVMe-MI协议深度解析:实现原理与MI报文结构详解
创作时间:
作者:
@小白创作中心
NVMe-MI协议深度解析:实现原理与MI报文结构详解
引用
1
来源
1.
https://picture.iczhiku.com/weixin/message1599102053308.html
NVMe-MI(NVMe Management Interface)协议是NVMe协议的重要补充,它提供了一种独立于NVMe协议的管理接口,使得即使在SSD出现故障时,也能通过另一条路径获取SSD的状态信息。本文将从宏观角度解读NVMe-MI协议的实现原理,并详细解析MI报文的结构。
知道NVMe-MI的作用后,我们先从宏观角度看一下它是怎么实现的。与NVMe协议不同,NVMe-MI协议是通过MCTP协议进行传输,同时底层物理层支持PCIe或者SMBus/I2C,本文后续默认物理层都是SMBus/I2C。物理层使用I2C的好处就是和NVMe协议完全隔离,即使SSD在NVMe看来是故障的,还能有另外一条路径查看SSD状态。
从整个协议栈我们可以看出一次完整的MI命令执行过程:
- Host将想要发送的命令按照MI的协议规范组成MI报文;
- 将MI报文当作MCTP的数据封装为MCTP报文;
- 完整的MCTP报文通过I2C链路发给SSD;
- SSD收到MCTP报文后,解封MCTP报文得到MI报文;
- 解析MI报文后获取发送消息,然后将要回复的数据按照MI协议规范组成MI报文;
- 再将回复MI报文当作MCTP的数据封装为MCTP报文;
- 再将MCTP报文通过I2C链路发送给Host;
- Host解封MCTP报文,再解析MI报文获取回复消息。
图1:NVMe-MI协议执行流程示意图
在整个过程中,我们具体来看一下MI报文,这是属于MI协议范畴,过程中涉及的MCTP协议,I2C协议可自行查看相关协议文档。
一个完整MI报文分为3部分,Header,Data和IC(Integrity Check)
Header:总共4个字节,主要指明该MI消息的类型;
Data:MI消息的具体数据,数据格式和大小因Header里面指明的类型不同而不同;
IC:总4个字节,Header和Data的CRC校验值,使用的是CRC-32C算法。
图2:MI报文结构示意图
热门推荐
闽台东石灯俗:宫灯细述两岸情
文化中国行|福州:传统非遗的“新势力”
外卖小哥当起监督员 齐抓共管之下如何让外卖更安全、更卫生?
新鲜鸡肉怎么保存?冰箱冷藏冷冻有讲究
太空狼人杀:如何在游戏中运用星际通信官的技能进行危机沟通?
最新研究揭示个人基因如何塑造性格特征
在日本旅行时便捷Wi-Fi连接的完整指南
历史上真实的司马光:北宋杰出的政治家、史学家
玻璃离子和树脂补牙哪个好?对比材质/性能/维持时间/价格便知
常见三大补牙材料及作用详解:玻璃离子、树脂、合金补牙材质及价格分享
林高远对阵张本智和:亚洲杯生死战,能否突破心理瓶颈?
指压板超慢跑“很痛但有用”?医生:有益,但需循序渐进!
【中草药科普】每天认识一味中草药-泽兰
创新美食:糖炒栗子融入家常菜的妙招与美味食谱
美媒评出NBA最伟大的10个球衣号码,并选出最佳阵容,23号排第二
多肉植物常见疾病及解决方案
天突穴的功效与作用是什么
西北工业大学开设哪些艺术类专业 什么专业前景好
裂纹舌的日常护理与治疗
马达加斯加的自然资源:玉髓及其他矿物资源分布情况探索
亲人离世后怎样处理心理问题
治疗牙周炎的牙膏
減敏與反向條件訓練 — 到底哪個是適合我的訓練方法?
雍和宫:探秘京城东北角的佛教圣地
深入探讨关联关系在数据分析中的重要性与应用
保密协议的关键条款有哪些
商业保密协议违约责任怎么约定的
数据量达五百TB,涵盖十五亿多天体,最详细银河系红外图出炉
天文学家基于LAMOST和Gaia数据发布首幅银河系全天三维尘埃消光规律图
2024年全国节能宣传周丨节能减排,从你我做起!