异步事件机制与AE数据结构 - 页码84
NVMe-MI 1 min read

异步事件机制与AE数据结构 - 页码84

Blog Author

我们继续深入分析 NVM Express® Management Interface Specification, Revision 2.0 第 85 页 的内容,主要关注以下两大核心:


✅ 一、Figure 63(续):AE(异步事件)列表后半部分解析

这部分补充了 AE Identifier 为 09hFFh 的事件类型,并描述了其作用范围、触发条件及相关数据字段。

AE Identifier Scope AE 名称 触发条件(启用时)
09h NVM Subsystem SMART Warnings 任一控制器的 Critical Warning 状态发生变化
参考字段:SMART / Health Info Log – Critical WarningNVM Subsystem Health – SMART Warnings
0Ah Controller or NVM Subsystem Telemetry Controller-Initiated Data Available 代表遥测(Telemetry)日志已生成。
参考字段:Telemetry Controller-Initiated Data Available 位于 Controller Health 与 NVM Subsystem Health 中。
0Bh Port PCIe Link Active PCIe 链路的活动状态变化。
状态参考:NVM Subsystem Health 的 Port 0/1 PCIe Link Active 位。
🔸 需设置 AE Occurrence Port Type 位为 1,以标明 AE 发生在哪个 NVMe-MI 端口。
0Ch NVM Subsystem Sanitize Failure Mode 擦除(Sanitize)失败状态发生变化。
参考字段:Sanitize Failure Mode 位于 NVM Subsystem Health 数据结构中。
0Dh - BFh - 保留(Reserved) 预留字段,未来扩展使用。
C0h - FFh - 厂商自定义(Vendor Specific) 保留给厂商定义 AE 类型与结构,配合自定义的 Occurrence Info 解析。

✅ 二、Figure 64:AE Occurrence Scope ID Info 字段格式

此字段用于描述 AE 的作用范围(Scope)内的具体标识,例如:哪一个命名空间、控制器或端口发生了事件。

👇 解析如下:

① Namespace 作用域 (Scope = 0h)

  • 字段名AE Occurrence Namespace ID (AEONSID)
  • 位宽:32 bits
  • 说明:指明触发事件的 Namespace 的 NSID。

② Controller 作用域 (Scope = 1h)

  • 字段名AE Occurrence Controller ID (AEOCID)
  • 位宽:低 16 位有效,高 16 位保留
  • 说明:指明触发事件的 Controller 的 ID。

③ NVM Subsystem 作用域 (Scope = 2h)

  • 字段名:Reserved
  • 说明:NVM Subsystem 本身不需额外 ID,因此此字段保留(保留 32 位)。

✅ 三、应用举例解析(AE 09h)

假设有如下场景:

某 NVMe 设备检测到一个控制器的 Critical Warning 字段由 00h → 04h 发生变化(比如温度过高)。

  1. 如果 AE 09h 启用:
  2. 管理端点记录一次 AE Occurrence;
  3. 在下一次 AEM 传输周期中,将此事件编码为 AEM 发给管理控制器。

  4. 事件内容将包括:

  5. AE Identifier: 09h
  6. Scope: NVM Subsystem (2h)
  7. Occurrence Scope Info: 保留;
  8. AEOSIL 与 AEOVSIL:如果没有额外扩展数据则为 0h

✅ 四、总结重点

  • AE Identifier 是事件的唯一编码,其具体解释依赖 Scope(命名空间 / 控制器 / 子系统等)。
  • AE 的启用与否决定了管理端是否会捕捉并报告某类事件。
  • 管理端可在一段时间内缓存 AE 事件,并在 AEM 传输周期 内一次性传输。
  • 对于 Vendor Specific(C0h-FFh)AE,厂商可自定义结构、识别码与用途(例如电源管理、存储策略等)。

如果你想继续理解 Figure 64 后续字段的位定义,或者进入 AE 数据结构中的 AE Occurrence Specific InfoVendor Specific Info 的详细机制,我可以继续解析。是否继续?