5.11 Firmware Commit command
5.11 Firmware Commit command
NOTE: This command was known in NVM Express revision 1.0 and 1.1 as “Firmware Activate.”
The Firmware Commit command is used to modify the firmware image or Boot Partitions.
When modifying a firmware image, the Firmware Commit command verifies that a valid firmware image has been downloaded and commits that revision to a specific firmware slot. The host may select the firmware image to activate on the next Controller Level Reset as part of this command. The currently executing firmware revision may be determined from the Firmware Revision field of the Identify Controller data structure in Figure 109 or as indicated in the Firmware Slot Information log page. All controllers in the NVM subsystem share firmware image slots and the same firmware is applied to all controllers.
When modifying Boot Partitions, the host may select the Boot Partition to mark as active or replace. A Boot Partition may only be written when it is unlocked (refer to 8.13).
The Firmware Commit command uses the Command Dword 10 field. All other command specific fields are reserved.
5.11固件提交命令
注意:此命令在NVM Express版本1.0和1.1中被称为“固件激活”。
固件提交命令用于修改固件映像或引导分区。
修改固件映像时,“固件提交”命令将验证是否已下载有效的固件映像,并将该修订提交到特定的固件插槽。主机可以选择固件映像作为该命令的一部分在下次控制器级别复位时激活。当前正在执行的固件修订版可以从图109中的“识别控制器”数据结构的“固件修订版”字段中确定,也可以从“固件插槽信息”日志页面中指定。 NVM子系统中的所有控制器共享固件映像插槽,并且相同的固件应用于所有控制器。
修改引导分区时,主机可以选择引导分区以将其标记为活动或替换。引导分区只有在解锁后才能写入(请参阅8.13)。
固件提交命令使用命令字10字段。保留所有其他命令特定字段。
5.11.1 Command Completion
A completion queue entry is posted to the Admin Completion Queue if the controller has completed the requested action (specified in the Commit Action field).
Requests that specify activation of a new firmware image at the next reset and return with status code value of 00h, any Controller Level Reset defined in section 7.3.2 activates the specified firmware.
Firmware Commit command specific status values are defined in Figure 77.
5.11.1命令完成
如果控制器已完成请求的操作(在“提交操作”字段中指定),则将完成队列条目发布到“管理完成队列”中。
如果要求在下次复位时指定激活新固件映像并返回状态码值为00h的请求,则在7.3.2节中定义的任何控制器级别复位都将激活指定的固件。
固件提交命令特定的状态值在图77中定义。
5.12 Firmware Image Download command
The Firmware Image Download command is used to download all or a portion of an image for a future update to the controller. The Firmware Image Download command may be submitted while other commands on the Admin Submission Queue or I/O Submission Queues are outstanding. The Firmware Image Download command copies the new image (in whole or in part) to the controller.
The image may be constructed of multiple pieces that are individually downloaded with separate Firmware Image Download commands. Each Firmware Image Download command includes a Dword Offset and Number of Dwords that specify a Dword range. The host software shall ensure that image pieces do not have Dword ranges that overlap. Firmware portions may be submitted out of order to the controller. Host software shall submit image portions in order when updating a Boot Partition.
The new firmware image is not activated as part of the Firmware Image Download command. Refer to section 8.1 for details on the firmware update process. The firmware update process does not modify the contents of Boot Partitions. Refer to 8.13.2 for details on the Boot Partition update process.
Host software shall not update Boot Partitions and firmware images simultaneously. A downloaded image shall be committed using Firmware Commit before downloading another image. If the controller does not receive a Firmware Commit command, then it shall delete the portion(s) of the new image in the case of a reset.
The Firmware Image Download command uses the Data Pointer, Command Dword 10, and Command Dword 11 fields. All other command specific fields are reserved.
5.12固件映像下载命令
固件映像下载命令用于将映像的全部或一部分下载,以便将来将其更新到控制器。当“管理提交队列”或“ I / O提交队列”上的其他命令未完成时,可以提交“固件映像下载”命令。固件映像下载命令将新映像(全部或部分)复制到控制器。
映像可以由多段构成,这些段可以使用单独的“固件映像下载”命令单独下载。每个固件映像下载命令都包含一个“双字偏移”和“双字数”,用于指定双字范围。主机软件应确保图像片段的Dword范围不重叠。固件部分可能不按顺序提交给控制器。主机软件应在更新引导分区时按顺序提交映像部分。
作为固件映像下载命令的一部分,不会激活新的固件映像。有关固件更新过程的详细信息,请参见第8.1节。固件更新过程不会修改引导分区的内容。有关引导分区更新过程的详细信息,请参阅8.13.2。
主机软件不得同时更新引导分区和固件映像。在下载另一个映像之前,应使用“固件提交”提交已下载的映像。如果控制器未收到固件提交命令,则在重置的情况下它将删除新映像的部分。
固件映像下载命令使用数据指针,命令双字10和命令双字11字段。保留所有其他命令特定字段。
5.12.1 Command Completion
A completion queue entry is posted to the Admin Completion Queue if this portion of the firmware image has been received by the controller. Firmware Image Download command specific status values are defined in Figure 81.
5.12.1命令完成
如果控制器已接收到固件映像的这一部分,则将完成队列条目发布到管理完成队列中。 固件映像下载命令的特定状态值在图81中定义。
5.13 Get Features command
The Get Features command retrieves the attributes of the Feature specified.
The Get Features command uses the Data Pointer, Command Dword 10, and Command Dword 11 fields. All other command specific fields are reserved.
5.13获取功能命令
“获取功能”命令可检索指定功能的属性。
“获取功能”命令使用“数据指针”,“命令双字10”和“命令双字11”字段。 保留所有其他命令特定字段。
Figure 84 describes the Feature Identifiers whose attributes may be retrieved using Get Features. The definition of the attributes returned and associated format is specified in the section indicated.
图84描述了功能标识符,可以使用“获取功能”来检索其属性。 在指示的部分中指定了返回的属性和相关格式的定义。
5.13.1 Select field
A Select field set to 000b (i.e., current) returns the current operating attribute value for the Feature Identifier specified.
A Select field set to 001b (i.e., default) returns the default attribute value for the Feature Identifier specified.
A Select field set to 010b (i.e., saved) returns the last saved attribute value for the Feature Identifier specified (i.e., the last Set Features command completed without error, with the Save bit set to ‘1’ for the Feature Identifier specified.)
A Select field set to 011b (i.e., supported capabilities) returns the capabilities supported for this Feature Identifier. The capabilities supported are returned in Dword 0 of the completion entry of the Get Features command.
If Dword 0 bit 0 of the completion entry of the Get Features command is set to ‘1’, then the Feature Identifier is saveable. If Dword 0 bit 0 of the completion entry of the Get Features command is cleared to ‘0’, then the Feature Identifier is not saveable.
If Dword 0 bit 1 of the completion entry of the Get Features command is set to ‘1’, then the Feature Identifier is namespace specific and settings are applied to individual namespaces. If Dword 0 bit 1 of the completion entry of the Get Features command is cleared to ‘0’, then the Feature Identifier is not namespace specific and its settings apply to the entire controller.
If Dword 0 bit 2 of the completion entry of the Get Features command is set to ‘1’, then the Feature Identifier is changeable. If Dword 0 bit 2 of the completion entry of the Get Features command is cleared to ‘0’, then the Feature Identifier is not changeable.
5.13.1选择字段
设置为000b(即,当前)的选择字段返回指定功能部件标识符的当前操作属性值。
设置为001b的“选择”字段(即默认值)将为指定的功能标识符返回默认属性值。
设置为010b的选择字段(即已保存)将返回指定功能标识符的最后保存的属性值(即,最后完成的设置功能命令没有错误,对于指定的功能标识符的保存位设置为“ 1”。)
设置为011b的“选择”字段(即支持的功能)将返回此功能标识符支持的功能。支持的功能在“获取功能”命令的完成条目的Dword 0中返回。
如果“获取功能”命令的完成条目的Dword 0位0设置为“ 1”,则功能标识符可保存。如果将“获取功能”命令的完成条目的Dword 0位0清除为“ 0”,则功能标识符不可保存。
如果“获取功能”命令的完成条目的Dword 0位1设置为“ 1”,则功能标识符是特定于名称空间的,并且设置将应用于各个名称空间。如果将“获取功能”命令的完成条目的Dword 0位1清除为“ 0”,则功能标识符不是特定于名称空间的,并且其设置适用于整个控制器。
如果“获取功能”命令的完成条目的Dword 0位2设置为“ 1”,则功能标识符可以更改。如果将“获取功能”命令的完成条目的Dword 0位2清除为“ 0”,则功能标识符不可更改。
5.13.2 Command Completion
A completion queue entry is posted to the Admin Completion Queue if the controller has completed returning any attributes associated with the Feature. Depending on the Feature Identifier, Dword 0 of the completion queue entry may contain feature information (refer to section 5.21.1).
5.13.2命令完成
如果控制器已完成返回与功能关联的任何属性,则完成队列条目将发布到“管理完成队列”中。 根据功能标识符,完成队列条目的Dword 0可能包含功能信息(请参阅5.21.1节)。