IP Library Granted Patent US 12,423,186
Granted Patent B2
US 12,423,186 · App. 18/878,020 · Granted Sep 23, 2025

Fault recovery method and system for baseboard management controller firmware, and device and medium

Inventors: Ming Gao (Jiangsu, CN); Baoyang Liu (Jiangsu, CN)
Assignee: SUZHOU METABRAIN INTELLIGENT TECHNOLOGY CO., LTD.
G06F11/1417G06F2201/81
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,423,186
App. No.
18/878,020
Granted
Sep 23, 2025
Kind
B2
Abstract

The present disclosure discloses a fault recovery method. The method includes: in response to a server being powered on or reset, starting baseboard management controller firmware from one or more flash memories storing the baseboard management controller firmware; in response to a failure of the starting the baseboard management controller firmware from the flash memories, starting a boot loader from a flash memory in which the boot loader is burned; in response to the boot loader being successfully started, obtaining backup baseboard management controller firmware from an external storage device through the boot loader, and burning the backup baseboard management controller firmware to any one of the flash memories; and in response to the burning being completed, resetting the server, and enabling the flash memory to start the backup baseboard management controller firmware from the flash memory in which the backup baseboard management controller firmware is burned.

Claims (59)

1. A fault recovery method for baseboard management controller firmware, comprising:

connecting a decoder, a flash memory in which a boot loader is burned and the one or more flash memories storing the baseboard management controller firmware through a serial peripheral interface controller, and connecting the flash memory in which the boot loader is burned and the one or more flash memories storing the baseboard management controller firmware through the decoder to gate a corresponding flash memory when the server is powered on or reset; and

in response to a server being powered on or reset, performing, by a system on chip of a baseboard management controller, following steps:

starting baseboard management controller firmware from one or more flash memories storing the baseboard management controller firmware;

in response to a failure of starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware, gating the flash memory in which the boot loader is burned based on the serial peripheral interface controller to start the boot loader from the flash memory in which the boot loader is burned;

in response to the boot loader being successfully started, obtaining backup baseboard management controller firmware from an external storage device through the boot loader, and burning the backup baseboard management controller firmware to any one of the one or more flash memories storing the baseboard management controller firmware; and

in response to the burning being completed, resetting the server, and enabling the flash memory in which the backup baseboard management controller firmware is burned to start the backup baseboard management controller firmware from the flash memory in which the backup baseboard management controller firmware is burned.

2. The method according to claim 1 , wherein starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware comprises:

starting a hardware timer, and starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware.

3. The method according to claim 2 , wherein in response to the failure of starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware comprises:

in a process of starting the baseboard management controller firmware, in response to a timing of the hardware timer exceeding a threshold, determining that starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware failed.

4. The method according to claim 2 , wherein in response to the boot loader being successfully started, obtaining the backup baseboard management controller firmware from the external storage device through the boot loader comprises:

in response to the boot loader being successfully started, turning off the hardware timer, and obtaining the backup baseboard management controller firmware from the external storage device through the boot loader.

5. The method according to claim 1 , wherein starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware comprises:

selecting a flash memory from all flash memories storing the baseboard management controller firmware in a set order to start the baseboard management controller firmware; and

in response to a failure of starting the baseboard management controller firmware from the selected flash memory, returning to the step of selecting the flash memory from all flash memories storing the baseboard management controller firmware in the set order to select a next flash memory from all flash memories storing the baseboard management controller firmware to start the baseboard management controller firmware.

6. The method according to claim 5 , further comprising:

in response to a success of starting the baseboard management controller firmware from the selected flash memory, waiting for a completion of starting the baseboard management controller.

7. The method according to claim 1 , wherein starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware comprises:

starting a hardware timer, and selecting a flash memory from all flash memories storing the baseboard management controller firmware in a set order to start the baseboard management controller firmware;

in a process of starting the baseboard management controller firmware, in response to a timing of the hardware timer exceeding a threshold, determining that starting the baseboard management controller firmware from the selected flash memory failed; and

resetting the hardware timer, and returning to the step of starting the hardware timer, and selecting the flash memory from all flash memories storing the baseboard management controller firmware in the set order to start the baseboard management controller firmware.

8. The method according to claim 7 , further comprising:

in response to a success of starting the baseboard management controller firmware from the selected flash memory, turning off the hardware timer to wait for a completion of starting the baseboard management controller.

9. The method according to claim 1 , wherein connecting the decoder, the flash memory in which the boot loader is burned and the one or more flash memories storing the baseboard management controller firmware through the serial peripheral interface controller comprises:

connecting signal transmission pins of the flash memory in which the boot loader is burned and signal transmission pins of the one or more flash memories storing the baseboard management controller firmware through signal transmission pins of the serial peripheral interface controller, and connecting input pins of the decoder through a chip select pin of the serial peripheral interface controller.

10. The method according to claim 9 , wherein connecting the flash memory in which the boot loader is burned and the one or more flash memories storing the baseboard management controller firmware through the decoder comprises:

connecting enable pins of the flash memory in which the boot loader is burned and enable pins of the one or more flash memories storing the baseboard management controller firmware through output pins of the decoder.

11. The method according to claim 1 , wherein starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware comprises:

starting a hardware timer, and selecting a flash memory from all flash memories storing the baseboard management controller firmware in a set order based on the serial peripheral interface controller to start the baseboard management controller firmware;

in a process of starting the baseboard management controller firmware, in response to a timing of the hardware timer exceeding a threshold, determining that starting the baseboard management controller firmware from the selected flash memory failed;

resetting the hardware timer, and returning to the step of starting the hardware timer, and selecting the flash memory from all flash memories storing the baseboard management controller firmware in the set order based on the serial peripheral interface controller to start the baseboard management controller firmware to select the flash memory from all flash memories storing the baseboard management controller firmware based on the serial peripheral interface controller to start the baseboard management controller firmware; and

in response to a success of starting the baseboard management controller firmware from the selected flash memory, turning off the hardware timer to wait for a completion of starting the baseboard management controller.

12. The method according to claim 1 , wherein burning the backup baseboard management controller firmware to any one of the one or more flash memories storing the baseboard management controller firmware comprises:

gating any flash memory storing the baseboard management controller firmware from all flash memories storing the baseboard management controller firmware based on the serial peripheral interface controller to burn the backup baseboard management controller firmware to the gated flash memory.

13. The method according to claim 1 , wherein enabling the flash memory in which the backup baseboard management controller firmware is burned to start the backup baseboard management controller firmware from the flash memory in which the backup baseboard management controller firmware is burned comprises:

enabling the flash memory in which the backup baseboard management controller firmware is burned based on the serial peripheral interface controller to start the backup baseboard management controller firmware from the flash memory in which the backup baseboard management controller firmware is burned.

14. A computer non-transitory readable storage medium storing a computer program, wherein the computer program, when executed by a processor, causes the processor to perform the steps of the method according to claim 1 .

15. A fault recovery method for baseboard management controller firmware, comprising:

setting a plurality of flash memories in a server, burning a boot loader to one of the plurality of flash memories, and burning baseboard management controller firmware to other flash memories in the plurality of flash memories;

connecting a decoder, a flash memory in which a boot loader is burned and the one or more flash memories storing the baseboard management controller firmware through a serial peripheral interface controller, and connecting the flash memory in which the boot loader is burned and the one or more flash memories storing the baseboard management controller firmware through the decoder to gate a corresponding flash memory when the server is powered on or reset; and

in response to a server being powered on or reset, performing, by a system on chip of a baseboard management controller, following steps:

starting baseboard management controller firmware from one or more flash memories storing the baseboard management controller firmware;

in response to a failure of starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware, gating the flash memory in which the boot loader is burned based on the serial peripheral interface controller to start the boot loader from the flash memory in which the boot loader is burned;

in response to the boot loader being successfully started, obtaining backup baseboard management controller firmware from an external storage device through the boot loader, and burning the backup baseboard management controller firmware to any one of the other flash memories storing the baseboard management controller firmware; and

in response to the burning being completed, resetting the server, and enabling the flash memory in which the backup baseboard management controller firmware is burned to start the backup baseboard management controller firmware from the flash memory in which the backup baseboard management controller firmware is burned.

16. The method according to claim 15 , wherein after burning the boot loader to one of the plurality of flash memories, the method further comprises:

turning on write protection to ensure that contents of the flash memory will not be modified when the server runs.

17. A computer device, comprising:

at least one processor; and

a memory storing a computer program that is executable in the processor, wherein the processor, when executing the computer program, performs the operations comprising:

connecting a decoder, a flash memory in which a boot loader is burned and the one or more flash memories storing the baseboard management controller firmware through a serial peripheral interface controller, and connecting the flash memory in which the boot loader is burned and the one or more flash memories storing the baseboard management controller firmware through the decoder to gate a corresponding flash memory when the server is powered on or reset; and

in response to a server being powered on or reset, performing, by a system on chip of a baseboard management controller, following steps:

starting baseboard management controller firmware from one or more flash memories storing the baseboard management controller firmware;

in response to a failure of starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware, gating the flash memory in which the boot loader is burned based on the serial peripheral interface controller to start the boot loader from the flash memory in which the boot loader is burned;

in response to the boot loader being successfully started, obtaining backup baseboard management controller firmware from an external storage device through the boot loader, and burning the backup baseboard management controller firmware to any one of the one or more flash memories storing the baseboard management controller firmware; and

in response to the burning being completed, resetting the server, and enabling the flash memory in which the backup baseboard management controller firmware is burned to start the backup baseboard management controller firmware from the flash memory in which the backup baseboard management controller firmware is burned.

18. The method according to claim 17 , wherein starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware comprises:

starting a hardware timer, and starting the baseboard management controller firmware from the one or more flash memories storing the baseboard management controller firmware.

Assignments (2)
LICENSE Recorded Jun 30, 2026
From: IEIT SYSTEMS CO., LTD
To: AIVRES SYSTEMS INC.
Reel/Frame 075857/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2024
From: GAO, MING; LIU, BAOYANG
To: SUZHOU METABRAIN INTELLIGENT TECHNOLOGY CO., LTD.
Reel/Frame 069752/0170 →
Priority Claims (1)
CN 202211454173.1 · Nov 21, 2022 · national
Continuity (1)
Related Publication 20250165346A1 · May 22, 2025
References Cited (29)
US 11907073B2 · Sun · 2024 [cited by examiner]
US 20060020844A1 · Gibbons · 2006 [cited by examiner]
US 20120110379A1 · Shao · 2012 [cited by examiner]
US 20130173897A1 · Wang · 2013 [cited by examiner]
US 20130205129A1 · Peng · 2013 [cited by applicant]
US 20130212430A1 · Deng · 2013 [cited by examiner]
US 20150186150A1 · Chung et al. · 2015 [cited by applicant]
US 20160004632A1 · Zhao · 2016 [cited by examiner]
US 20170123923A1 · Chang · 2017 [cited by examiner]
US 20180060231A1 · Kelly · 2018 [cited by examiner]
US 20180088962A1 · Balakrishnan · 2018 [cited by examiner]
US 20180107558A1 · Rahardjo · 2018 [cited by examiner]
US 20180322012A1 · Sharma · 2018 [cited by examiner]
US 20190236277A1 · Chang · 2019 [cited by examiner]
US 20200193029A1 · Liu · 2020 [cited by examiner]
US 20210200555A1 · Wu · 2021 [cited by examiner]
US 20210303314A1 · Chen · 2021 [cited by examiner]
US 20230086829A1 · Giri · 2023 [cited by examiner]
US 20230393944A1 · Sun · 2023 [cited by examiner]
US 20240211350A1 · Bhatia · 2024 [cited by examiner]
US 20250028601A1 · Bhatia · 2025 [cited by examiner]
US 20250165346A1 · Gao · 2025 [cited by examiner]
CN 103246583A · 2013 [cited by applicant]
CN 111078452A · 2020 [cited by applicant]
CN 111475339A · 2020 [cited by applicant]
CN 112433769A · 2021 [cited by applicant]
CN 114860322A · 2022 [cited by applicant]
CN 115576747A · 2023 [cited by applicant]
WO 2022198973A1 · 2022 [cited by applicant]