BMC firmware recovery

US9946553B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9946553-B2
Application numberUS-201615146638-A
CountryUS
Kind codeB2
Filing dateMay 4, 2016
Priority dateMay 4, 2016
Publication dateApr 17, 2018
Grant dateApr 17, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In an aspect of the disclosure, a method, a computer-readable medium, and an apparatus are provided. The apparatus may be a management device. The management device initiates a first booting process of a program from a first image stored at a primary storage device of the management device. The management device re-initiates the first booting process from the first image when the first booting process is not successful and a number of re-initiation is less than a predetermined number. The management device locates a second image of the program from a secondary storage device when the first booting process is not successful and the number of re-initiation is greater than or equal to the predetermined number. The management device initiates a second booting process of the program from the second image subsequent to the locating the second image.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of operating a baseboard management controller (BMC), comprising: initiating a first booting process of a program from a first image stored at a primary storage device of the BMC; re-initiating the first booting process from the first image when the first booting process is not successful and a number of re-initiation is less than a predetermined number; locating a second image of the program from a secondary storage device when the first booting process is not successful and the number of re-initiation is greater than or equal to the predetermined number; initiating a second booting process of the program from the second image subsequent to the locating the second image, wherein the primary storage device is a serial peripheral interface (SPI) storage device, wherein the secondary storage device is not an SPI storage device; and after the program is booted, the program storing application data at the secondary storage device. 2. The method of claim 1 , the method further comprising: initiating a watchdog, the watchdog being configured to wait, unless interrupted, a predetermined time period subsequent to the initiating the first booting process and then trigger a reset of the BMC, wherein the first process is not successful when the watchdog is not interrupted during the predetermined time period. 3. The method of claim 2 , the method further comprising: determining, after the reset and prior to the re-initiating or the locating, whether the number of re-initiation is less than the predetermined number when the first booting process is not successful. 4. The method of claim 2 , the method further comprising: interrupting the watchdog when the first booting process is successful. 5. The method of claim 1 , the method further comprising: configuring a folder of the secondary storage device; and storing the second image in the folder. 6. The method of claim 5 , wherein the second image is located in the folder, the method further comprising: prior to initiating the second booting process, replacing the first image at the primary storage device with the second image after the second image is located, wherein the second booting process is initiated from the second image at the primary storage device. 7. The method of claim 1 , the method further comprising: receiving a third image of the program; storing the third image at the primary storage device; and initiating a third booting process of the program from the third image at the primary storage device. 8. The method of claim 7 , the method further comprising: replacing the second image at the secondary storage device with the first image when the third booting process is successful. 9. The method of claim 7 , the method further comprising: replacing the second image at the second storage device with the third image from the primary storage device when the third booting process is successful. 10. The method of claim 1 , wherein when the initiating the second booting process is not successful, the method further comprises: locating a third image from a network device; storing the third image at the primary storage device; and initiating a third booting process of the program from the fourth image. 11. An apparatus, the apparatus being a baseboard management controller (BMC), comprising: a memory; and at least one processor coupled to the memory and configured to: initiate a first booting process of a program from a first image stored at a primary storage device of the BMC; re-initiate the first booting process from the first image when the first booting process is not successful and a number of re-initiation is less than a predetermined number; locate a second image of the program from a secondary storage device when the first booting process is not successful and the number of re-initiation is greater than or equal to the predetermined number; and initiate a second booting process of the program from the second image subsequent to the locating the second image, wherein the primary storage device is a serial peripheral interface (SPI) storage device, wherein the secondary storage device is not an SPI storage device; and after the program is booted, store application data, by the program, at the secondary storage device. 12. The apparatus of claim 11 , wherein the at least one processor is further configured to: initiate a watchdog, the watchdog being configured to wait, unless interrupted, a predetermined time period subsequent to the initiating the first booting process and then trigger a reset of the BMC, wherein the first process is not successful when the watchdog is not interrupted during the predetermined time period. 13. The apparatus of claim 12 , wherein the at least one processor is further configured to: determine, after the reset and prior to the re-initiating or the locating, whether the number of re-initiation is less than the predetermined number when the first booting process is not successful. 14. The apparatus of claim 12 , wherein the at least one processor is further configured to: interrupt the watchdog when the first booting process is successful. 15. A non-transitory computer-readable medium storing computer executable code for operating a baseboard management controller (BMC), comprising code to: initiate a first booting process of a program from a first image stored at a primary storage device of the BMC; re-initiate the first booting process from the first image when the first booting process is not successful and a number of re-initiation is less than a predetermined number; locate a second image of the program from a secondary storage device when the first booting process is not successful and the number of re-initiation is greater than or equal to the predetermined number; initiate a second booting process of the program from the second image subsequent to the locating the second image, wherein the primary storage device is a serial peripheral interface (SPI) storage device, wherein the secondary storage device is not an SPI storage device; and after the program is booted, store application data, by the program, at the secondary storage device. 16. The non-transitory computer-readable medium of claim 15 , wherein the code is further configured to: initiate a watchdog, the watchdog being configured to wait, unless interrupted, a predetermined time period subsequent to the initiating the first booting process and then trigger a reset of the BMC, wherein the first process is not successful when the watchdog is not interrupted during the predetermined time period. 17. The non-transitory computer-readable medium of claim 16 , wherein the code is further configured to: determine, after the reset and prior to the re-initiating or the locating, whether the number of re-initiation is less than the predetermined number when the first booting process is not successful. 18. The non-transitory computer-readable medium of claim 16 , wherein the code is further configured to: interrupt the watchdog when the first booting process is successful.

Assignees

Inventors

Classifications

  • G06F9/4408Primary

    Boot device selection · CPC title

  • Network booting; Remote initial program loading [RIPL] · CPC title

  • Bootstrapping (security arrangements therefor G06F21/57) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9946553B2 cover?
In an aspect of the disclosure, a method, a computer-readable medium, and an apparatus are provided. The apparatus may be a management device. The management device initiates a first booting process of a program from a first image stored at a primary storage device of the management device. The management device re-initiates the first booting process from the first image when the first booting …
Who is the assignee on this patent?
American Megatrends Inc, America Megatrends Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4408. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 17 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).