IP Library Granted Patent US 10,198,275
Granted Patent B2
US 10,198,275 · App. 15/169,143 · Granted Feb 5, 2019

Protecting firmware flashing from power operations

Inventors: Pravinash Jayapaul (Chennai, IN); Venkatesan Balakrishnan (Chennai, IN)
Assignee: AMERICAN MEGATRENDS, INC.
G06F9/442G06F8/654G06F9/4406G06F9/4812G06F13/24
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,198,275
App. No.
15/169,143
Granted
Feb 5, 2019
Kind
B2
Abstract

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 apparatus may be a management device. The management device receives a first command. The management device determines whether the management device is in a protected mode for executing a protected process. The management device, in response to a determination that the management device is in the protected mode, determines whether the first command, when executed, interrupts the execution of the protected process. The management device, in response to a determination that the first command interrupts the execution of the protected process, discards the first command.

Claims (40)

1. A method of operating a baseboard management controller (BMC), comprising:

receiving a first command;

determining whether the BMC is in a protected mode for executing a protected process, wherein the protected process is updating firmware of the BMC;

in response to a determination that the BMC is in the protected mode, determining whether the first command, when executed, interrupts the execution of the protected process, including:

determining that the first command is a host power command directed to a host computer managed by the BMC; and

determining whether the BMC is actively communicating with the host computer, wherein the first command is determined to interrupt the execution of the protected process when the BMC is actively communicating with the host computer; and

in response to a determination that the first command interrupts the execution of the protected process, discarding the first command.

2. The method of claim 1 , further comprising:

determining that the BMC is in the protected mode when the BMC is upgrading firmware of one or more peripherals of a host computer managed by the BMC.

3. The method of claim 2 , wherein the one or more peripherals include at least one of a power supply unit (PSU), a complex programmable logic device (CPLD), a baseband unit (BBU), and a basic input/output system (BIOS).

4. The method of claim 1 , further comprising:

in response to a determination that the first command does not interrupt the execution of the protected process, executing the first command.

5. The method of claim 1 , wherein the first command is determined to interrupt the execution of the protected process when the first command is a restart command or a power button command of the BMC.

6. The method of claim 4 , wherein the power button command of the BMC instructs the BMC to power off, to power cycle, or to shutdown.

7. The method of claim 1 , wherein the first command is determined to not interrupt the execution of the protected process when the BMC is not actively communicating with the host.

8. The method of claim 1 , wherein the determining whether the BMC is actively communicating with the host includes determining whether a communication interface between the BMC and the host is in use.

9. The method of claim 8 , wherein the communication interface is a keyboard controller style (KCS) interface or a universal serial bus (USB) interface.

10. The method of claim 1 , wherein the first command is received through an intelligent platform management interface (IPMI) channel.

11. The method of claim 10 , wherein the first command is received from an IPMI client on a host managed by the BMC.

12. The method of claim 10 , wherein the first command is received from an IPMI client on a remote machine.

13. 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:

receive a first command;

determine whether the BMC is in a protected mode for executing a protected process, wherein the protected process is updating firmware of the BMC;

in response to a determination that the BMC is in the protected mode, determine whether the first command, when executed, interrupts the execution of the protected process, wherein to determine whether the first command interrupts, the at least one processor is further configured to:

determine that the first command is a host power command directed to a host computer managed by the BMC; and

determine whether the BMC is actively communicating with the host computer, wherein the first command is determined to interrupt the execution of the protected process when the BMC is actively communicating with the host computer; and

in response to a determination that the first command interrupts the execution of the protected process, discard the first command.

14. The apparatus of claim 13 , wherein the at least one processor is further configured to:

determine that the BMC is in the protected mode when the BMC is upgrading firmware of one or more peripherals of a host computer managed by the BMC.

15. A non-transitory computer-readable medium storing computer executable code for operating a baseboard management controller (BMC), comprising code to:

receive a first command;

determine whether the BMC is in a protected mode for executing a protected process, wherein the protected process is updating firmware of the BMC;

in response to a determination that the BMC is in the protected mode, determine whether the first command, when executed, interrupts the execution of the protected process, wherein to determine whether the first command interrupts, the code is further configured to:

determine that the first command is a host power command directed to a host computer managed by the BMC;

determine whether the BMC is actively communicating with the host computer, wherein the first command is determined to interrupt the execution of the protected process when the BMC is actively communicating with the host computer; and

in response to a determination that the first command interrupts the execution of the protected process, discard the first command.

16. The non-transitory computer-readable medium of claim 15 , wherein the code is further configured to:

determine that the BMC is in the protected mode when the BMC is upgrading firmware of one or more peripherals of a host computer managed by the BMC.

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 May 31, 2016
From: JAYAPAUL, PRAVINASH; BALAKRISHNAN, VENKATESAN
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 038851/0918 →
Continuity (1)
Related Publication 20170344360A1 · Nov 30, 2017