IP Library Granted Patent US 11,507,387
Granted Patent B2
US 11,507,387 · App. 16/883,125 · Granted Nov 22, 2022

Method to optimize system boot time of modules/driver's execution in UEFI pre-boot environment

Inventors: Mohammad Younas Khan Pathan (Punganur, IN); Annappa Kumar M N (Rajajinagar, IN); Karunakar Poosapalli (Hyderabad, IN); Shivani Dwivedi (Ghaziabad, IN); Naresh Dhiman (Bangalore, IN); Thirupathi Komatireddy (Bhupalpally, IN)
Assignee: DELL PRODUCTS L.P.
G06F9/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 11,507,387
App. No.
16/883,125
Granted
Nov 22, 2022
Kind
B2
Abstract

A system for controlling a processor, comprising a processor configured to load one or more instructions into a register for execution, a non-volatile memory coupled to the processor and configured to store data in a format that can be read by the processor and a description file stored in the non-volatile memory, the description file further comprising a plurality of information files, wherein each information file includes two or more types of predetermined data.

Claims (36)

1. A system for data processing, comprising:

a processor configured to load one or more instructions into a register for execution;

a non-volatile random access memory (NVRAM) coupled to the processor and configured to store data in a format that can be read by the processor; and

a description file stored in the NVRAM, the description file further comprising a plurality of information files, wherein each information file includes two or more types of predetermined data;

wherein the processor is configured to:

determine whether a driver has a dependency on a variable stored in the NVRAM using the register after determining whether a protocol dependency has been satisfied; and

give operational control to the driver when it is determined that the protocol dependency has been satisfied, the driver depends on the variable stored in the NVRAM, and the value of the variable is valid for the driver to load.

2. The system of claim 1 wherein the two or more types of predetermined data of the information files comprises “defines” that includes one or more macros for a module type, an information file identifier, an entry point and a library class of a module, and the description file is a single file.

3. The system of claim 1 wherein the two or more types of predetermined data of the information files comprises “sources” that includes a list of source files to be built as part of a module and the processor is configured to load the one or more instructions into the register for execution during a pre-boot phase.

4. The system of claim 1 wherein the two or more types of predetermined data of the information files comprises “protocols” that includes a list of protocols to be consumed or produced by a module, and the processor is configured to determine whether the module has a dependency on one or more of the protocols.

5. The system of claim 1 wherein the two or more types of predetermined data of the information files comprises “guids” that includes a list of identifiers to be used by a module.

6. The system of claim 1 wherein the two or more types of predetermined data of the information files comprises “library classes” that includes a list of Libraries to be used by a module.

7. The system of claim 1 wherein the two or more types of predetermined data of the information files comprises “packages” that includes a list of packages needed for auto generation files for a module.

8. The system of claim 1 wherein the two or more types of predetermined data of the information files comprises “depex” that includes a dependency protocols list.

9. A method for data processing, comprising:

loading one or more instructions into a register of a processor for execution;

storing data in a format that can be read by the processor in a non-volatile random access memory (NVRAM) coupled to the processor;

reading a description file from the NVRAM, the description file further comprising a plurality of information files, wherein each information file includes two or more types of predetermined data;

determining whether a driver has a dependency on a variable stored in the NVRAM using the register after determining whether a protocol dependency has been satisfied; and

giving operational control to the driver when it is determined that the protocol dependency has been satisfied, the driver depends on the variable stored in the NVRAM, and the value of the variable is valid for the driver to load.

10. The method of claim 9 wherein the two or more types of predetermined data of the information files comprises “defines” that includes one or more macros for a module type, an information file identifier, an entry point and a library class of a module.

11. The method of claim 9 wherein the two or more types of predetermined data of the information files comprises “sources” that includes a list of source files to be built as part of a module, and the description file is a single file.

12. The method of claim 9 wherein the two or more types of predetermined data of the information files comprises “protocols” that includes a list of protocols to be consumed or produced by a module, and further comprising:

determining whether the module has a dependency on one or more of the protocols; and

determining whether the dependency is satisfied for the module.

13. The method of claim 9 wherein the two or more types of predetermined data of the information files comprises “guids” that includes a list of identifiers to be used by a module.

14. The method of claim 9 wherein the two or more types of predetermined data of the information files comprises “library classes” that includes a list of Libraries to be used by a module.

15. The method of claim 9 wherein the two or more types of predetermined data of the information files comprises “packages” that includes a list of packages needed for auto generation files for a module in a pre-boot environment.

16. The method of claim 9 wherein the two or more types of predetermined data of the information files comprises “depex” that includes a dependency protocols list.

17. The system of claim 1 wherein the register stores a value for comparing to an NVRAM variable in a pre-boot phase.

18. The method of claim 9 further comprising:

determining whether a driver has a dependency on a variable stored in NVRAM during a pre-boot phase; and

determining whether the NVRAM variable has a value that is needed for the driver to load.

19. The method of claim 9 further comprising:

determining whether a driver has a dependency on a variable stored in NVRAM in a pre-boot environment; and

determining whether the NVRAM variable has a value that is needed for the driver to load using one or more instructions executed by the processor to determine the value of the NVRAM variable by comparing a data value that is stored in a register to an output that is has a predetermined value.

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 May 26, 2020
From: PATHAN, MOHAMMAD YOUNAS KHAN; M N, ANNAPPA KUMAR; POOSAPALLI, KARUNAKAR; DWIVEDI, SHIVANI; DHIMAN, NARESH; KOMATIREDDY, THIRUPATHI
To: DELL PRODUCTS L.P.
Reel/Frame 052749/0770 →