IP Library › Granted Patent US 11,829,248
Granted Patent B2
US 11,829,248 · App. 17/482,535 · Granted Nov 28, 2023

Firmware recovery by image transfusion

Inventors: Prashanth Giri (Round Rock, TX); Murali Somarouthu (Austin, TX); Babu Chandrasekhar (Round Rock, TX)
Assignee: Dell Products L.P.
G06F11/1417G06F9/4401G06F9/44505G06F2201/86
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 11,829,248
App. No.
17/482,535
Granted
Nov 28, 2023
Kind
B2
Abstract

An information handling system includes a memory and a baseboard management controller. The memory includes a recovery partition including a recovery kernel, a first boot partition including first firmware, and a second boot partition including backup firmware. The baseboard management controller (BMC) attempts a first boot operation of the first firmware in the first boot partition. In response to a failure of the first boot operation, the BMC attempts a second boot operation of the backup firmware in the second boot partition. In response to a failure of the second boot operation, the BMC operates a recovery kernel. During the operation of the recovery kernel, the BMC provides a firmware request to an enclosure controller, receives blocks of correct firmware from a functioning baseboard management controller, stores the blocks of correct firmware in the first boot partition, attempts and completes a third boot operation of the correct firmware.

Claims (67)

1. An information handling system comprising: a memory including a recovery partition including a recovery kernel, a first boot partition including first firmware, and a second boot partition including backup firmware; and a baseboard management controller to communicate with the memory, the baseboard management controller to: operate a recovery kernel; and during the operation of the recovery kernel: provide a firmware request to an enclosure controller; receive a plurality of blocks of correct firmware from a functioning baseboard management controller; store the blocks of the correct firmware in the first boot partition; attempt a boot operation of the correct firmware; and complete the boot operation, wherein the enclosure controller further to: receive the firmware request from first baseboard management controller; determine a closest matching firmware image of remaining baseboard management controllers; and provide the closest matching firmware image to the first baseboard management controller.

2. An information handling system comprising:

an enclosure controller to determine a plurality of baseboard management controllers that include substantially similar firmware images; and

a server to communicate with the enclosure controller, the server including:

a memory including a recovery partition including a recovery kernel, a first boot partition including first firmware, and a second boot partition including backup firmware; and

a first baseboard management controller to communicate with the memory, the first baseboard management controller to:

attempt a first boot operation of the first firmware in the first boot partition;

detect a failure of the first boot operation;

in response to the failure of the first boot operation, attempt a second boot operation of the backup firmware in the second boot partition;

detect a failure of the second boot operation;

in response to the failure of the second boot operation, operate a recovery kernel; and

during the operation of the recovery kernel:

provide a firmware request to the enclosure controller;

receive a plurality of blocks of correct firmware from the enclosure controller, wherein the blocks of correct firmware is from one of the baseboard management controllers that include the substantially similar firmware images;

store the blocks of the correct firmware in the first boot partition;

attempt a third boot operation of the correct firmware; and

complete the third boot operation,

wherein the enclosure controller further to:

receive the firmware request from the first baseboard management controller;

determine a closest matching firmware image of remaining baseboard management controllers; and

provide the closest matching firmware image to the first baseboard management controller.

3. The information handling system of claim 1 , wherein prior to the firmware request being provided, the baseboard management controller further to:

determine whether a memory device including update firmware is located within the information handling system; and

in response to the memory device with the update firmware not being located within the information handling system, provide the firmware request.

4. The information handling system of claim 1 , wherein prior to the firmware request being provided, the baseboard management controller further to:

determine whether firmware is available on a hardcoded trivial file transfer protocol server; and

in response to the firmware on the hardcoded trivial file transfer protocol server not being available, provide the firmware request.

5. The information handling system of claim 1 , wherein the baseboard management controller communicates with the enclosure controller via a virtual local area network communication channel.

6. The information handling system of claim 2 , wherein prior to the blocks of the correct firmware being stored in the first boot partition, the baseboard management controller further to: validate the received blocks of the correct firmware based on a signature of the correct firmware.

7. The information handling system of claim 1 , wherein prior to the blocks of the correct firmware being stored in the first boot partition, the baseboard management controller further to: validate the received blocks of the correct firmware based on a signature of the correct firmware.

8. The information handling system of claim 6 , wherein prior to the firmware request being provided, the first baseboard management controller further to:

determine whether a memory device including update firmware is located within the information handling system; and

in response to the memory device with the update firmware not being located within the information handling system, provide the firmware request.

9. The information handling system of claim 6 , wherein prior to the firmware request being provided, the first baseboard management controller further to:

determine whether firmware is available on a hardcoded trivial file transfer protocol server; and

in response to the firmware on the hardcoded trivial file transfer protocol server not being available, provide the firmware request.

10. The information handling system of claim 6 , wherein the enclosure controller further to:

maintain a table of current firmware versions in each of the baseboard management controllers.

11. The information handling system of claim 6 , wherein the determination of the closest matching firmware image includes the enclosure controller further to:

determine one or more firmware images that support features supported in first firmware of the first baseboard management controller; and

determine a version number for each of the firmware images that support the features supported in the first firmware.

12. The information handling system of claim 6 , wherein the first baseboard management controller communicates with the enclosure controller via a virtual local area network communication channel.

13. A method comprising:

determining, by an enclosure controller of an information handling system, a plurality of baseboard management controllers that include substantially similar firmware images;

operating a recovery kernel; and

during the operation of the recovery kernel:

providing a firmware request to the enclosure controller;

receiving, by the enclosure controller, the firmware request from a first baseboard management controller;

determining a closest matching firmware image of remaining baseboard management controllers;

providing the closest matching firmware image to the first baseboard management controller;

receiving a plurality of blocks of correct firmware from the enclosure controller, wherein the blocks of correct firmware are from one of the baseboard management controllers that include the substantially similar firmware images;

storing the blocks of the correct firmware in first boot partition of a memory of the information handling system;

attempting a boot operation of the correct firmware; and

completing the boot operation.

14. The method of claim 13 , wherein prior to the blocks of the correct firmware being stored in the first boot partition, the method further comprises:

validating the received blocks of the correct firmware based on a signature of the correct firmware.

15. The method of claim 13 , wherein prior to the firmware request being provided, the method further comprises:

determining whether a memory device including update firmware is located within the information handling system; and

in response to the memory device with the update firmware not being located within the information handling system, providing the firmware request.

16. The method of claim 13 , wherein prior to the firmware request being provided, the method further comprises:

determining whether firmware is available on a hardcoded trivial file transfer protocol server; and

in response to the firmware on the hardcoded trivial file transfer protocol server not being available, providing the firmware request.

17. The method of claim 13 , further comprising:

maintaining, by the enclosure controller, a table of current firmware versions in each of the baseboard management controllers.

18. The method of claim 13 , wherein the determining of the closest matching firmware image, the method further includes:

determining one or more firmware images that support features supported in first firmware of the first baseboard management controller; and

determining a version number for each of the firmware images that support the features supported in the first firmware.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2021
From: GIRI, PRASHANTH; SOMAROUTHU, MURALI; CHANDRASEKHAR, BABU
To: DELL PRODUCTS, LP
Reel/Frame 057571/0074 →
Continuity (1)
Related Publication 20230086829A1 · Mar 23, 2023