数据结构读取与响应格式 - 页码121
NVMe-MI 1 min read

数据结构读取与响应格式 - 页码121

Blog Author

继续分析 《NVM Express® Management Interface Specification, Revision 2.0》 中的 NVM Subsystem Information Data StructurePort 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 ChangedFirmware 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 IdentifierController Identifier 字段帮助系统识别和定位子系统中的具体端口和控制器。这是端口健康检查和管理命令中不可或缺的一部分。

如果你有其他特定部分或具体命令需要进一步探讨,请告诉我,我们可以继续深入分析。