Firmware update apparatus and storage control apparatus
US-2015347124-A1 · Dec 3, 2015 · US
US9459857B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9459857-B2 |
| Application number | US-201514602124-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 21, 2015 |
| Priority date | Jan 21, 2015 |
| Publication date | Oct 4, 2016 |
| Grant date | Oct 4, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are described for managing firmware versions for a storage device. In one example, a storage device includes a memory and a controller. The controller is configured to execute a first version of a firmware, receive information for a second version of a firmware that is different from the first version, determine, based on the information for the second version of the firmware, whether the version of the second version of the firmware is stored in a system area of the memory, responsive to determining that the second version of the firmware is stored in the system area, load the second version of the firmware, responsive to determining that the second version of the firmware is not stored in the system area, store the second version of the firmware in the system area, update an active firmware index, and execute the second version of the firmware.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, by a controller of a storage device, information for a second version of a firmware for the storage device, wherein the controller is currently executing a first version of the firmware that is different from the second version of the firmware; determining, by the controller and based on the information for the second version of the firmware, whether the second version of the firmware is already stored in a system area of the storage device; responsive to determining that the second version of the firmware for the storage device is already stored in the system area, loading, by the controller, the second version of the firmware from the system area; responsive to determining that the second version of the firmware for the storage device is not stored in the system area: updating, by the controller, a firmware release lookup table to include an entry for the second version of the firmware; determining, by the controller, a system area offset; and storing, by the controller and based on the system area offset, the second version of the firmware in the system area; updating, by the controller, an active firmware index to indicate that the second version of the firmware is an active version of the firmware; and executing, by the controller, the second version of the firmware. 2. The method of claim 1 , wherein determining whether the version of the second version of the firmware is already stored in the system area of the storage device comprises: determining, by the controller, based on the information for the second version of the firmware, whether an indication of the second version of the firmware is stored in the firmware release look-up table. 3. The method of claim 2 , wherein the firmware release lookup table is stored in the system area. 4. The method of claim 2 , wherein the firmware release lookup table is stored in a data area of the storage device. 5. The method of claim 1 , wherein storing the second version of the firmware in the system area comprises: responsive to determining that a previously stored version of the firmware is to be removed prior to storing the second version of the firmware: identifying, by the controller, a particular previously stored version of the firmware to remove; updating, by the controller, a firmware release lookup table to remove an entry corresponding to the particular previously stored version of the firmware; storing, by the controller, the second version of the firmware in the system area; and updating, by the controller, the firmware release lookup table to include an entry for the second version of the firmware. 6. The method of claim 5 , wherein identifying the particular previously stored version of the firmware to remove comprises identifying, based on at least one of a respective firmware download timestamp or a respective firmware build timestamp associated with each firmware version stored in the system area, the particular previously stored version of the firmware to remove. 7. The method of claim 5 , wherein the firmware release lookup table includes one or more of an index, a firmware release version, a firmware build timestamp, a firmware download timestamp, or a firmware signature. 8. The method of claim 1 , wherein loading, by the controller, the second version of the firmware from the system area comprises: determining, by the controller and based on an entry in a firmware release lookup table using an active firmware index associated with the second version of the firmware, the system area offset for the second version of the firmware; and loading, by the controller, based on the system area offset, the second version of the firmware from the system area. 9. A storage device comprising: a memory; and a controller configured to: receive information for a second version of a firmware for the storage device, wherein the controller is currently executing a first version of the firmware that is different from the second version of the firmware, determine, based on the information for the second version of the firmware, whether the second version of the firmware is already stored in a system area of the memory, responsive to determining that the second version of the firmware for the storage device is already stored in the system area, load the second version of the firmware from the system area, responsive to determining that the second version of the firmware for the storage device is not stored in the system area: update a firmware release lookup table to include an entry for the second version of the firmware; determine a system area offset; and store, based on the system area offset, the second version of the firmware in the system area of the memory, update an active firmware index to indicate that the second version of the firmware is an active version of the firmware, and execute the second version of the firmware. 10. The storage device of claim 9 , wherein the controller is configured to determine, based on the information for the second version of the firmware, whether an indication of the second version of the firmware is stored in the firmware release look-up table. 11. The storage device of claim 9 , wherein the memory is configured to store the firmware release lookup table in the system area. 12. The storage device of claim 9 , wherein the memory is configured to store the firmware release lookup table in a data area of the memory. 13. The storage device of claim 9 , wherein controller is further configured to: responsive to determining that a previously stored version of the firmware is to be removed prior to storing the second version of the firmware: identify a particular previously stored version of the firmware to remove; update a firmware release lookup table to remove an entry corresponding to the particular previously stored version of the firmware; store the second version of the firmware in the system area of the memory; and update the firmware release lookup table to include an entry for the second version of the firmware. 14. The storage device of claim 13 , wherein the controller is further configured to identify, based on at least one of a respective firmware build timestamp or a respective firmware download timestamp associated with each firmware version stored in the system area, the particular previously stored version of the firmware to remove. 15. The storage device of claim 13 , wherein the firmware release lookup table includes one or more of an index, a firmware release version, a firmware build timestamp, a firmware download timestamp, or a firmware signature. 16. The storage device of claim 9 , wherein the controller is further configured to: determine, based on an entry in a firmware release lookup table using an active firmware index associated with the second version of the firmware, the system area offset for the second version of the firmware; and load, based on the system area offset, the second version of the firmware from the system area. 17. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors of a storage device to: receive information for a second version of a firmware for the storage device, wherein the controller is currently executing a first version of the firmware that is different from the second version of the firmware; determine, based on the information for the second version of the firmware, whether the second version of the firmware is already stored in a system area of the s
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Updates (security arrangements therefor G06F21/57) · CPC title
using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories · CPC title
Cleaning, compaction, garbage collection, erase control · CPC title
Wear leveling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.