IP Library Granted Patent US 12,379,920
Granted Patent B2
US 12,379,920 · App. 18/183,323 · Granted Aug 5, 2025

Bios update system

Inventors: Po-Yu Cheng (Tainan, TW); Wei Liu (Austin, TX)
Assignee: Dell Products L.P.
G06F8/654G06F9/4403
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 12,379,920
App. No.
18/183,323
Granted
Aug 5, 2025
Kind
B2
Abstract

A BIOS update system includes a BIOS update subsystem that is coupled to a memory system and a BIOS. The BIOS update subsystem receives a BIOS update instruction and, in response, provides a BIOS update identifier in a non-volatile storage device that is accessible to the BIOS, provides a UEFI variable for the BIOS that identifies a location of BIOS update information in a storage device that is coupled to the BIOS update subsystem, and then causes a first reboot. Subsequent to the first reboot, the BIOS update subsystem identifies the BIOS update identifier in the non-volatile storage device and, in response, uses the location of the BIOS update information in the storage device identified by the UEFI variable to retrieve the BIOS update information. The BIOS update subsystem then updates the BIOS using the BIOS update information, and then causes a second reboot.

Claims (58)

1. A Basic Input/Output System (BIOS) update system, comprising:

a memory system;

a Basic Input/Output System (BIOS); and

a BIOS update subsystem that is coupled to the memory system and the BIOS, wherein the BIOS update subsystem is configured to:

receive a BIOS update instruction;

execute, in response to receiving the BIOS update instruction, BIOS flash utility code stored in a BIOS update storage device coupled to the BIOS update subsystem to provide a BIOS flash utility subsystem;

provide, using the BIOS flash utility subsystem, a BIOS update identifier in a non-volatile BIOS storage system that is accessible to the BIOS;

provide, in the non-volatile BIOS storage system using the BIOS flash utility subsystem, a Unified Extensible Firmware Interface (UEFI) variable that includes a location of BIOS update information in the BIOS flash utility code stored in the BIOS update storage device;

cause, using the BIOS flash utility subsystem and subsequent to providing the BIOS update identifier and the UEFI variable in the non-volatile BIOS storage system, a first reboot;

execute, subsequent to the first reboot, firmware management protocol code stored in the non-volatile BIOS storage system to provide a firmware management subsystem;

identify, using the firmware management subsystem, the BIOS update identifier in the non-volatile BIOS storage system;

access, using the firmware management subsystem and in response to identifying the BIOS update identifier, the UEFI variable that includes the location of the BIOS update information in the BIOS flash utility code stored in the BIOS update storage device;

retrieve, using the firmware management subsystem and the location of the BIOS update information in the BIOS flash utility code stored in the BIOS update storage device identified by the UEFI variable, the BIOS update information;

update, using the firmware management subsystem, the BIOS using the BIOS update information; and

cause, using the firmware management subsystem and subsequent to updating the BIOS, a second reboot.

2. The system of claim 1 , wherein the UEFI variable identifies a BIOS update storage device path that points to the BIOS update storage device, a directory that includes the BIOS flash utility code, and a BIOS flash utility file name for the BIOS flash utility subsystem.

3. The system of claim 1 , wherein the first reboot is a cold reboot.

4. The system of claim 1 , wherein the BIOS update instruction is received in response to a computing device that includes the BIOS being initialized to a Unified Extensible Firmware Interface (UEFI) shell utility that is configured to enable BIOS updates without an operating system being provided on the computing device.

5. The system of claim 1 , wherein the BIOS update storage device is a Universal Serial Bus (USB) flash-based storage device that is coupled to the BIOS update subsystem via a USB connector.

6. The system of claim 1 , wherein the non-volatile BIOS storage device is a Serial Peripheral Interface (SPI) storage device that includes BIOS code that provides the BIOS.

7. An Information Handling System (IHS), comprising:

a processing system; and

a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a Basic Input/Output System (BIOS) update engine that is configured to:

receive a BIOS update instruction;

execute, in response to receiving the BIOS update instruction, BIOS flash utility code stored in a BIOS update storage device coupled to the processing system to provide a BIOS flash utility sub-engine;

provide, using the BIOS flash utility sub-engine, a BIOS update identifier in a non-volatile BIOS storage system that is coupled to the processing system and that is accessible to a BIOS that is coupled to the processing system;

provide, in the non-volatile BIOS storage system using the BIOS flash utility sub-engine, a Unified Extensible Firmware Interface (UEFI) variable that includes a location of BIOS update information in the BIOS flash utility code stored in the BIOS update storage device;

cause, using the BIOS flash utility sub-engine and subsequent to providing the BIOS update identifier and the UEFI variable in the non-volatile BIOS storage system, a first reboot;

execute, subsequent to the first reboot, firmware management protocol code stored in the non-volatile BIOS storage system to provide a firmware management sub-engine;

identify, using the firmware management sub-engine, the BIOS update identifier in the non-volatile BIOS storage system;

access, using the firmware management sub-engine and in response to identifying the BIOS update identifier, the UEFI variable that includes the location of the BIOS update information in the BIOS flash utility code stored in the BIOS update storage device;

retrieve, using the firmware management sub-engine and the location of the BIOS update information in the BIOS flash utility code stored in the BIOS update storage device identified by the UEFI variable, the BIOS update information;

update, using the firmware management sub-engine, the BIOS using the BIOS update information; and

cause, using the firmware management sub-engine and subsequent to updating the BIOS, a second reboot.

8. The IHS of claim 7 , wherein the UEFI variable identifies a BIOS update storage device path that points to the BIOS update storage device, a directory that includes the BIOS flash utility code, and a BIOS flash utility file name for the BIOS flash utility sub-engine.

9. The IHS of claim 8 , wherein the BIOS update information is included in BIOS update capsule files.

10. The IHS of claim 7 , wherein the first reboot is a cold reboot.

11. The IHS of claim 7 , wherein the BIOS update instruction is received in response to the IHS being initialized to a Unified Extensible Firmware Interface (UEFI) shell utility that is configured to enable BIOS updates without an operating system being provided on the IHS.

12. The IHS of claim 7 , wherein the BIOS update storage device is a Universal Serial Bus (USB) flash-based storage device that is coupled to the processing system via a USB connector.

13. The IHS of claim 7 , wherein the non-volatile BIOS storage device is a Serial Peripheral Interface (SPI) storage device that includes BIOS code that provides the BIOS.

14. A method for updating a Basic Input/Output System (BIOS) in a computing device, comprising:

receiving, by a Basic Input/Output System (BIOS) update subsystem, a BIOS update instruction;

execute, by the BIOS update subsystem in response to receiving the BIOS update instruction, BIOS flash utility code stored in a BIOS update storage device coupled to the BIOS update subsystem to provide a BIOS flash utility subsystem;

providing, by the BIOS update subsystem using the BIOS flash utility subsystem, a BIOS update identifier in a non-volatile BIOS storage system device that is accessible to a BIOS that is coupled to the BIOS update system;

providing, by the BIOS update subsystem in the non-volatile BIOS storage system using the BIOS flash utility subsystem, a Unified Extensible Firmware Interface (UEFI) variable that includes a location of BIOS update information in the BIOS flash utility code stored in the BIOS update storage device;

causing, by the BIOS update subsystem using the BIOS flash utility subsystem and subsequent to providing the BIOS update identifier and the UEFI variable in the non-volatile BIOS storage system, a first reboot;

executing, by the BIOS update subsystem, firmware management protocol code stored in the non-volatile BIOS storage system to provide a firmware management subsystem;

identifying, by the BIOS update subsystem using the firmware management subsystem, the BIOS update identifier in the non-volatile BIOS storage system;

accessing, by the BIOS update subsystem using the firmware management subsystem and in response to identifying the BIOS update identifier, the UEFI variable that includes the location of the BIOS update information in the BIOS flash utility code stored in the BIOS update storage device;

retrieving, by the BIOS update subsystem using the firmware management subsystem and using the location of the BIOS update information in the BIOS flash utility code stored in the BIOS update storage device identified by the UEFI variable, the BIOS update information;

updating, by the BIOS update subsystem using the firmware management subsystem, the BIOS using the BIOS update information; and

causing, by the BIOS update subsystem using the firmware management subsystem and subsequent to updating the BIOS, a second reboot.

15. The method of claim 14 , wherein the UEFI variable identifies a BIOS update storage device path that points to the BIOS update storage device, a directory that includes the BIOS flash utility code, and a BIOS flash utility file name for the BIOS flash utility subsystem.

16. The method of claim 15 , wherein the BIOS update information is included in BIOS update capsule files.

17. The method of claim 14 , wherein the first reboot is a cold reboot.

18. The method of claim 14 , wherein the BIOS update instruction is received in response to a computing device that includes the BIOS being initialized to a Unified Extensible Firmware Interface (UEFI) shell utility that is configured to enable BIOS updates without an operating system being provided on the computing device.

19. The method of claim 14 , wherein the BIOS update storage device is a Universal Serial Bus (USB) flash-based storage device that is coupled to the BIOS update subsystem via a USB connector.

20. The method of claim 14 , wherein the non-volatile BIOS storage device is a Serial Peripheral Interface (SPI) storage device that includes BIOS code that provides the BIOS.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2023
From: CHENG, PO-YU; LIU, WEI
To: DELL PRODUCTS L.P.
Reel/Frame 062973/0958 →
Continuity (1)
Related Publication 20240311138A1 · Sep 19, 2024
References Cited (4)
US 9507581B2 · Butcher et al. · 2016 [cited by applicant]
US 20200356357A1 · Narasimhan · 2020 [cited by examiner]
US 20230305834A1 · Kumar · 2023 [cited by examiner]
WO WO2022231584A1 · 2022 [cited by examiner]