IP Library › Granted Patent US 11,132,316
Granted Patent B2
US 11,132,316 · App. 15/345,509 · Granted Sep 28, 2021

Self-configuring baseboard management controller (BMC)

Inventors: Sompong Paul Olarig (Pleasanton, CA); Son T. Pham (San Ramon, CA)
G06F13/36G11C16/04
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,132,316
App. No.
15/345,509
Granted
Sep 28, 2021
Kind
B2
Abstract

A Baseboard Management Controller (BMC) ( 125 ) that may configure itself is disclosed. The BMC ( 125 ) may include an access logic ( 415 ) to determine a configuration of a chassis ( 105 ) that includes the BMC ( 125 ). The BMC ( 125 ) may also include a built-in self-configuration logic ( 420 ) to configure the BMC ( 125 ) responsive to the configuration of the chassis ( 105 ). The BMC ( 125 ) may self-configure without using any BIOS, device drivers, or operating systems.

Claims (29)

1. A Baseboard Management Controller (BMC), comprising:

a Vital Product Data (VPD) reading logic to read an actual configuration of a chassis from a VPD stored in a memory inside the chassis during boot up, the chassis separate from the BMC; and

a built-in self-configuration logic to configure the BMC responsive to the actual configuration of the chassis,

wherein the BMC is configured to select a configuration from a first configuration and a second configuration, the first configuration including a Non-Volatile Memory Express (NVMe) driver, the second configuration including a Non-Volatile Memory Express Over Fabric (NVMeoF) driver, the BMC is configured to load a High Availability (HA) driver before the BMC has determined whether a pairing partner is available, and the BMC is configured to determine that the configuration of the chassis includes an HA chassis based at least in part on the actual configuration read from the VPD.

2. A BMC according to claim 1 , wherein using the NVMeoF driver enables the BMC to determine the actual configuration of at least one device in the chassis including the BMC.

3. A BMC according to claim 1 , wherein the memory includes an Electrically Erasable Programmable Read Only Memory (EEPROM).

4. A BMC according to claim 1 , wherein the built-in self-configuration logic includes a driver loader to load the NVMe driver or the NVMeoF driver responsive to the actual configuration of the chassis.

5. A BMC according to claim 1 , wherein the built-in self-configuration logic is configured to load an HA driver.

6. A method, comprising:

reading, by a Baseboard Management Controller (BMC), an actual configuration of a chassis including the BMC from a Vital Product Data (VPD) stored in a memory inside the chassis during boot up, the chassis separate from the BMC;

selecting one of a Non-Volatile Memory Express (NVMe) driver and a Non-Volatile Memory Express Over Fabric (NVMeoF) driver for the BMC responsive to the actual configuration of the chassis;

loading the selected driver; and

attempting to communicate with a pairing partner for the BMC after loading a High Availability (HA) driver,

wherein the BMC is configured to select a configuration from a first configuration and a second configuration, the first configuration including the NVMe driver, the second configuration including the NVMeoF driver, the BMC is configured to load the HA driver before the BMC has determined whether a pairing partner is available, and the BMC is configured to determine that the configuration of the chassis includes an HA chassis based at least in part on the actual configuration read from the VPD.

7. A method according to claim 6 , wherein the memory includes an Electrically Erasable Programmable Read Only Memory (EEPROM).

8. A method according to claim 6 , wherein selecting a driver for the BMC according to the actual configuration of the chassis includes selecting the HA driver.

9. A method according to claim 8 , further comprising reporting an error if the HA driver is not available.

10. A method according to claim 8 , further comprising attempting to communicate with the pairing partner for the BMC.

11. A method according to claim 10 , further comprising reporting an error if the BMC is not operative to communicate with the pairing partner.

12. A method according to claim 10 , wherein attempting to communicate with the pairing partner for the BMC includes attempting to communicate with the pairing partner for the BMC after loading the HA driver.

13. An article, comprising a tangible, non-transitory storage medium, the tangible, non-transitory storage medium having stored thereon instructions that, when executed by a machine, result in:

reading, by a Baseboard Management Controller (BMC), an actual configuration of a chassis including the BMC from a Vital Product Data (VPD) stored in a memory inside the chassis during boot up, the chassis separate from the BMC;

selecting one of a Non-Volatile Memory Express (NVMe) driver and a Non-Volatile Memory Express Over Fabric (NVMeoF) driver for the BMC responsive to the actual configuration of the chassis;

loading the selected driver; and

attempting to communicate with a pairing partner for the BMC after loading a High Availability (HA) driver,

wherein the BMC is configured to select a configuration from a first configuration and a second configuration, the first configuration including the NVMe driver, the second configuration including the NVMeoF driver, the BMC is configured to load the HA driver before the BMC has determined whether a pairing partner is available, and the BMC is configured to determine that the configuration of the chassis includes an HA chassis based at least in part on the actual configuration read from the VPD.

14. An article according to claim 13 , wherein:

reading, by a Baseboard Management Controller (BMC), an actual configuration of chassis including the BMC includes reading, by the BMC, that the actual configuration of the chassis is the NVMeoF chassis; and

the tangible, non-transitory storage medium having stored thereon further instructions that, when executed by the machine, result in reading, by the BMC, the actual configuration of at least one device in the chassis including the BMC.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2016
From: OLARIG, SOMPONG PAUL; PHAM, SON T.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 040348/0395 →
Continuity (2)
Provisional Application 62394727 · Sep 14, 2016
Related Publication 20180074984A1 · Mar 15, 2018