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

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

Blog Author

我们继续深入学习 NVMe-MI 规范 Rev 2.0 第 87 页的内容,特别是 Figure 65:AE Occurrence Specific Info Data Structure 的每一个 AE(Asynchronous Event)的具体信息字段说明。这部分是 AE 框架中的关键组成部分,因为它详细定义了事件发生时附带的“上下文”内容 —— 也就是 AE Occurrence Specific Info 字段的格式与含义。


✅ AE Occurrence Specific Info 解读(ID 01h–08h)


🔹 01h:Controller Fatal Status (CFSI)

字段 含义
7:1 Reserved 保留,填 0
0 CFSV(Controller Fatal Status Value) 对应 CSTS.CFS,表示控制器是否进入致命状态。

🎯 用于监测控制器崩溃、断电等不可恢复的状态。


🔹 02h:Shutdown Status (SSI)

字段 含义
7:3 Reserved 保留
2 STV(Shutdown Type Value) 对应 Shutdown 类型位(来自 NVMe Base Spec)
1:0 SSV(Shutdown Status Value) 对应 CSTS.SHST(Shutdown Status)字段的值

⚙️ 该事件支持报告多种 shutdown 情况(NVM Subsystem vs Controller,开始 vs 完成等)。


🔹 03h:Controller Enable (CEI)

字段 含义
7:2 Reserved 保留
1 CRIME 对应 CC.CRIME,表示控制器就绪状态是否与介质独立
0 CEV(Controller Enable Value) 对应 CC.EN,控制器启用状态

🧠 这在诊断控制器初始化或软件控制状态变化时很有用。


🔹 04h:Namespace Attribute Changed

🚫 无 AE Occurrence Specific Info 字段。

说明:这个 AE 是事件触发通知类型,不包含额外状态。


🔹 05h:Firmware Activated

🚫 无 AE Occurrence Specific Info 字段。

说明:通知固件已激活,但不携带细节信息。


🔹 06h:Composite Temperature (CTI)

字节 字段 含义
0 CTV(Composite Temperature Value) 报告 NVM Subsystem 当前温度(取自 Subsystem Health 数据结构)

🌡️ 典型用例为过热保护监控。


🔹 07h:Percentage Drive Life Used (PUI)

字节 字段 含义
0 PUV(Percentage Used Value) 表示 SSD 当前使用寿命百分比。

📉 该值可以用于预测设备何时需要替换或触发维护事件。


🔹 08h:Available Spare (ASI)

字节 字段 含义
0 ASV(Available Spare Value) 取自 SMART / Health 信息,报告可用的备用块容量百分比。

🔋 用于监测 NAND 坏块替换后剩余的可用 spare block 数量。


✅ 总结与学习建议

AE ID 名称 附带字段? 重点字段
01h Controller Fatal CSTS.CFS
02h Shutdown Status CSTS.SHST + Shutdown Type
03h Controller Enable CC.EN, CC.CRIME
04h–05h Namespace / FW 无附加字段
06h 温度 当前温度值
07h 使用寿命 Percentage Used
08h 可用备用块 Spare Value

如果你想,我可以继续帮你解读剩余 AE(如 09h:SMART Warnings,0Ah:Telemetry Data Available 等)的字段,直到这一章结束。是否需要我继续?