数据结构读取与响应格式 - 页码121
继续分析 《NVM Express® Management Interface Specification, Revision 2.0》 中的 NVM Subsystem Information Data Structure 和 Port Information 数据结构。
🔹 Figure 112: NVM Subsystem Information Data Structure
| 字节 | 描述 |
|---|---|
| 03 | NVMe-MI NVM Subsystem Capabilities (NNSC): 此字段指示 NVM 子系统的 NVMe-MI 能力。 |
| 7:1 | 保留 |
| 0 | Status Reporting Enhancements (SRE): 如果支持状态报告增强功能,则该位设置为 1。如果不支持,则保留。版本要求:符合 1.2 版本及以后的实现应设置该位为 1。状态报告增强功能包括以下内容:• 在 Get State Control Primitive 中,NVM Subsystem Reset Occurred 仅在未激活新固件映像时设置,以符合该规格的行为。• 在 Controller Health Status Poll 命令中,设置 Clear Changed Flags 位为 1,还将清除 Namespace Attribute Changed 和 Firmware Activated 位。• Controller Enable Change Occurred 位已从状态位更改为指示控制器当前是否启用的位。• 当 Controller Health Status Changed Flags 字段中的相应位发生状态变化(无论是从 0 变为 1 还是 1 变为 0)时,设置以下位:- Controller Enable Change Occurred- Critical Warning- Controller Status Change- Controller Fatal Status |
| 31:04 | 保留 |
🔹 版本号字段 (Figure 113)
| 规格版本 | MJR 字段 | MNR 字段 |
|---|---|---|
| 1.0 | 1h | 0h |
| 1.1 | 1h | 1h |
| 1.2 | 1h | 2h |
注:该规格版本包含字母版本(例如,1.0 包括 1.0 和 1.0a,1.1 包括 1.1 和 1.1a 至 1.1d,等等)。
🔹 Figure 114: Port Information Data Structure
Port Information 数据结构包含关于 NVM 子系统内端口的信息。它的格式由 Port Identifier 字段和 Controller Identifier 字段指定,后者在这个命令中是保留的。
- Port Identifier (PORTID): 指定要返回信息的端口。
- Controller Identifier (CTRLID): 在此命令中,该字段保留。
数据结构可能包含的字段(假设继续展开):
- 端口的健康状况
- 端口的传输速率和状态
- 与端口相关的硬件信息
🧠 分析总结
- SRE(Status Reporting Enhancements) 功能在版本 1.2 及以后对健康状态的报告进行了增强,尤其是在控制器健康状态、命令报告等方面。这为设备的可靠性、故障检测、恢复等方面提供了更多的信息。
- 版本号字段 明确了支持的版本。这个字段对于软件/固件的兼容性检查至关重要。
- Port Information Data Structure 中的 Port Identifier 和 Controller Identifier 字段帮助系统识别和定位子系统中的具体端口和控制器。这是端口健康检查和管理命令中不可或缺的一部分。
如果你有其他特定部分或具体命令需要进一步探讨,请告诉我,我们可以继续深入分析。