Systems And Methods For Fixing Incompatibilities In Field Firmware Updates
Abstract
A storage device includes a controller that is configured to direct the storage device to download an updated firmware image to the storage device. The storage device includes with a pre-existing firmware while the updated firmware image comprises incompatibility correcting functions. The storage device then performs a compatibility check on the updated firmware image, and determines the presence of one or more incompatibilities between the updated firmware image and the pre-existing firmware. In the event of a determined incompatibility between the updated firmware image and the pre-existing firmware, the controller can direct the storage device to begin a transient execution phase wherein at least one of the incompatibility correcting functions is processed upon receipt of a request to updated the downloaded firmware image. The storage device can reset upon completion of the transient code execution phase, loads the updated firmware image, and proceeds to function according to the new firmware.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A storage device, comprising:
a controller configured to direct the storage device to:
download an updated firmware image to the storage device, wherein:
the storage device is configured with a pre-existing firmware; and
the updated firmware image comprises a plurality of incompatibility correcting functions;
perform a compatibility check between the updated firmware image and the pre-existing firmware; and
determine the presence of one or more incompatibilities between the updated firmware image and the pre-existing firmware;
begin activation of the updated firmware image upon request;
wherein, in the event of a determined incompatibility between the updated firmware image and the pre-existing firmware, the controller further directs the storage device to:
begin a transient code execution phase prior to activation of the firmware image, wherein at least one of the plurality of incompatibility correcting functions is processed; and
execute the updated firmware image upon completion of the activation.
2 . The storage device of claim 1 , wherein, in the event of a determined incompatibility between the updated firmware image and pre-existing firmware, the storage device further stores the updated firmware image within the non-volatile memory array of the storage device.
3 . The storage device of claim 1 , wherein the incompatibility correcting functions modify data within the storage device from an incompatible format to a compatible format.
4 . The storage device of claim 3 , wherein the data modified is meta data.
5 . The storage device of claim 3 , wherein the data modified is configuration data.
6 . The storage device of claim 3 , wherein no host data is modified during the firmware update process.
7 . The storage device of claim 1 , wherein the transient code execution phase occurs during a period of inactivity within the storage device.
8 . The storage device of claim 7 , wherein the period of inactivity is a pre-reset safe state.
9 . The storage device of claim 7 , wherein the period of inactivity is a post-reset loading state.
10 . The storage device of claim 1 , wherein the controller directs the storage device to reset itself during the transient code execution phase in response to a reset request.
11 . A method for updating pre-existing firmware, comprising:
downloading an updated firmware image to a storage device with a pre-existing firmware; wherein the downloaded firmware image comprises a plurality of incompatibility correcting functions; performing a compatibility check on the updated firmware image; determining the presence of one or more incompatibilities of the updated firmware image with the pre-existing firmware; beginning activation of the downloaded firmware image upon request; wherein, in the event of a determined incompatibility between the updated firmware image and the pre-existing firmware, the storage device:
begins a transient code execution phase wherein at least one of the plurality of incompatibility correcting functions is processed;
resets the storage device; and
executes the updated firmware image upon completion of the activation.
12 . The method of claim 11 , wherein in the event of a determined incompatibility between the updated firmware image and the pre-existing firmware, a reset is not required prior to loading the updated firmware image.
13 . The method of claim 11 , wherein in the event of a determined incompatibility between the updated firmware image and the pre-existing firmware, a reset is performed upon request.
14 . The method of claim 11 , wherein resets the storage device performs the reset upon completion of the transient code execution phase.
15 . The method of claim 11 , wherein the method does not alter normal communications with a host-computing device.
16 . The method of claim 11 , wherein the plurality of incompatibility correcting functions are stored within the storage device upon completion of the method.
17 . The method of claim 16 , wherein the plurality of incompatibility correcting functions are stored within the host memory of the storage device.
18 . The method of claim 11 , wherein at least one of the plurality of incompatibility correcting functions transforms data stored in storage from a first format to a second format.
19 . The method of claim 11 , wherein updating the firmware of the storage device does not destroy any host data.
20 . A method for updating pre-existing firmware, comprising:
downloading an updated firmware image to a storage device with a pre-existing firmware wherein the updated firmware image comprises a plurality of incompatibility correcting functions; performing a first compatibility check on the updated firmware image; determining compatibility of the updated firmware image with the pre-existing firmware, wherein, in the event of a determined incompatibility between the updated firmware image and pre-existing firmware, the storage device begins a transient code execution phase wherein at least a first incompatibility correcting function of the plurality of incompatibility correcting functions is processed prior to receiving a request for activation of the updated firmware image; beginning activation of the downloaded firmware image upon request; performing a second compatibility check on the updated firmware image; and determining compatibility of the updated firmware image with the pre-existing firmware, wherein, in the event of a determined incompatibility between the updated firmware image and pre-existing firmware, the storage device further:
continues a transient code execution phase wherein at least a second incompatibility correcting function of the plurality of incompatibility correcting functions is processed; and
executes the updated firmware image.Join the waitlist — get patent alerts
Track US2021389937A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.