数据结构 - Firmware Commit Event(固件提交事件) (第218页)
Firmware Commit Event(固件提交事件)
固件提交事件用于记录固件提交命令(Firmware Commit)完成时的状态。这种事件提供了固件从旧版本到新版本的过渡过程中的详细信息。
固件提交事件格式(Event Type 02h)
固件提交事件的数据格式如下所示:
| 字节范围 | 描述 |
|---|---|
| 07:00 | 旧固件版本:此字段包含固件提交事件发生前的当前固件版本。 |
| 15:08 | 新固件版本:此字段包含请求成为活跃固件的固件版本。 |
| 16 | 固件提交操作:此字段包含固件提交命令中的提交操作值。 |
| 17 | 固件槽:此字段包含固件提交命令中的固件槽值。 |
| 18 | 固件提交命令的状态码类型:此字段包含固件提交命令的完成队列条目的状态码类型。 |
| 19 | 固件提交命令返回的状态:此字段包含固件提交命令的完成队列条目的状态码。 |
| 21:20 | 供应商分配的固件提交结果代码:此字段包含供应商特定值,提供有关固件提交结果的更多信息。若无供应商分配的固件提交结果代码,则该值为0h。 |
Timestamp Change Event(时间戳变更事件)
时间戳变更事件用于记录时间戳的变化,通常用于系统时间或事件的同步。每次系统时间发生变化时,都会触发该事件。
时间戳变更事件格式(Event Type 03h)
时间戳变更事件的数据格式如下所示:
| 字节范围 | 描述 |
|---|---|
| 07:00 | 上一个时间戳:此字段包含时间戳变化前的时间戳(即旧时间戳)。 |
| 15:08 | 自重置以来的毫秒数:此字段包含自上次控制器级别重置以来的时间(单位为毫秒)。 |
Power-on or Reset Event(电源开启或重置事件)
电源开启或重置事件用于记录NVM子系统重置的情况,包括由于电源开启或控制器级别重置所引发的事件。该事件提供有关重置的信息,并跟踪重置发生时的控制器状态,包括时间戳值。
电源开启或重置事件格式(Event Type 04h)
电源开启或重置事件的数据格式如下所示:
| 字节范围 | 描述 |
|---|---|
| 07:00 | 固件版本:此字段包含当控制器的 CC.EN 状态从‘0’转变为‘1’时,生效的固件版本。 |
该事件不仅提供关于控制器固件版本的信息,还包括在发生重置时,所有控制器的时间戳同步数据。这对于设备的多控制器系统尤为重要,可以帮助协调和校准不同控制器的时间戳。
总结
在 NVM Express® Base Specification 规范中,固件提交事件、时间戳变更事件和电源开启或重置事件是记录系统关键变化的重要机制。这些事件帮助维护系统的一致性,特别是在多个控制器和设备同步的环境中,确保所有组件的状态能够有效地被跟踪和管理。