数据结构 - 持久事件日志事件类型 (第217页)
在 NVM Express® Base Specification, revision 2.0b 中,持久事件日志(Persistent Event Log)定义了一个非常重要的结构,它记录了 NVM 子系统中的各种事件。这些事件对于设备的诊断、健康监控、以及维护是至关重要的。
持久事件日志事件类型
每个事件条目都包含一个事件类型字段,标识该事件的具体类型。根据事件类型的不同,包含的数据格式也各有不同。以下是 Persistent Event Log Events 中定义的几种事件类型:
事件类型字段(Event Type)
每个事件都有一个 事件类型字段(Event Type),指示该事件的类别。下面是一些常见的事件类型:
| 类型 | 事件名称 | 描述 | 必须支持性 |
|---|---|---|---|
| 00h | 保留 | 保留的事件类型,未使用 | - |
| 01h | SMART / Health Log Snapshot | 记录SMART/健康信息快照事件 | 强制(NVMe over PCIe) |
| 02h | Firmware Commit | 固件提交事件 | 强制(命令支持时) |
| 03h | Timestamp Change | 时间戳变更事件 | 强制(命令支持时) |
| 04h | Power-on or Reset | 电源开启或重置事件 | 强制(命令支持时) |
| 05h | NVM Subsystem Hardware Error | 硬件错误事件 | 强制(命令支持时) |
| 06h | Change Namespace | 命名空间更改事件 | 强制(命令支持时) |
| 07h | Format NVM Start | 格式化NVM开始事件 | 强制(命令支持时) |
| 08h | Format NVM Completion | 格式化NVM完成事件 | 强制(命令支持时) |
| 09h | Sanitize Start | 清除开始事件 | 强制(命令支持时) |
| 0Ah | Sanitize Completion | 清除完成事件 | 强制(命令支持时) |
| 0Bh | Set Feature | 设置功能事件 | 可选(NVMe over PCIe) |
| 0Ch | Telemetry Log Created | 创建遥测日志事件 | 可选(NVMe over PCIe) |
| 0Dh | Thermal Excursion | 热偏移事件(温度超标) | 可选(NVMe over PCIe) |
| DEh | Vendor Specific Event | 供应商特定事件 | 可选 |
| DFh | TCG Defined | TCG定义的事件 | 可选 |
注释: 1. O/M定义:O=可选,M=强制。 2. 对于 NVMe over PCIe 实现,某些事件类型是强制的(例如,SMART/Health Log Snapshot),而对于 NVMe over Fabrics 实现,则是可选的。 3. 命令支持性:如果触发事件的命令被支持,则相关事件必须被记录。
事件类型详细分析
1. SMART / Health Log Snapshot 事件(Event Type 01h)
此事件用于记录 SMART/健康信息的快照,定期生成。具体要求如下: - 如果 虚拟化管理 未实现,所有控制器都会生成这个事件。 - 如果 虚拟化管理 已实现,则每个主控制器每24小时生成一次该事件。
事件格式规定: - Event Type 字段设置为 01h。 - Event Type Revision 字段设置为 01h。
事件数据(Event Data)包含 SMART / Health Information Log 中的数据(参见 Figure 207)。这为系统健康监控提供了快照,帮助检测潜在的硬件问题或性能下降。
2. Firmware Commit 事件(Event Type 02h)
当固件提交(Firmware Commit)命令完成时,将记录该事件。事件格式: - Event Type 字段设置为 02h。 - Event Type Revision 字段设置为 01h。
此事件标志着固件更新过程的完成,并将提供有关固件状态的信息。
3. Timestamp Change 事件(Event Type 03h)
此事件用于记录时间戳的更改,通常在时间同步或校准时触发。事件数据将包括新的时间戳值,确保系统事件的准确时间戳记录。
4. NVM 子系统硬件错误事件(Event Type 05h)
此事件记录 NVM 子系统硬件错误。通常会在硬件故障、崩溃或不一致的状态发生时触发。它提供了详细的硬件故障信息,以便后续的诊断和修复。
总结
- 持久事件日志 提供了一种有效的方式来记录和跟踪 NVM 子系统中的重要事件,帮助系统管理员监控设备状态,诊断问题并优化系统。
- 各类事件类型不仅帮助捕捉硬件、固件和温度等方面的变化,还能够确保设备在遭遇异常状态时及时向主机报告,以便采取相应的恢复措施。
- 对事件的记录和处理遵循 NVM Express® Base Specification 规范,确保了数据的一致性和准确性,同时也考虑到供应商特定的扩展要求。