异步事件机制与AE数据结构 - 页码84
我们继续深入分析 NVM Express® Management Interface Specification, Revision 2.0 第 85 页 的内容,主要关注以下两大核心:
✅ 一、Figure 63(续):AE(异步事件)列表后半部分解析
这部分补充了 AE Identifier 为 09h
到 FFh
的事件类型,并描述了其作用范围、触发条件及相关数据字段。
AE Identifier | Scope | AE 名称 | 触发条件(启用时) |
---|---|---|---|
09h | NVM Subsystem | SMART Warnings | 任一控制器的 Critical Warning 状态发生变化。 参考字段: SMART / Health Info Log – Critical Warning 、NVM 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
发生变化(比如温度过高)。
- 如果 AE 09h 启用:
- 管理端点记录一次 AE Occurrence;
-
在下一次 AEM 传输周期中,将此事件编码为 AEM 发给管理控制器。
-
事件内容将包括:
- AE Identifier:
09h
; - Scope:
NVM Subsystem (2h)
; - Occurrence Scope Info: 保留;
- AEOSIL 与 AEOVSIL:如果没有额外扩展数据则为
0h
。
✅ 四、总结重点
- AE Identifier 是事件的唯一编码,其具体解释依赖 Scope(命名空间 / 控制器 / 子系统等)。
- AE 的启用与否决定了管理端是否会捕捉并报告某类事件。
- 管理端可在一段时间内缓存 AE 事件,并在 AEM 传输周期 内一次性传输。
- 对于 Vendor Specific(C0h-FFh)AE,厂商可自定义结构、识别码与用途(例如电源管理、存储策略等)。
如果你想继续理解 Figure 64 后续字段的位定义,或者进入 AE 数据结构中的 AE Occurrence Specific Info
与 Vendor Specific Info
的详细机制,我可以继续解析。是否继续?