第5章 管理接口命令集 - 页码89
你现在已经进入 NVMe-MI 2.0 规范中第 5 章管理命令集(Management Interface Command Set)的核心部分——命令列表及支持矩阵。我们来逐步、深入分析帮助你建立清晰的认知结构。
🧩 图 68:命令集 Opcode 列表
这张表是所有 NVMe-MI 命令的“命令码”清单,每个命令都具有唯一的 Opcode(操作码):
Opcode | 命令名 | 说明 |
---|---|---|
00h |
Read NVMe-MI Data Structure | 读取设备支持的数据结构 |
01h |
NVM Subsystem Health Status Poll | 查询 NVM 子系统健康信息 |
02h |
Controller Health Status Poll | 查询 Controller 健康信息 |
03h |
Configuration Set | 设置配置项 |
04h |
Configuration Get | 获取配置项 |
05h |
VPD Read | 读取 VPD(Vital Product Data) |
06h |
VPD Write | 写入 VPD |
07h |
Reset | 对组件执行软复位 |
08h |
SES Receive | 接收 SES(SCSI Enclosure Services)数据 |
09h |
SES Send | 发送 SES 数据 |
0Ah |
Management Endpoint Buffer Read | 从管理端点缓冲区读取 |
0Bh |
Management Endpoint Buffer Write | 写入管理端点缓冲区 |
0Ch |
Shutdown | 发起关机流程 |
0Dh–BFh |
保留 | |
C0h–FFh |
厂商自定义命令 |
✅ 图 69:使用 Out-of-Band 通道时的命令支持情况
每个命令都有不同的支持情况,对应设备为: - NVMe Storage Device(SSD 等) - NVMe Enclosure(例如 U.2/U.3 背板)
表中标识如下: - M = Mandatory(必须支持) - O = Optional(可选) - P = Prohibited(禁止支持) - 注释数字 = 特定条件(下面解释)
命令 | NVMe 存储设备 | NVMe Enclosure | 注释说明 |
---|---|---|---|
Read NVMe-MI Data Structure | M | M | - |
NVM Subsystem Health Poll | M | O³ | Enclosure 不一定有完整 NVM 视角 |
Controller Health Poll | M | O³ | 同上 |
Configuration Set | M | M² | 如果设备实现了配置结构 |
Configuration Get | M | M² | 同上 |
VPD Read | M | O³ | 可选 |
VPD Write | O | O³ | 可选 |
Reset | O | O³ | 可选,部分厂商支持 |
SES Receive | P | M | 存储设备禁止支持,Enclosure 必须支持 |
SES Send | P | M | 同上 |
Shutdown | O | O³ | 可选 |
Mgmt Buffer Read | O | M | Enclosure 推荐支持 |
Mgmt Buffer Write | O | M | 同上 |
📌 注释说明
- ¹ O/M/P = Optional / Mandatory / Prohibited
- ²:如果配置项存在,则必须支持 Configuration Set/Get
- ³:设备可根据自身能力选择是否支持
🔎 学习建议
- 掌握 Opcode 与命令语义:牢记 0x00 到 0x0C 的命令及作用,将来遇到通信协议、调试工具日志时能快速判断是什么操作。
- 关注设备类型差异:命令支持情况不同,要根据设备类型判断命令是否可用。
- 结合 Section 5.x 深读每个命令细节:后面小节会介绍每个命令的字段、流程和异常情况处理。
接下来你是否想从 00h: Read NVMe-MI Data Structure
开始,逐条逐字段精讲每个命令的格式与交互流程?我可以按你的节奏逐步带你拆解理解。需要我继续深入第一个命令的细节吗?