IP Library Granted Patent US 8,943,302
Granted Patent B2
US 8,943,302 · App. 13/568,728 · Granted Jan 27, 2015

Method of flashing bios using service processor and computer system using the same

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 8,943,302
App. No.
13/568,728
Granted
Jan 27, 2015
Kind
B2
Abstract

A method of flashing a BIOS memory of a computer system is described herein. The method includes executing a kernel of baseboard management controller (BMC) to create a partition for the BMC memory and a second partition for the BIOS memory; detecting whether the host processor is accessing the BIOS memory; controlling a multiplexer (MUX) to allow the first processor to access the BIOS memory when the host processor is not accessing the BIOS memory; and retrieving first BIOS software from the BMC memory and writing the first BIOS software to the BIOS memory.

Claims (85)

1. A method of flashing a BIOS memory of a computer system including a baseboard management controller (BMC) and a host processor, the BMC including a first processor and a BMC memory, the method comprising:

executing, at the first processor, a kernel to create at least one first partition for the BMC memory and a second partition for the BIOS memory;

probing, at the first processor, the BMC memory to obtain information of the BMC memory;

probing, at the first processor, the BIOS memory to obtain information of the BIOS memory;

detecting, at the first processor, whether the host processor is accessing the BIOS memory;

controlling a multiplexer (MUX) to allow the first processor to access the BIOS memory when the host processor is not accessing the BIOS memory; and

retrieving first BIOS software, at the first processor, from the BMC memory and writing the first BIOS software to the BIOS memory.

2. The method of claim 1 , further comprising:

retrieving, at the first processor, from a data module first partition configuration information using identity information of the BMC memory obtained by probing;

retrieving, at the first processor, default identity information preset for the BIOS memory when the probing for the BIOS memory fails;

retrieving, at the first processor, from the data module second partition configuration information using the default identity information;

creating, at the first processor, the at least one first partition in accordance with the first partition configuration information; and

creating, at the first processor, the second partition in accordance with the second partition configuration information.

3. The method of claim 2 , further comprising storing, in the data module, partition configuration information of a plurality of memory devices manufactured by more than one manufacturer.

4. The method of claim 3 , wherein each of the first partition configuration information and the second partition configuration information contains identity of a manufacture and identity of a memory device.

5. The method of claim 1 , further comprising:

utilizing a communication interface between the first processor and the BMC memory to detect presence and identity of the BMC memory; and

utilizing a communication interface between the first processor and the BIOS memory to detect presence and identity of the BIOS memory.

6. The method of claim 1 , wherein the BMC memory comprises at least one writable non-volatile memory and one writable volatile memory.

7. The method of claim 6 , wherein the at least one writable non-volatile memory of the BMC is a flash memory.

8. The method of claim 6 , further comprising uploading the first BIOS software to the writable volatile memory.

9. The method of claim 1 , further comprising:

comparing data in a first sector of the BIOS memory with data in a second sector of a BIOS image, wherein the second sector corresponds to the first sector, and the BIOS image contains the first BIOS software; and

in response to a determination that the data in the first sector differ from the data in the second sector, erasing the data in the first sector and writing the data in the second sector to the first sector.

10. The method of claim 9 , wherein the comparing is performed when the first sector is not protected.

11. The method of claim 9 , wherein the comparing further comprises overriding protection of the first sector.

12. The method of claim 9 , further comprising validating the BIOS image using checksum.

13. The method of claim 9 , further comprising validating a BIOS magic header of the BIOS image.

14. The method of claim 9 , wherein the host processor does not access the BIOS memory when the host processor is in a standby mode or in an operating mode.

15. A computer system, comprising:

a baseboard including a host processor and a BIOS memory, wherein the host processor is configured to execute an operating system;

a baseboard management controller (BMC) in communication with the baseboard through an interface, the BMC including a first processor, a non-transitory computer readable medium storing a kernel and a BMC memory, wherein the BMC memory is configured to store first BIOS software, the first processor is configured to execute a kernel, and the executed kernel is configured to create at least one first partition for the BMC memory and a second partition for the BIOS memory; and

a multiplexer (MUX) configured to operatably control access to the BIOS memory by the first processor or by the host processor,

wherein the kernel, when executed by the first processor, cause the first processor to

probe the BMC memory to obtain information of the BMC memory,

probe the BIOS memory to obtain information of the BIOS memory,

detect whether the host processor is accessing the BIOS memory,

control the MUX to allow the first processor to access the BIOS memory when the host processor is not accessing the BIOS memory, and

retrieve the first BIOS software from the BMC memory and

write the first BIOS software to the BIOS memory.

16. The computer system of claim 15 , wherein the first processor is configured to:

retrieve, from a data module, first partition configuration information using identity information of the BMC memory obtained by probing,

retrieve default identity information preset for the BIOS memory when the probing for the BIOS memory fails,

retrieve, from the data module, second partition configuration information using the default identity information,

create the at least one first partition in accordance with the first partition configuration information, and

create the second partition in accordance with the second partition configuration information.

17. The computer system of claim 16 , wherein the data module is configured to store partition configuration information of a plurality of memory devices manufactured by more than one manufacturer.

18. The computer system of claim 17 , wherein each of the first partition configuration information and the second partition configuration information contains identity of a manufacture and identity of a memory device.

19. The computer system of claim 15 , wherein the first processor is configured to:

utilize a communication interface between the first processor and the BMC memory to detect presence and identity of the BMC memory, and

utilize a communication interface between the first processor and the BIOS memory to detect presence and identity of the BIOS memory.

20. The computer system of claim 15 , wherein the BMC memory comprises at least one writable non-volatile memory and one writable volatile memory.

21. The computer system of claim 20 , wherein the at least one writable non-volatile memory of the BMC is a flash memory.

22. The computer system of claim 20 , wherein the first processor is configured to upload the first BIOS software to the writable volatile memory.

23. The computer system of claim 15 , wherein the first processor is configured to:

compare data in a first sector of the BIOS memory with data in a second sector of a BIOS image, the second sector corresponding to the first sector, and the BIOS image containing the first BIOS software, and

in response to a determination that the data in the first sector differ from the data in the second sector, erase the data in the first sector and write the data in the second sector to the first sector.

24. The computer system of claim 23 , wherein the first processor is configured to compare the data in the first sector with the data in the second sector when the first sector is not protected.

25. The computer system of claim 23 , wherein the first processor is configured to override protection of the first sector and then compare the data in the first sector with the data in the second sector when the first sector is not protected.

26. The computer system of claim 23 , wherein the first processor is configured to validate the BIOS image using checksum.

27. The computer system of claim 23 , wherein the first processor is configured to validate a BIOS magic header of the BIOS image.

28. The computer system of claim 23 , wherein the host processor does not access the BIOS memory when the host processor is in a standby mode or in an operating mode.

29. A baseboard management controller (BMC), comprising:

a non-transitory computer readable medium storing a kernel;

a BMC memory configured to store first BIOS software; and

a first processor configured to

execute the kernel, wherein the executed kernel is configured to create a first memory partition for the BMC memory and a second memory partition,

probe the BMC memory to obtain information of the BMC memory,

probe the second memory to obtain information of the second memory

utilize the first memory partition to retrieve the first BIOS software from the BMC memory, and

utilize the second memory partition to output the first BIOS software.

30. The BMC of claim 29 , wherein the first processor is configured to:

retrieve, from a data module, first partition configuration information using identity information of the BMC memory obtained by probing,

retrieve default identity information preset for the second memory when the probing for the second memory fails,

retrieve, from the data module, second partition configuration information using the default identity information,

create the first partition in accordance with the first partition configuration information, and

create the second partition in accordance with the second partition configuration information.

31. The BMC of claim 30 , wherein the data module is configured to store partition configuration information of a plurality of memory devices manufactured by more than one manufacturer.

32. The BMC of claim 31 , wherein each of the first partition configuration information and the second partition configuration information contains identity of a manufacture and identity of a memory device.

33. The BMC of claim 29 , wherein the first processor is configured to:

utilize a communication interface between the first processor and the BMC memory to detect presence and identity of the BMC memory, and

utilize a communication interface between the first processor and the second memory to detect presence and identity of the second memory.

34. The BMC of claim 29 , wherein the BMC memory comprises at least one writable non-volatile memory and one writable volatile memory.

35. The BMC of claim 34 , wherein the at least one writable non-volatile memory is a flash memory.

36. The BMC of claim 34 , wherein the first processor is configured to upload the first BIOS software to the writable volatile memory.

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 Aug 7, 2012
From: AYANAM, VARADACHARI SUDAN; PARTHIBAN, BASKAR
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 028741/0422 →