IP Library Granted Patent US 10,732,963
Granted Patent B2
US 10,732,963 · App. 15/479,622 · Granted Aug 4, 2020

System and method for automatically managing updated UEFI variables

Inventors: Michael W. Arms (Pflugerville, TX); Justin L. Frodsham (Leander, TX)
Assignee: Dell Products, LP
G06F8/658G06F8/654G06F8/66G06F11/1402G06F8/65G06F8/71G06F9/4401G06F11/1464
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,732,963
App. No.
15/479,622
Granted
Aug 4, 2020
Kind
B2
Abstract

An information handling system operating an automated UEFI variable update management system may comprise a processor executing machine-readable executable code instructions of the automated UEFI variable update management system to save to a memory and execute a first plurality of UEFI variables included in a first terse executable image, to receive a second terse executable image including a second plurality of UEFI variables in a second preset order, wherein each of the first plurality of UEFI variables and the second plurality of UEFI variables including a variable value, and a variable key pointing to a variable value location in the memory, to compare the first plurality of UEFI variables to the second plurality of UEFI variables, to retrieve from the first terse executable image and store in a variable update map the first plurality of UEFI variables, to retrieve from the second terse executable image and store in the variable update map the second plurality of UEFI variables, and to store the variable update map to the memory.

Claims (49)

1. An information handling system operating an automated Unified Extensible Firmware Interface (UEFI) variable update management system comprising a first processor executing machine-readable executable code instructions of the automated UEFI variable update management system to:

generate a first terse executable image identifying a first version number and including a first plurality of UEFI variables executable in a first preset order with respect to basic input output operating system (BIOS), wherein a remote information handling system has previously executed the first plurality of UEFI variables;

generate a second terse executable image identifying a second version number and including a second plurality of UEFI variables executable in a second preset order with respect to BIOS;

each of the first plurality of UEFI variables and the second plurality of UEFI variables including a variable value, and a variable key pointing to a variable value location in a memory of the remote information handling system;

retrieve from the first terse executable image and store in a variable update map the first plurality of UEFI variables;

retrieve from the second terse executable image and store in the variable update map the second plurality of UEFI variables;

wherein the variable update map associates each of the first plurality of UEFI variables with the first version number, and each of the second plurality of UEFI variables with the second version number; and

transmit to the remote information handling system the variable update map and the second terse executable image.

2. The information handling system operating the automated UEFI variable update management system of claim 1 , wherein the variable update map further includes machine-readable executable code instructions for the processor of the remote information handling system to:

save the second terse executable image to the memory;

retrieve from the variable update map and store in a pre-EFI initialization (PEI) hand-off block the variable value of each of the second plurality of UEFI variables;

for each of the second plurality of UEFI variables, retrieve the variable value from the PEI hand-off block and store the variable value at the variable value location in the memory to which the variable key points; and

store the variable update map in the memory of the remote information handling system.

3. The information handling system operating the automated UEFI variable update management system of claim 1 , wherein the variable value locations of the first plurality of UEFI variables adheres to a first partition format, the variable value locations of the second plurality of UEFI variables adheres to a second partition format, and the first and second partition formats do not match.

4. The information handling system operating the automated UEFI variable update management system of claim 1 wherein the memory of the remote information handling system is a read/writeable non-volatile random access memory.

5. The information handling system operating the automated UEFI variable update management system of claim 1 wherein the memory of the remote information handling system is a readable but not writeable non-volatile random access memory.

6. The information handling system operating the automated UEFI variable update management system of claim 1 wherein the first preset order and the second preset order do not have a fixed size.

7. The information handling system operating the automated UEFI variable update management system of claim 1 wherein the variable value of one of the second plurality of UEFI variables not included in the first plurality of UEFI variables is a default value.

8. An information handling system operating an automated Unified Extensible Firmware Interface (UEFI) variable update management system comprising a processor executing machine-readable executable code instructions of the automated UEFI variable update management system to:

save to a memory and execute a first plurality of UEFI variables in a first preset order with respect to basic input output operating system (BIOS) included in a first terse executable image;

receive a second terse executable image including a second plurality of UEFI variables executable in a second preset order with respect to BIOS;

each of the first plurality of UEFI variables and the second plurality of UEFI variables including a variable value, and a variable key pointing to a variable value location in the memory;

retrieve from the first terse executable image and store in a variable update map the first plurality of UEFI variables;

retrieve from the second terse executable image and store in the variable update map the second plurality of UEFI variables; and

store the variable update map to the memory.

9. The information handling system operating the automated UEFI variable update management system of claim 8 , wherein the processor further executes machine-readable executable code instructions of the automated UEFI variable update management system to:

retrieve from the variable update map and store in the pre-EFI initialization (PEI) hand-off block the variable value of each of the second plurality of UEFI variables;

store to the memory in the second preset order each of the second plurality of UEFI variables; and

for each of the second plurality of UEFI variables, retrieve the variable value from the PEI hand-off block and store the variable value at the variable value location in the memory to which the variable key points.

10. The information handling system operating the automated UEFI variable update management system of claim 8 , wherein the variable value locations of the first plurality of UEFI variables adheres to a first partition format, the variable value locations of the second plurality of UEFI variables adheres to a second partition format, and the first and second partition formats do not match.

11. The information handling system operating the automated UEFI variable update management system of claim 8 wherein the memory of the information handling system is a read/writeable non-volatile random access memory.

12. The information handling system operating the automated UEFI variable update management system of claim 8 wherein the memory is a readable, but not writeable non-volatile random access memory.

13. The information handling system operating the automated UEFI variable update management system of claim 8 wherein the first preset order and the second preset order do not have a fixed size.

14. The information handling system operating the automated UEFI variable update management system of claim 8 wherein the variable value of one of the second plurality of UEFI variables not included in the first plurality of UEFI variables is a default value.

15. A method for automatically managing updated Unified Extensible Firmware Interface (UEFI) variables comprising:

saving to a memory and executing a first plurality of UEFI variables included in a first terse executable image executable in a first preset order with respect to basic input output operating system (BIOS);

receiving a second terse executable image including a second plurality of UEFI variables executable in a second preset order with respect to BIOS;

wherein each of the first plurality of UEFI variables and the second plurality of UEFI variables includes a variable value, and a variable key pointing to a variable value location in the memory;

retrieving from the first terse executable image and storing in a variable update map the first plurality of UEFI variables;

retrieving from the second terse executable image and storing in the variable update map the second plurality of UEFI variables; and

storing the variable update map to the memory.

16. The method for automatically managing updated UEFI variables of claim 15 , further comprising:

retrieving from the variable update map and storing in the pre-EFI initialization (PEI) hand-off block the variable value of each of the second plurality of UEFI variables;

storing to the memory in the second preset order each of the second plurality of UEFI variables; and

for each of the second plurality of UEFI variables, retrieving the variable value from the PEI hand-off block and storing the variable value at the variable value location in the memory to which the variable key points.

17. The method for automatically managing updated UEFI variables of claim 15 , wherein the variable value locations of the first plurality of UEFI variables adheres to a first partition format, the variable value locations of the second plurality of UEFI variables adheres to a second partition format, and the first and second partition formats do not match.

18. The method for automatically managing updated UEFI variables of claim 15 wherein the memory of the information handling system is a read/writeable non-volatile random access memory.

19. The method for automatically managing updated UEFI variables of claim 15 , wherein the memory is a readable, but not writeable non-volatile random access memory.

20. The method for automatically managing updated UEFI variables of claim 15 , wherein the first preset order and the second preset order do not have a fixed size.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (042769/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2017
From: ARMS, MICHAEL W.; FRODSHAM, JUSTIN L.
To: DELL PRODUCTS, LP
Reel/Frame 041858/0074 →
Continuity (1)
Related Publication 20180293061A1 · Oct 11, 2018