The Firmware Image Download command is used to download all or a portion
of the firmware 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 firmware image (in whole or in part)
to the controller.
The firmware 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 firmware pieces do not have Dword ranges
that overlap. Firmware portions may be submitted out of order to the
controller.
The new firmware image is not applied as part of the Firmware Image
Download command. It is applied following a reset, where the image to
apply and the firmware slot it should be committed to is specified with
the Firmware Commit command (nvme fw-commit <args>).