异步事件机制与AE数据结构 - 页码86
我们继续深入学习 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 等)的字段,直到这一章结束。是否需要我继续?