IP Library Granted Patent US 12,608,480
Granted Patent B2
US 12,608,480 · App. 18/269,162 · Granted Apr 21, 2026

Multi-function UEFI driver with update capabilities

Inventors: Siamak Nazari (Mountain View, CA); Dana Myers (Mountain View, CA); Roopesh Tamma (San Ramon, CA); Stuart Davies (Fremont, CA); William Price (Alameda, CA)
Assignee: Nvidia Corporation
G06F21/575
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,608,480
App. No.
18/269,162
Granted
Apr 21, 2026
Kind
B2
Abstract

A driver, e.g., a UEFI driver ( 140 ), for a device ( 120 ) in a host ( 110 ) starts before an OS boot. The driver ( 140 ) provides functions including gathering information regarding the host system ( 110 ), directing the device ( 120 ) to transmit the gathered information to a cloud-based service ( 182 ), directing the device ( 120 ) to provide a catalog of current firmware, updating firmware in the host ( 110 ) or device ( 120 ) based on the catalog, and configuring the device ( 120 ). The device may be a storage processing unit ( 120 ) that is part of a cluster ( 100 ) that presents virtual volumes including a boot volume ( 138 ) for the host ( 110 ), and execution of the driver ( 140 ) can provide a delay until a boot volume ( 138 ) is ready.

Claims (30)

1 . A method comprising:

before a loading of an operating system in a host computer, executing, via a basic input output system (BIOS) of the host computer, a driver for a device connected to the host computer, the executing of the driver comprising:

retrieving, from the host computer, one or more information comprising current firmware of the host computer and providing the one or more information to the device;

providing the one or more information to a cloud-based management service for the device; and

replacing, based on at least the one or more information, the current firmware in the host computer with updated firmware,

wherein the driver gathers the one or more information as the host computer powers up and again as the host computer performs a boot service exit.

2 . The method of claim 1 , wherein the driver comprises a Unified Extensible Firmware Interface (UEFI) driver.

3 . The method of claim 1 , wherein the device comprises a service processing unit that is connected to a storage device, the service processing unit controlling the storage device and presenting virtual storage volumes to the host computer.

4 . The method of claim 3 , wherein the virtual storage volumes include a boot volume from which the host computer loads the operating system.

5 . The method of claim 4 , further comprising the driver delaying until the device is ready to present the boot volume to the host computer.

6 . The method of claim 1 , further comprising the driver configuring a computing environment in the device.

7 . The method of claim 6 , wherein configuring the computing environment of the device comprises configuring the device to be able to communicate through a network.

8 . The method of claim 1 , further comprising the driver delaying while a boot volume is being readied for presentation to the host computer.

9 . The method of claim 1 , wherein providing to the device the one or more information regarding the host computer comprises:

accessing a System Management Basic Input Output System (SMBIOS) table to gather the one or more information from the host computer; and

transmitting the one or more information from the host computer to the device.

10 . A method performed before loading of an operating system in a host computer, the method comprising:

executing, via a basic input output system (BIOS) of the host computer, a driver for a device connected to the host computer, the executing of the driver including:

providing a catalog of firmware to a cloud-based management service for the device;

commanding the device to access the catalog of firmware;

comparing the firmware from the catalog to firmware in the device or the host computer; and

in response to the firmware in the device or the host computer differing from the firmware in the catalog, replacing the firmware in the device or the host computer with the firmware in the catalog,

wherein the driver gathers the catalog of firmware as the host computer powers up and again as the host computer performs a boot service exit.

11 . The method of claim 10 , wherein the driver comprises a Unified Extensible Firmware Interface (UEFI) driver.

12 . The method of claim 10 , further comprising restarting the host computer after updating the firmware in the device.

13 . The method of claim 10 , wherein

executing the driver further comprises sending, to the device, host configuration data indicating a configuration of the host computer, and the device transmitting the host configuration data to a cloud-based service, and wherein

the cloud-based service returns the catalog including current firmware that corresponds to the configuration of the host computer.

14 . The method of claim 10 , wherein the device comprises a service processing unit that is connected to a storage device, the service processing unit controlling the storage device and presenting virtual storage volumes to the host computer.

15 . The method of claim 10 , wherein the catalog includes one or more of an updated UEFI driver, updated firmware for a host interface of the device, and an updated BIOS for the host computer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2024
From: NEBULON, INC.; NEBULON LTD
To: NVIDIA CORPORATION
Reel/Frame 067005/0154 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2023
From: NAZARI, SIAMAK; MEYERS, DANA; TAMMA, ROOPESH; DAVIES, STUART; PRICE, WILLIAM
To: NEBULON, INC.
Reel/Frame 064032/0074 →
Continuity (3)
Provisional Application 63177145 · Apr 20, 2021
Provisional Application 63129460 · Dec 22, 2020
Related Publication 20240086544A1 · Mar 14, 2024
References Cited (19)
US 9930051B1 · Potlapally et al. · 2018 [cited by applicant]
US 10990411B2 · Zhu · 2021 [cited by examiner]
US 11182171B1 · Vidyadhara · 2021 [cited by examiner]
US 12130926B2 · Liu · 2024 [cited by examiner]
US 20130013905A1 · Held · 2013 [cited by examiner]
US 20150170145A1 · Patel · 2015 [cited by examiner]
US 20150205597A1 · Nishikawa · 2015 [cited by examiner]
US 20150370576A1 · Wynn · 2015 [cited by examiner]
US 20160202964A1 · Butcher · 2016 [cited by examiner]
US 20170195386A1 · Nathan · 2017 [cited by examiner]
US 20170235928A1 · Desai · 2017 [cited by examiner]
US 20180004505A1 · Annapureddy · 2018 [cited by examiner]
US 20200133652A1 · Bhimanadhuni · 2020 [cited by examiner]
US 20200137354A1 · Nathan · 2020 [cited by examiner]
US 20210279051A1 · Wu · 2021 [cited by examiner]
US 20210303287A1 · Wiginton · 2021 [cited by examiner]
US 20220066766A1 · Mysore Shantamurthy · 2022 [cited by examiner]
US 20220197624A1 · Chiu · 2022 [cited by examiner]
US 20220405392A1 · Nix · 2022 [cited by examiner]