# US 11,307,844 B2 · System and method for intelligent power management of firmware updates

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,307,844 B2
- Document ID: US11307844B2
- Status: Granted
- Kind: B2
- Application number: 16/905,668
- Filed: 2020-06-18
- Published: 2021-12-23
- Granted: 2022-04-19
- Earliest claimed: 2020-06-18
- Assignees: Dell Products L.P.
- Applicants: Dell Products, LP
- Inventors: Ibrahim Sayyed; Zhao Hui Yu
- Web page: https://patentgrep.com/patent/US11307844B2

## CPC

- G06F 8/654: using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
- G06F 1/28: Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 1/3212: Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
- G06F 9/4401: Bootstrapping (security arrangements therefor G06F21/57)
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

An information handling system includes power inputs, a battery, a BMC, a memory, and a processor. The BMC determines which of the power inputs are coupled to associated power sources, and a first duration of time that the battery can provide power to the information handling system. The memory stores a firmware element. The processor receives a firmware that includes a second indication as to which of the power inputs are to be coupled to their associated power source as a condition for saving the firmware update, and that includes a second duration of time that it is expected to take to save the firmware update. The information handling system saves the firmware update to the memory when the first indication matches the second indication and when the first duration of time is greater than the second duration of time.

## Claims

### Claim 1

An information handling system, comprising:
a plurality of power inputs, each of which, when coupled to an associated power source, provides power to the information handling system;
a battery configured to provide power to the information handling system when none of the power inputs are coupled to their associated power source;
a baseboard management controller (BMC) configured to determine which, if any, of the power inputs are coupled to their associated power sources, to provide a first indication as to which of the power inputs are coupled to their associated power sources, and to determine a first duration of time that the battery can provide power to the information handling system when no power input is coupled to its associated power source;
a memory to store a first firmware element; and
a processor configured to receive a first firmware update associated with the first firmware element, wherein the first firmware update includes a second indication as to which, if any, of the power inputs are to be coupled to their associated power source as a condition for the processor to save the first firmware update, and that includes a second duration of time that the processor is expected to take to save the first firmware update;
wherein the information handling system is configured to determine if the first indication matches the second indication and if the first duration of time is greater than the second duration of time, and to direct the processor to save the first firmware update to the memory when the first indication matches the second indication and when the first duration of time is greater than the second duration of time.

### Claim 2 (depends on 1)

The information handling system of claim 1, wherein:
the memory is further to store a second firmware element; and
the processor is further configured to receive a second firmware update associated with the second firmware element to the memory, wherein the second firmware update includes a third indication as to which, if any, of the power inputs are to be coupled to their associated power sources as a condition for the processor to save the second firmware update, and that includes a third duration of time that the processor is expected to take to save the second firmware update.

### Claim 3 (depends on 2)

The information handling system of claim 2, wherein the information handling system is further configured to determine if the first indication matches the third indication and if the first duration of time is greater than the third duration of time, and to direct the processor to save the second firmware update to the memory when the first indication matches the third indication and when the first duration of time is greater than the third duration of time.

### Claim 4 (depends on 2)

The information handling system of claim 2, wherein the information handling system is further configured to determine if the first indication matches both the second and third indications and if the first duration of time is greater than a sum of the second duration of time and the third duration of time, and to direct the processor to save the first firmware update to the memory when the first indication matches both the second indication and the third indication and when the first duration of time is greater than the sum of the second duration of time and the third duration of time.

### Claim 5 (depends on 1)

The information handling system of claim 1, wherein the processor is configured to determine if the first indication matches the second indication and if the first duration of time is greater than the second duration of time.

### Claim 6 (depends on 5)

The information handling system of claim 5, wherein the processor is configured to execute Basic Input/Output System (BIOS) code in determining if the first indication matches the second indication and if the first duration of time is greater than the second duration of time.

### Claim 7 (depends on 5)

The information handling system of claim 5, wherein the processor is configured to execute code included in the first firmware update in determining if the first indication matches the second indication and if the first duration of time is greater than the second duration of time.

### Claim 8 (depends on 1)

The information handling system of claim 1, wherein the BMC is configured to determine if the first indication matches the second indication and if the first duration of time is greater than the second duration of time.

### Claim 9

A method, comprising:
providing, in an information handling system, a plurality of power inputs, each which, when coupled to an associated power source, provides power to the information handling system;
providing a battery configured to provide power to the information handling system when none of the power inputs are coupled to their associated power source;
determining, by a baseboard management controller (BMC) of the information handling system, which, if any, of the power inputs are coupled to their associated power sources;
providing a first indication as to which of the power inputs are coupled to their associated power sources;
determining a first duration of time that the battery can provide power to the information handling system when no power input is coupled to its associated power source;
receiving a first firmware update associated with a first firmware element stored in a memory of the information handling system, wherein the first firmware update includes a second indication as to which, if any, of the power inputs are to be coupled to their associated power source as a condition for the processor to save the first firmware update, and that includes a second duration of time that the processor is expected to take to save the first firmware update;
determining if the first indication matches the second indication and if the first duration of time is greater than the second duration of time; and
saving the first firmware update to the memory when the first indication matches the second indication and when the first duration of time is greater than the second duration of time.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
receiving a second firmware update associated with a second firmware element stored in the memory, wherein the second firmware update includes a third indication as to which, if any, of the power inputs are to be coupled to their associated power sources as a condition for the processor to save the second firmware update, and that includes a third duration of time that the processor is expected to take to save the second firmware update.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
determining if the first indication matches the third indication and if the first duration of time is greater than the third duration of time; and
saving the second firmware update to the memory when the first indication matches the third indication and when the first duration of time is greater than the third duration of time.

### Claim 12 (depends on 10)

The method of claim 10, further comprising:
determining if the first indication matches both the second and third indications and if the first duration of time is greater than a sum of the second duration of time and the third duration of time; and
saving the first firmware update to the memory when the first indication matches both the second indication and the third indication and when the first duration of time is greater than the sum of the second duration of time and the third duration of time.

### Claim 13 (depends on 9)

The method of claim 9, wherein determining if the first indication matches the second indication and if the first duration of time is greater than the second duration of time is by the processor.

### Claim 14 (depends on 13)

The method of claim 13, wherein in determining if the first indication matches the second indication and if the first duration of time is greater than the second duration of time, the method further comprises executing basic input/output system code.

### Claim 15 (depends on 13)

The method of claim 13, wherein in determining if the first indication matches the second indication and if the first duration of time is greater than the second duration of time, the method further comprises executing code included in the first firmware update.

### Claim 16 (depends on 9)

The method of claim 9, wherein in determining if the first indication matches the second indication and if the first duration of time is greater than the second duration of time, the method further comprises determining, by the BMC, if the first indication matches the second indication and if the first duration of time is greater than the second duration of time.

### Claim 17

An information handling system, comprising:
a basic input/output system (BIOS);
a hardware device;
a plurality of power inputs, each of which, when coupled to an associated power source, provides power to the information handling system;
a battery configured to provide power to the information handling system when none of the power inputs are coupled to their associated power source;
a baseboard management controller (BMC) configured to determine which, if any, of the power inputs are coupled to their associated power sources, to provide a first indication as to which of the power inputs are coupled to their associated power sources, and to determine a first duration of time that the battery can provide power to the information handling system when no power input is coupled to its associated power source;
a memory to store a first firmware element associated with the BIOS and a second firmware element associated with the hardware device; and
a processor configured to receive a firmware load including a first firmware update associated with the BIOS to the memory and a second firmware update associated with the hardware device, wherein the firmware load includes a second indication as to which, if any, of the power inputs are to be coupled to their associated power sources as a condition for the processor to save the first firmware update and the second firmware update, and that includes a second duration of time that the processor is expected to take to save the first firmware update and the second firmware update;
wherein the information handling system is configured to determine if the first indication matches the second indication and if the first duration of time is greater than the second duration of time, and to direct the processor to save the first firmware update and the second firmware update to the memory when the first indication matches the second indication and when the first duration of time is greater than the second duration of time.

### Claim 18 (depends on 17)

The information handling system of claim 17, wherein the processor is configured to determine if the first indication matches the second indication and if the first duration of time is greater than the second duration of time.

### Claim 19 (depends on 18)

The information handling system of claim 18, wherein the processor is configured to execute Basic Input/Output System (BIOS) code in determining if the first indication matches the second indication and if the first duration of time is greater than the second duration of time.

### Claim 20 (depends on 17)

The information handling system of claim 17, wherein the BMC is configured to determine if the first indication matches the second indication and if the first duration of time is greater than the second duration of time.
