IP Library Granted Patent US 9,158,628
Granted Patent B2
US 9,158,628 · App. 14/092,489 · Granted Oct 13, 2015

Bios failover update with service processor having direct serial peripheral interface (SPI) access

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 9,158,628
App. No.
14/092,489
Granted
Oct 13, 2015
Kind
B2
Abstract

Certain aspects direct to systems and methods of BIOS failover update with a service processor (SP) having direct serial peripheral interface (SPI) access to a basic input/output system (BIOS) chip of a host computer. In certain embodiments, the SP receives a failover backup image from a BIOS being executed at a CPU of the host computer through a system interface, and stores the failover backup image in the volatile memory. Then the SP monitors operation of the BIOS by receiving, from the BIOS, a notification signal. When the SP detects an error in the operation of the BIOS based on the notification signal, the SP sends a copy of the failover backup image to the BIOS chip of the host computer through the SPI to replace a current BIOS image stored in the BIOS chip of the host computer with the copy of the failover backup image.

Claims (73)

1. A system, comprising:

a service processor (SP), comprising a processor, a non-volatile memory, a volatile memory and a system interface, wherein the non-volatile memory stores computer executable codes are configured to, when executed at the processor,

receive, from a basic input/output system (BIOS) being executed at a central processing unit (CPU) of a host computer through a system interface, a BIOS image as a failover backup image, and store the failover backup image in the volatile memory, wherein the SP is connected to the host computer via the system interface, and wherein the SP is connected to a BIOS chip of the host computer via a serial peripheral interface (SPI);

monitor operation of the BIOS being executed at the CPU of the host computer by receiving, from the BIOS through the system interface, a notification signal;

detect, based on the notification signal, an error in the operation of the BIOS being executed at the CPU of the host computer; and

in response to detecting the error, send a copy of the failover backup image to the BIOS chip of the host computer through the SPI to replace a current BIOS image stored in the BIOS chip of the host computer with the copy of the failover backup image.

2. The system as claimed in claim 1 , wherein the system interface is a standardized interface under an Intelligent Platform Management Interface (IPMI) standard, wherein the standardized interface comprises a keyboard controller style (KCS) interface, a system management interface chip (SMIC) interface, and a block transfer (BT) interface.

3. The system as claimed in claim 1 , wherein the system interface is a universal serial bus (USB) interface.

4. The system as claimed in claim 1 , wherein the SP is a baseboard management controller (BMC).

5. The system as claimed in claim 1 , wherein the codes comprise:

a detection module configured to receive the notification signal from the BIOS being executed at the CPU of the host computer through the system interface, and to detect the error based on the notification signal.

6. The system as claimed in claim 5 , wherein the detection module is configured to detect the error when the detection module does not receive the notification signal for a predetermined period of time.

7. The system as claimed in claim 1 , wherein the host computer comprises:

the BIOS chip storing the current BIOS image;

a memory; and

the CPU, configured to load a copy of the current BIOS image to the memory and execute the current BIOS image as the BIOS;

wherein the BIOS, when executed at the CPU, is configured to

retrieve a copy of the current BIOS image from the BIOS chip, and send the copy of the current BIOS image as the failover backup image to the SP through the system interface; and

send the notification signal to the SP during the operation of the BIOS.

8. The system as claimed in claim 7 , wherein the BIOS, when executed at the CPU, is configured to send the copy of the current BIOS image as the failover backup image to the SP by:

generating a first IPMI original equipment manufacturer (OEM) message comprising the copy of the current BIOS image; and

sending the first IPMI OEM message to the SP through the system interface.

9. The system as claimed in claim 8 , wherein the codes are configured to receive the BIOS image as the failover backup image from the BIOS being executed at the CPU of the host computer by:

receiving the first IPMI OEM message from the BIOS being executed at the CPU of the host computer through the system interface; and

retrieving the BIOS image from the first IPMI OEM message.

10. The system as claimed in claim 7 , wherein the notification signal is a second IPMI OEM message.

11. The system as claimed in claim 7 , wherein the BIOS, when executed at the CPU, is further configured to:

generate a request for version information of the failover backup image, and send the request for the version information of the failover backup image to the SP through the system interface;

receive, from the SP through the system interface, the version information of the failover backup image; and

compare the version information of the failover backup image to a version information of the current BIOS image.

12. The system as claimed in claim 11 , wherein the codes are configured to:

receive, from the BIOS being executed at the CPU of the host computer through the system interface, the request for the version information of the failover backup image;

in response to the request for the version information, retrieve the version information from the failover backup image stored in the volatile memory; and

send the version information to the host computer through the system interface.

13. The system as claimed in claim 11 , wherein the request for the version information of the failover backup image is a third IPMI OEM message, and the version information of the failover backup image is a fourth IPMI OEM message.

14. A method of failover updating a basic input/output system (BIOS) of a host computer with a service processor (SP), comprising:

receiving, at the SP, a failover backup image from the host computer through a system interface, and storing the failover backup image in a volatile memory of the SP, wherein the host computer comprises a central processing unit (CPU), a memory and a BIOS chip storing a current BIOS image, wherein the CPU is configured to load a copy of the current BIOS image to the memory and execute the current BIOS image as a BIOS, wherein the BIOS being executed at the CPU of the host computer is configured to retrieve a copy of the current BIOS image from the BIOS chip and send the copy of the current BIOS image as the failover backup image to the SP through the system interface, and wherein the SP is connected to the BIOS chip of the host computer via a serial peripheral interface (SPI);

monitoring, at the SP, operation of the BIOS being executed at the CPU of the host computer by receiving, from the BIOS through the system interface, a notification signal;

detecting, at the SP, an error in the operation of the BIOS being executed at the CPU of the host computer based on the notification signal; and

in response to detecting the error, sending, by the SP, a copy of the failover backup image to the BIOS chip of the host computer through the SPI to replace the current BIOS image stored in the BIOS chip of the host computer with the copy of the failover backup image.

15. The method as claimed in claim 14 , wherein the system interface is a standardized interface under an Intelligent Platform Management Interface (IPMI) standard, wherein the standardized interface comprises a keyboard controller style (KCS) interface, a system management interface chip (SMIC) interface, and a block transfer (BT) interface.

16. The method as claimed in claim 14 , wherein the system interface is a universal serial bus (USB) interface.

17. The method as claimed in claim 14 , wherein the SP is a baseboard management controller (BMC).

18. The method as claimed in claim 14 , wherein the SP comprises a detection module configured to receive the notification signal from the BIOS being executed at the CPU of the host computer through the system interface, and to detect the error based on the notification signal.

19. The method as claimed in claim 18 , wherein the detection module is configured to detect the error when the detection module does not receive the notification signal for a predetermined period of time.

20. The method as claimed in claim 14 , wherein the SP is configured to receive the failover backup image from the BIOS being executed at the CPU of the host computer by:

receiving a first IPMI original equipment manufacturer (OEM) message from the BIOS being executed at the CPU of the host computer through the system interface, wherein the first IPMI OEM message is generated by the BIOS being executed at the CPU of the host computer and comprises the copy of the current BIOS image; and

retrieving the copy of the current BIOS image as the failover backup image from the first IPMI OEM message;

wherein the notification signal is a second IPMI OEM message.

21. The method as claimed in claim 14 , further comprising:

receiving, at the SP, a request for the version information of the failover backup image from the BIOS being executed at the CPU of the host computer through the system interface;

in response to the request for the version information, retrieving, at the SP, the version information from the failover backup image stored in the volatile memory; and

sending, from the SP, the version information to the host computer through the system interface, wherein the the BIOS being executed at the CPU of the host computer receives and compares the version information of the failover backup image to a version information of the current BIOS image;

wherein the request for the version information of the failover backup image is a third IPMI OEM message, and the version information of the failover backup image is a fourth IPMI OEM message.

22. A non-transitory computer readable medium storing computer executable codes, wherein the codes, when executed at a processor of a service processor (SP), are configured to:

receive a failover backup image from a host computer through a system interface, and storing the failover backup image in a volatile memory of the SP, wherein the host computer comprises a central processing unit (CPU), a memory and a BIOS chip storing a current BIOS image, wherein the CPU is configured to load a copy of the current BIOS image to the memory and execute the current BIOS image as a BIOS, wherein the BIOS being executed at the CPU of the host computer is configured to retrieve a copy of the current BIOS image from the BIOS chip and send the copy of the current BIOS image as the failover backup image to the SP through the system interface, and wherein the SP is connected to the BIOS chip of the host computer via a serial peripheral interface (SPI);

monitor operation of the BIOS being executed at the CPU of the host computer by receiving, from the BIOS through the system interface, a notification signal;

detect an error in the operation of the BIOS being executed at the CPU of the host computer based on the notification signal; and

in response to detecting the error, send a copy of the failover backup image to the BIOS chip of the host computer through the SPI to replace the current BIOS image stored in the BIOS chip of the host computer with the copy of the failover backup image.

23. The non-transitory computer readable medium as claimed in claim 22 , wherein the system interface is a standardized interface under an Intelligent Platform Management Interface (IPMI) standard, wherein the standardized interface comprises a keyboard controller style (KCS) interface, a system management interface chip (SMIC) interface, and a block transfer (BT) interface.

24. The non-transitory computer readable medium as claimed in claim 22 , wherein the system interface is a universal serial bus (USB) interface.

25. The non-transitory computer readable medium as claimed in claim 22 , wherein the SP is a baseboard management controller (BMC).

26. The non-transitory computer readable medium as claimed in claim 22 , wherein the codes comprise a detection module configured to receive the notification signal from the BIOS being executed at the CPU of the host computer through the system interface, and to detect the error based on the notification signal.

27. The non-transitory computer readable medium as claimed in claim 26 , wherein the detection module is configured to detect the error when the detection module does not receive the notification signal for a predetermined period of time.

28. The non-transitory computer readable medium as claimed in claim 22 , wherein the codes are configured to receive the failover backup image from the BIOS being executed at the CPU of the host computer by:

receiving a first IPMI original equipment manufacturer (OEM) message from the BIOS being executed at the CPU of the host computer through the system interface, wherein the first IPMI OEM message is generated by the BIOS being executed at the CPU of the host computer and comprises the copy of the current BIOS image; and

retrieving the copy of the current BIOS image as the failover backup image from the first IPMI OEM message;

wherein the notification signal is a second IPMI OEM message.

29. The non-transitory computer readable medium as claimed in claim 22 , wherein the codes are further configured to:

receive a request for the version information of the failover backup image from the BIOS being executed at the CPU of the host computer through the system interface;

in response to the request for the version information, retrieve the version information from the failover backup image stored in the volatile memory; and

send the version information to the host computer through the system interface, wherein the the BIOS being executed at the CPU of the host computer receives and compares the version information of the failover backup image to a version information of the current BIOS image;

wherein the request for the version information of the failover backup image is a third IPMI OEM message, and the version information of the failover backup image is a fourth IPMI OEM message.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2013
From: MAITY, SANJOY; PARTHIBAN, BASKAR; THOMAS, SATHEESH; NALLAGATLA, PURANDHAR; BHIMANADHUNI, RAMAKOTI REDDY; DOPPALAPUDI, HARIKRISHNA
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 031688/0371 →