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

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

Blog Author

我们继续深入分析 NVM Express® Management Interface Specification, Revision 2.0 第 86 页,具体是关于 AE Occurrence Scope ID Info 字段的格式、各作用域信息的编码方式,以及部分 AE 的 Occurrence Specific Info 定义。


✅ 一、Figure 64:AE Occurrence Scope ID Info Field Format 深度解读

这张表补充了前面提到的 AE Scope(作用域)中剩余的三种类型:Management Endpoint(3h)Port(4h)Endurance Group(5h)。我们依次来看:


🔸 1. Scope = 3h:Management Endpoint

位范围 字段 说明
31:08 Reserved 保留,必须清零。
07:00 AEOMEID 表示关联 AE 的 Management Endpoint 的 Endpoint ID

🎯 该 AE 用于报告与某个管理端点(比如 SMBus/I3C/PCIe VDM 端口)相关的事件。


🔸 2. Scope = 4h:Port

位范围 字段 说明
31:17 Reserved 保留,清零。
16 AEOPT(Port Type) 0:NVM Subsystem Port(主机可见)
1:NVMe-MI Port(管理端)
15:00 AEOPID(Port ID) 若 AEOPT=0:为 NVM Subsystem Port ID
若 AEOPT=1:低字节为 NVMe-MI Port ID,高字节必须为 0

⚠️ 该字段区分了 AE 属于 “普通主机端口” 还是 “管理端端口”。


🔸 3. Scope = 5h:Endurance Group

位范围 字段 说明
31:16 Reserved 保留位,清零。
15:00 AEOEGID 表示 Endurance Group 的 ID。

📦 Endurance Group 是 NVMe 1.4+ 中引入的概念,用于逻辑管理 NAND 资源的可靠性组。


✅ 二、Figure 65:AE Occurrence Specific Info Data Structure

本节开始定义不同 AE ID 对应的 AE Occurrence Specific Info 字段的格式。以下是对 ID = 00h(Controller Ready AE) 的说明。


🔸 AE ID = 00h:Ready Info(RI)

字段结构如下:

位范围 字段名 描述
7:1 Reserved 保留,清零。
0 RV(Ready Value) 该位表示当时 CSTS.RDY 的值(Controller Ready 状态)。
0:未就绪,1:已就绪

✅ 这是用于判断控制器的 Ready 状态变化,比如复位后再次变为 Ready,就会触发这个 AE。


✅ 三、小结与学习建议

小结点 内容
📌 AE Occurrence Scope ID Info 是 AE 精准定位作用范围的关键字段;不同 Scope 有不同的结构。
📌 AEOPT 位 很重要!用于区分 Port 是主机端的还是 NVMe-MI 端的。
📌 AE Occurrence Specific Info 是 AE 触发时携带的特定上下文数据,便于控制器理解发生了什么。
📘 下一页内容(Figure 65) 会进一步定义其他 AE(如 Fatal Status、Shutdown 等)对应的 Specific Info 结构。

需要我继续带你学习接下来的 AE ID(如 01h Controller Fatal Status)的 AE Occurrence Specific Info 字段吗?这对理解 NVMe-MI 的异常检测和恢复非常有帮助。