IP Library Granted Patent US 11,243,757
Granted Patent B2
US 11,243,757 · App. 16/208,117 · Granted Feb 8, 2022

Systems and methods for efficient firmware update of memory devices in BIOS/UEFI environment

Inventors: Raveendra Babu Madala (Banglore, IN); Sumanth Vidyadhara (Bangalore, IN); Santosh Gore (Bangalore, IN); Vijay Bharat Nijhawan (Austin, TX)
Assignee: Dell Products L.P.
G06F8/65G06F8/61
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,243,757
App. No.
16/208,117
Granted
Feb 8, 2022
Kind
B2
Abstract

A method, and systems and articles of manufacture for performing the method, may be provided for use in an information handling system comprising one or more processors and a memory system communicatively coupled to the one or more processors. The method may include enumerating memory modules of the memory system and installing a concurrent firmware protocol to each of the memory modules, wherein the concurrent firmware protocol is configured to individually execute an update routine on each of the memory modules. The update routine may be configured to, on each memory module, store a to-be-applied firmware update in a protected non-volatile region of the memory module and pull the to-be-applied firmware update from the protected non-volatile region of the memory module and perform a self-update of firmware for the memory module.

Claims (36)

1. An information handling system comprising:

one or more processors;

a memory system communicatively coupled to the one or more processors; and

a program of instructions embodied in non-transitory computer readable media and configured to, when read and executed by the one or more processors, prior to initialization of an operating system of the information handling system, cause a basic input/output system (BIOS) environment of the information handling system to:

enumerate non-volatile dual in-line memory modules (NVDIMMs) of the memory system;

determine a plurality of non-empty groups for the enumerated NVDIMMs based on vendor and model information of the NVDIMMs, such that NVDIMMs having a particular vendor and a particular model are grouped together in a respective particular group; and

for each group, install a concurrent firmware protocol to each of the NVDIMMs in that group, wherein the concurrent firmware protocol is configured to individually execute an update routine on each of the NVDIMMs, the update routine configured to, on each NVDIMM:

store a to-be-applied firmware update in a protected non-volatile region of the NVDIMM that is not accessible by the operating system, wherein the to-be-applied firmware update is determined based on the group; and

pull the to-be-applied firmware update from the protected non-volatile region of the NVDIMM and perform a self-update of firmware of the NVDIMM.

2. The information handling system of claim 1 , wherein the program of instructions is embodied in and is executed as part of the BIOS of the information handling system.

3. The information handling system of claim 2 , wherein the update routine updates a status of a table internal to the BIOS responsive to completion of the self-update of the firmware.

4. The information handling system of claim 1 , wherein performing the self-update of the firmware of the NVDIMM comprises installing a timer driven task on the NVDIMM.

5. The information handling system of claim 4 , wherein the self-update of the firmware is performed following expiration of a time associated with the timer driven task.

6. A method comprising, in an information handling system comprising one or more processors and a memory system communicatively coupled to the one or more processors:

prior to initialization of an operating system of the information handling system, causing a basic input/output system (BIOS) environment of the information handling system to carry out operations comprising:

enumerating non-volatile dual in-line memory modules (NVDIMMs) of the memory system;

determining a plurality of non-empty groups for the enumerated NVDIMMs based on vendor and model information of the NVDIMMs, such that NVDIMMs having a particular vendor and a particular model are grouped together in a respective particular group; and

for each group, installing a concurrent firmware protocol to each of the NVDIMMs in that group, wherein the concurrent firmware protocol is configured to individually execute an update routine on each of the NVDIMMs, the update routine configured to, on each NVDIMM:

store a to-be-applied firmware update in a protected non-volatile region of the NVDIMM that is not accessible by the operating system, wherein the to-be-applied firmware update is determined based on the group; and

pull the to-be-applied firmware update from the protected non-volatile region of the NVDIMM and perform a self-update of firmware of the NVDIMM.

7. The method of claim 6 , wherein the enumerating and installing is performed as part of the BIOS of the information handling system.

8. The method of claim 7 , wherein the update routine updates a status of a table internal to the BIOS responsive to completion of the self-update of the firmware.

9. The method of claim 6 , wherein performing the self-update of the firmware of the NVDIMM comprises installing a timer driven task on the NVDIMM.

10. The method of claim 9 , wherein the self-update of the firmware is performed following expiration of a time associated with the timer driven task.

11. An article of manufacture comprising:

a non-transitory computer-readable medium; and

computer-executable instructions carried on the computer-readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to, in an information handling system comprising one or more processors and a memory system communicatively coupled to the one or more processors, prior to initialization of an operating system of the information handling system, cause a basic input/output system (BIOS) environment of the information handling system to:

enumerate non-volatile dual in-line memory modules (NVDIMMs) of the memory system;

determine a plurality of non-empty groups for the enumerated NVDIMMs based on vendor and model information of the NVDIMMs, such that NVDIMMs having a particular vendor and a particular model are grouped together in a respective particular group; and

for each group, install a concurrent firmware protocol to each of the NVDIMMs in that group, wherein the concurrent firmware protocol is configured to individually execute an update routine on each of the NVDIMMs, the update routine configured to, on each NVDIMM:

store a to-be-applied firmware update in a protected non-volatile region of the NVDIMM that is not accessible by the operating system, wherein the to-be-applied firmware update is determined based on the group; and

pull the to-be-applied firmware update from the protected non-volatile region of the NVDIMM and perform a self-update of firmware of the NVDIMM.

12. The article of claim 11 , wherein the enumerating and installing is performed as part of the BIOS of the information handling system.

13. The article of claim 12 , wherein the update routine updates a status of a table internal to the BIOS responsive to completion of the self-update of the firmware.

14. The article of claim 11 , wherein performing the self-update of the firmware of the NVDIMM comprises installing a timer driven task on the NVDIMM.

15. The article of claim 14 , wherein the self-update of the firmware is performed following expiration of a time associated with the timer driven task.

Assignments (4)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2018
From: MADALA, RAVEENDRA BABU; VIDYADHARA, SUMANTH; GORE, SANTOSH; NIJHAWAN, VIJAY BHARAT
To: DELL PRODUCTS L.P.
Reel/Frame 047662/0011 →
Continuity (1)
Related Publication 20200174772A1 · Jun 4, 2020