IP Library Granted Patent US 10,013,319
Granted Patent B2
US 10,013,319 · App. 15/229,772 · Granted Jul 3, 2018

Distributed baseboard management controller for multiple devices on server boards

Inventors: Avishay Moskowiz (Tel-Aviv, IL); Amitay Beler (Herzelia, IL); Ira Kalman (Herzelia, IL)
Assignee: NXP USA, Inc.
G06F11/203G06F3/067G06F3/0619G06F3/0653G06F2201/805G06F2201/835
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 10,013,319
App. No.
15/229,772
Granted
Jul 3, 2018
Kind
B2
Abstract

A server board includes first and second devices. A first service processor of the first device operates as a master baseboard management controller of the server board, and monitors a communication channel for alive messages from a plurality service processors. A second service processor operates as a secondary baseboard management controller, and sets a second timer to a first value. In response to a determination that the second timer has expired based on a first value: the second service processor to start a switchover process, and to set the second timer to a second value based on an alive message period. In response to a primary alive message not being received from the first service processor prior to the second timer expiring based on the second value, the second service processor to reset first service processor and to operate as the master baseboard management controller.

Claims (65)

1. A server board comprising:

a first device comprising

one or more general purpose processors configured to execute instructions,

a first timer including a first storage location configured to store an expiration timer value, and

a first service processor, wherein the first service processor is configured as a master baseboard management controller of the server board to monitor a communication channel for alive messages from a plurality service processors corresponding to a plurality of other devices including a second device; and

the second device comprising

one or more general purpose processors configured to execute instructions,

a second timer including a second storage location configured to store an expiration timer value, and

a second service processor, wherein

the second service processor is configured as a secondary baseboard management controller of the server board when the first service processor is configured as the master baseboard management controller,

the second service processor is configured to start a switchover process to operate as the master baseboard management controller, instead of the secondary baseboard management controller, in response to the second timer expiring based on a first value, and is configured to also reset the second timer to a second value based on an alive message period in response to the second timer expiring based on the first value,

the second service processor is further configured to reset the first service processor and to complete the switchover process to operate as the master baseboard management controller in response to the second timer expiring based on the second value prior to a primary alive message being received from the first service processor.

2. The server board of claim 1 , wherein the first service processor is further configured to update a third expiration timer value of a third device in a storage location of a shared memory in response to an alive message being received from the third device, otherwise the first service processor is configured to send, to the third device, a reset signal in response to the first timer expiring prior to the alive message being received from the third device; the first service processor further configured to utilize expiration timer values in the storage location of the shared memory to update the first memory of the first timer.

3. The server board of claim 2 , wherein the first memory of the first timer is updated with an expiration timer value of the shared memory in response to the alive message being received from the third service processor.

4. The server board of claim 1 , the second service processor is further configured to reset the second timer to a next to expire expiration timer value in the storage location of the shared memory in response to receiving the primary alive message.

5. The server board of claim 1 , wherein the second service processor is further configured to, during the switchover process, send an alive message request to the first service processor, and to start a context switch to take over master baseboard management controller tasks.

6. The server board of claim 1 , wherein the first service processor is further configured to, in response to the first timer expiring, update a third expiration timer value, in the storage location of the shared memory, of a third device to create an updated third expiration timer value that equals a time stamp value plus a boot period value, to reset the third device, and reset the first timer to a value of a next to expire expiration value in the storage location of the shared memory.

7. The server board of claim 1 , wherein the plurality of service processors operate as slave baseboard management controllers.

8. A server board comprising:

a first device comprising

one or more general purpose processors to execute instructions;

a first timer including a first storage location to store an expiration timer value; and

a first service processor, wherein

the first service processor is configured as a master baseboard management controller of the server board to monitor a communication channel for alive messages from a plurality service processors corresponding to a plurality of other devices including a second device and a third device,

the first service processor is configured to update a third expiration timer value of the third device in a storage location of a shared memory in response to an alive message being received from the third device, and

the first service processor is further configured to send, to the third device, a reset signal in response to the first timer expiring prior to the alive message being received from the third device; and

the second device comprising

one or more general purpose processors to execute instructions;

a second timer including a second storage location to store an expiration timer value; and

a second service processor, wherein

the second service processor is configured as a secondary baseboard management controller of the server board when the first service processor is configured as the master baseboard management controller,

the second service processor is configured to start a switchover process to operate as the master baseboard management controller, instead of the secondary baseboard management controller, in response to the second timer expiring based on a first value, and is configured to also reset the second timer to a second value based on an alive message period in response to the second timer expiring based on the first value, and

the second service processor is further configured to reset first service processor and to complete the switchover process to operate as the master baseboard management controller in response to the second timer expiring based on the second value prior to a primary alive message being received from the first service processor.

9. The server board of claim 8 , the first service processor is further configured to update an expiration timer value associated with the first service processor in the storage location of the shared memory in response to the alive message being received from the one of the third service processor.

10. The server board of claim 8 , the second service processor is further configured to reset the second timer to a next to expire expiration timer value in the storage location of the shared memory in response to receiving the primary alive message.

11. The server board of claim 8 , wherein the second service processor is further configured to, during the switchover process, send an alive message request to the first service processor, and to start a context switch to take over master baseboard management controller tasks.

12. The server board of claim 8 , wherein the first service processor is further configured to, in response to the first timer expiring, update a third expiration timer value of the third device to create an updated third expiration timer value that equals a time stamp value plus a boot period value, to reset a third service processor of the third device, and set the first timer to a value of a next to expire expiration value in the storage location of the shared memory.

13. The server board of claim 8 , wherein the plurality of service processors operate as slave baseboard management controllers.

14. A method comprising:

monitoring, by a first service processor, a communication channel for alive messages from a plurality of service processors corresponding to a plurality of other devices including a second device and a third device, wherein the plurality of service processors operate as slave baseboard management controllers;

updating, by the first service processor, a third expiration timer value of the third device in a storage location of a shared memory in response to an alive message being received from a third service processor of the third device over the communication channel;

sending, by the first service processor, a primary alive message to a second service processor of the second device in response to a first alive message being received from the third service processor; and

resetting, by the first service processor, the third device in response to a first timer expiring prior to a first alive message being received from the third service processor.

15. The method of claim 14 further comprising:

operating, the second service processor of the second device, as a secondary baseboard management controller of the server board;

in response to a determination that a second timer has expired based on a first value:

starting a switchover process;

resetting the second timer to a second value based on an alive message period; and

in response to a primary alive message not being received from the first service processor prior to the second timer expiring based on the second value:

resetting the first service processor; and

operating, the second service processor, as the master baseboard management controller.

16. The method of claim 15 , further comprising:

setting, by the second service processor, the second timer to a next to expire expiration value in the storage location in response to receiving the primary alive message.

17. The method of claim 15 , wherein during the switchover process, the method further comprising:

sending, by the second service processor, an alive message request to the first service processor; and

starting, by the second service processor, a context switch to take over master baseboard management controller tasks.

18. The method of claim 14 further comprising:

Setting, by the first service processor, a first timer of the first service processor to a value of a next to expire expiration value in the storage location of the shared memory in response to the first alive message being received from the third service processor.

19. The method of claim 14 , further comprising:

updating, by the first service processor, a primary expiration value in the storage location of the shared memory in response to receiving the alive message from the third service processor.

20. The method of claim 14 , further comprising:

in response to the first timer expiring:

updating, by the first service processor, a third expiration timer value of the third device to create an updated third expiration timer value that equals a time stamp value plus a boot period value;

resetting a third service processor of the third device; and

setting the first timer to a value of a next to expire expiration value in the storage location of the shared memory.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Nov 1, 2017
From: NXP SEMICONDUCTORS USA, INC.; FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 044007/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2016
From: MOSKOWIZ, AVISHAY; BELER, AMITAY; KALMAN, IRA
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 039360/0753 →
Continuity (1)
Related Publication 20180039552A1 · Feb 8, 2018