IP Library Granted Patent US 12,020,021
Granted Patent B2
US 12,020,021 · App. 17/839,265 · Granted Jun 25, 2024

Impactless firmware update

Inventors: Ahmad R. Ansari (San Jose, CA); Felix Burton (Foster City, CA)
Assignee: XILINX, INC.
G06F8/656G06F9/4401G06F9/445G06F21/572G06F2221/033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,020,021
App. No.
17/839,265
Granted
Jun 25, 2024
Kind
B2
Abstract

Techniques to update firmware without a system reset include preserving state information associated with one or more firmware services, suspending processing of firmware service requests, loading an updated firmware image, and resuming processing of firmware service requests based on the preserved state information and the updated firmware image. Unpreserved states of one or more other firmware services may be recreated upon resumption of processing of the firmware service requests.

Claims (63)

1. A bootable platform, comprising:

first and second subsystems, wherein the first subsystem is configured to:

perform firmware services based on an initial firmware image loaded in memory and firmware service requests from the second subsystem; and

perform a firmware update while the second subsystem remains operational by:

preserving state information associated with one or more of the firmware services,

suspending processing of the firmware service requests from the second subsystem,

loading an updated firmware image in memory while retaining a first portion of the initial firmware image in the memory, and

resuming the processing of the firmware service requests from the second subsystem based on the updated firmware image loaded in the memory and the preserved state information.

2. The bootable platform of claim 1 , wherein the first subsystem is further configured to:

discard state information associated with one or more other firmware services prior to loading the updated firmware image;

recreate the state information associated with the one or more other firmware services after loading the updated firmware image; and

resume the processing of the firmware service requests from the second subsystem based further on the recreated state information.

3. The bootable platform of claim 1 , wherein the first subsystem is further configured to bypass hardware configuration services of the updated firmware image when resuming the processing of the firmware service requests from the second subsystem.

4. The bootable platform of claim 1 , wherein the first subsystem is further configured to:

overwrite a second portion of the initial firmware image in the memory when loading the updated firmware image in the memory; and

resume the processing of firmware service requests from the second subsystem based further on the retained first portion of the initial firmware image.

5. The bootable platform of claim 1 , wherein the first subsystem is further configured to:

retain an entirety of the initial firmware image in the memory when loading the updated firmware image in the memory.

6. The bootable platform of claim 1 , wherein the first subsystem is further configured to authenticate the updated firmware image prior to preserving the state information and prior to suspending the processing of the firmware service requests from the second subsystem.

7. The bootable platform of claim 1 , wherein the first subsystem is further configured to:

confirm suitability of the updated firmware image based on image header information.

8. The bootable platform of claim 1 , wherein the first subsystem is further configured to queue firmware service requests received from the second subsystem during the firmware update.

9. The bootable platform of claim 1 , wherein the first subsystem is further configured to handle correctable errors, and to queue correctable errors that occur during the firmware update.

10. The bootable platform of claim 1 , wherein the first subsystem comprises first and second processors, and wherein the first processor is configured to:

perform the firmware services based on the initial firmware image and the firmware service requests from the second subsystem;

preserve the state information associated with one or more of the firmware services;

suspend the processing of the firmware service requests from the second subsystem;

invoke the second processor to load the updated firmware image in the memory; and

resume the processing of the firmware service requests from the second subsystem based on the updated firmware image loaded in the memory and the preserved state information.

11. A method, comprising, on a first subsystem of a bootable platform:

performing firmware services based on an initial firmware image loaded in memory and firmware service requests from a second subsystem of the bootable platform; and

performing a firmware update while the second subsystem remains operational by:

preserving state information associated with one or more of the firmware services,

suspending processing of the firmware service requests from the second subsystem,

loading an updated firmware image in the memory while retaining a first portion of the initial firmware image in the memory, and

resuming the processing of the firmware service requests from the second subsystem based on the updated firmware image loaded in the memory and the preserved state information.

12. The method of claim 11 , further comprising, on the first subsystem:

discarding state information associated with one or more other firmware services prior to loading the updated firmware image;

recreating the state information associated with the one or more other firmware services after loading the updated firmware image; and

resuming the processing of the firmware service requests from the second subsystem based further on the recreated state information.

13. The method of claim 11 , further comprising, on the first subsystem:

bypassing hardware configuration services of the updated firmware image when resuming the processing of the firmware service requests from the second subsystem.

14. The method of claim 11 , further comprising, on the first subsystem:

overwriting a second portion of the initial firmware image in the memory when loading the updated firmware image in the memory; and

resuming the processing of firmware service requests from the second subsystem based further on the retained first portion of the initial firmware image.

15. The method of claim 11 , further comprising, on the first subsystem:

retaining an entirety of the initial firmware image in the memory when loading the updated firmware image in the memory.

16. The method of claim 11 , further comprising, on the first subsystem:

authenticating the updated firmware image prior to preserving the state information and prior to suspending the processing of the firmware service requests from the second subsystem.

17. The method of claim 11 , further comprising, on the first subsystem:

confirming suitability of the updated firmware image based on header information.

18. The method of claim 11 , further comprising, on the first subsystem:

queuing firmware service requests received from the second subsystem during the firmware update.

19. The method of claim 11 , further comprising, on the first subsystem:

handling correctable errors, and queuing correctable errors that occur during the firmware update.

20. An integrated circuit, comprising:

first and second subsystems, wherein the first subsystem is configured to:

perform firmware services based on an initial firmware image loaded in memory and firmware service requests from the second subsystem; and

perform a firmware update while the second subsystem remains operational by:

preserving state information associated with one or more of the firmware services,

suspending processing of the firmware service requests from the second subsystem,

loading an updated firmware image in the memory while retaining a first portion of the initial firmware image in the memory, and

resuming the processing of the firmware service requests from the second subsystem based on the updated firmware image loaded in the memory and the preserved state information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2022
From: ANSARI, AHMAD R.; BURTON, FELIX
To: XILINX, INC.
Reel/Frame 060319/0706 →
Continuity (1)
Related Publication 20230401054A1 · Dec 14, 2023
Cited By (3)
US 12,333,015 US 12,474,934 US 12,730,651