第5章 管理接口命令集 - 页码96
NVMe-MI 1 min read

第5章 管理接口命令集 - 页码96

Blog Author

深入分析 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 中选择的位。

✳️ 命令操作

  1. Configuration Set命令:
  2. 该命令允许请求者选择要清除的状态位,并将它们设置为 0
  3. 对于 Health Status Change Configuration Identifier (02h),它将作用于 NVMe Management Dword 1 字段的 Composite Controller Status Flags

  4. 独立实例:

  5. 每个 Management Endpoint 和每个 Controllerout-of-bandin-band 机制下都有一个独立的 Composite Controller Status Flags 字段实例。
  6. out-of-band 机制下,命令只会影响与之相关的 Management Endpoint
  7. 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 命令,我们可以清除这些状态位,以确保它们被重新初始化。


✳️ 总结

  1. Health Status Change 配置项
  2. 这个配置项用于清除状态标志中的健康状态信息,特别是涉及 NVM 子系统的 Composite Controller Status Flags

  3. 配置命令的运作

  4. 命令作用于 Management EndpointController 上的独立状态字段。
  5. NVMe Management Dword 0 字段中包含 CID,用来标识该命令的配置标识符。

  6. 命令的响应

  7. 成功时,相关的健康状态标志位被清除。

如果您需要进一步探讨其他部分或者需要更多的示例,请随时告诉我!