第5章 管理接口命令集 - 页码96
深入分析 Health Status Change (Configuration Identifier 02h)
Health Status Change 配置项用于清除 Composite Controller Status Flags 字段中选定的状态位。这个配置项的主要作用是在 Health Status Poll 命令中,报告与 NVM 子系统相关的健康状态和事件,并允许清除那些已经发生的事件状态。
✳️ 功能描述
- Composite Controller Status Flags 字段用于报告发生的健康和状态事件,这些事件与 NVM 子系统相关。
- 当这些状态位被设置为
1
时,它们将一直保持为1
,直到通过请求者的命令或者通过复位操作清除为0
。 - Configuration Set 命令用于清除 Composite Controller Status Flags 中选择的位。
✳️ 命令操作
- Configuration Set命令:
- 该命令允许请求者选择要清除的状态位,并将它们设置为
0
。 -
对于 Health Status Change Configuration Identifier (02h),它将作用于 NVMe Management Dword 1 字段的 Composite Controller Status Flags。
-
独立实例:
- 每个 Management Endpoint 和每个 Controller 在 out-of-band 和 in-band 机制下都有一个独立的 Composite Controller Status Flags 字段实例。
- 在 out-of-band 机制下,命令只会影响与之相关的 Management Endpoint。
- 在 in-band 机制下,命令只会影响与之相关的 Controller。
✳️ 命令结构
-
NVMe Management Dword 0 字段:
-
Reserved 字段占用 31:08 位,不使用。
- Configuration Identifier (CID) 字段用于标识正在写入的配置标识符,该值为
02h
,即 Health Status Change 配置项。
Health Status Change 命令的作用和响应
- 配置命令的作用:
-
配置命令允许请求者清除与健康状态相关的状态位,通常这些位是通过 Health Status Poll 命令中的 Composite Controller Status Flags 字段报告的。
-
响应:
- 成功的配置命令会清除 Composite Controller Status Flags 字段中选定的位,并返回 NVMe Management Response。
示例: 假设在 Composite Controller Status Flags 字段中的某些健康状态位被设置为 1
,通过 Configuration Set 命令,我们可以清除这些状态位,以确保它们被重新初始化。
✳️ 总结
- Health Status Change 配置项:
-
这个配置项用于清除状态标志中的健康状态信息,特别是涉及 NVM 子系统的 Composite Controller Status Flags。
-
配置命令的运作:
- 命令作用于 Management Endpoint 或 Controller 上的独立状态字段。
-
NVMe Management Dword 0 字段中包含 CID,用来标识该命令的配置标识符。
-
命令的响应:
- 成功时,相关的健康状态标志位被清除。
如果您需要进一步探讨其他部分或者需要更多的示例,请随时告诉我!