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

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

Blog Author

继续深入分析 AE Occurrence ListAE SyncController Health Status Poll 命令的处理逻辑。


AE Sync 和 AE Arm 机制

AE Sync 过程中,当管理端点收到 Configuration Set 命令并在 AE Armed State 下执行时,将会:

  1. 处理 AE Occurrence List

    • AE Occurrence List Body 将仅包含 AE Occurrence 数据结构,这会指示 AE 在 AE Disarmed State 下的状态。
    • 若在 AE Armed State 中有启用的 AE,会将其当前状态填充到 AE Occurrence Specific InfoAE Occurrence Vendor Specific Info 字段。
  2. AE Arm

    • AE Enable List 中的每个 AE,会根据 AE Enable 数据结构 中的 AE Enable 位进行启用或禁用。
    • 这一步骤是原子操作,确保管理端点将每个支持的 AE 配置正确。
  3. AE Arm 触发

    • 如果配置命令使得 AE Occurrence List Overflow 位 被清除为 0,将触发 AE Arm,这将导致管理端点进入 AE Armed State,以便处理和同步已启用的 AE。

Controller Health Status Poll 命令

Controller Health Status Poll 命令用于检测 NVM Subsystem 中一个或多个控制器的健康状态变化。这个命令基于不同的选择标准,返回零个或多个 Controller Health 数据结构。此命令在两种机制下的行为如下:

  1. Out-of-Band 机制
  2. 对于 NVMe Storage DeviceNVMe Enclosure,它将为每个管理端点和控制器分配独立的 Controller Health 数据结构和 Controller Health Status Changed Flags 字段。
  3. 在此机制下,Controller Health Status Poll 命令只对与该管理端点相关的 Controller Health 数据结构Controller Health Status Changed Flags 字段有效。

  4. In-Band Tunneling 机制

  5. 在此机制下,每个控制器都会有独立的 Controller Health 数据结构和 Controller Health Status Changed Flags 字段。
  6. 此命令仅适用于发出请求的控制器实例。

Controller Health Status Poll 命令格式

Controller Health Status Poll 命令使用 NVMe Management Dwords 0 和 1 字段。具体格式如下:

NVMe Management Dword 0 (图 94)

字段 描述
Port Identifier (PORTID) 指定哪个端口的控制器健康状态被查询。
Reserved 保留字段。
Configuration Identifier (CID) 指定配置的标识符。

NVMe Management Dword 1 (图 95)

字段 描述
Reserved 保留字段。
Controller Health Status Flags 控制器健康状态标志,指示控制器是否发生状态变化。

总结:

  • AE Sync 和 AE Arm 机制:确保异步事件(AE)的同步和管理,包括启用、禁用和事件状态的同步处理。
  • Controller Health Status Poll 命令:帮助监控和查询控制器的健康状态,无论是在 out-of-band 机制还是 in-band tunneling 机制下,都能高效地查询和响应控制器的健康变化。
  • 管理端点 根据不同机制(out-of-band 或 in-band)分别独立处理控制器健康状态数据,确保每个控制器的健康状态与管理端点一致。

这些机制共同确保了 NVM Express 系统中管理接口的健康、状态变化和异步事件的高效处理。