IP Library Granted Patent US 11,307,844
Granted Patent B2
US 11,307,844 · App. 16/905,668 · Granted Apr 19, 2022

System and method for intelligent power management of firmware updates

Inventors: Ibrahim Sayyed (Georgetown, TX); Zhao Hui Yu (Cedar Park, TX)
Assignee: Dell Products L.P.
G06F8/654G06F1/3206G06F9/4401
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,307,844
App. No.
16/905,668
Granted
Apr 19, 2022
Kind
B2
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 (49)

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.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

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

8. 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.

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.

10. 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.

11. 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.

12. 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.

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

14. 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.

15. 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.

16. 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.

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.

18. 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.

19. 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.

20. 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.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: SAYYED, IBRAHIM; YU, ZHAO HUI
To: DELL PRODUCTS, LP
Reel/Frame 052982/0457 →