Note: 这个命令在旧版本NVM Express revision 1.0 and 1.1里面叫做 Firmware Activate。
Firmware Commit command是用来修改固件image或者引导分区。
当修改Firmware image时,Firmware commit command 会确认,一个可用的Firmware image 已经被download 并且将修改提交到特定的固件插槽。host会选择在下一次controller level reset的时候去激活firmware image,作为次命令的一部分。 主机可以通过检查图247中识别控制器数据结构中的固件修订字段来确定当前执行的固件修改。主机可以通过检查固件插槽信息日志页面来确定要在下一次控制器级别重置时执行的固件修订。NVM子系统中的所有控制器共享固件插槽,并且相同的固件映像应用于所有控制器。固件映像的激活可能会导致主机不期望的控制器行为发生变化。在这种情况下,如果Commit Action(提交操作)字段设置为011b,则控制器应中止状态为Firmware Activation Requires Conventional Reset(固件激活需要常规重置)的命令。
修改引导分区时,主机可以选择要标记为活动或替换的引导分区。启动分区只能在解锁时写入。
固件提交命令使用命令数据字10字段。保留所有其他特定于命令的字段。
Figure 175: Firmware Commit – Command Dword 10
| Bits | Description |
|---|---|
| 31 | Boot Partition ID (BPID): Specifies the Boot Partition that shall be used for the Commit Action, if applicable. |
| 30:06 | Reserved |
| 05:03 | Commit Action (CA):This field specifies the action that is taken (refer to section 8.1) on the image downloaded with the Firmware Image Download command or on a previously downloaded and placed image. The actions are indicated in the following table. value refer to Fiure 1 |
| 02:00 | Firmware Slot (FS): Specifies the firmware slot that shall be used for the Commit Action, if applicable. If the value specified is 0h, then the controller shall choose the firmware slot (i.e., slot 1 to slot 7) to use for the operation |
Figure 1: Action Value
| value | Definition |
|---|---|
| 000b | Downloaded image replaces the existing image, if any, in the specified Firmware Slot. The newly placed image is not activated. |
| 001b | Downloaded image replaces the existing image, if any, in the specified Firmware Slot. The newly placed image is activated at the next Controller Level Reset. |
| 010b | The existing image in the specified Firmware Slot is activated at the next Controller Level Reset. |
| 011b | Downloaded image replaces the existing image, if any, in the specified Firmware Slot and is then activated immediately. If there is not a newly downloaded image, then the existing image in the specified firmware slot is activated immediately. |
| 100b to 101b | Reserved |
| 110b | Downloaded image replaces the Boot Partition specified by the Boot Partition ID field. |
| 111b | Mark the Boot Partition specified in the BPID field as active and update BPINFO.ABPID. |
Firmware Commit command specific status values are defined in Figure 176.
Figure 176: Firmware Commit – Command Specific Status Values
| value | Description |
|---|---|
| 06h | Invalid Firmware Slot: |
| 07h | Invalid Firmware Image: |
| 0Bh | Firmware Activation Requires Conventional Reset: |
| 10h | Firmware Activation Requires NVM Subsystem Reset |
| 11h | Firmware Activation Requires Controller Level Reset |
| 12h | Firmware Activation Requires Maximum Time Violation |
| 13h | Firmware Activation Prohibited |
| 14h | Overlapping Range |
| 1Eh | Boot Partition Write Prohibited |