IP Library Granted Patent US 11,507,388
Granted Patent B2
US 11,507,388 · App. 16/868,193 · Granted Nov 22, 2022

Storage device enumeration in information handling systems

Inventors: Wei Liu (Austin, TX); Gobind Vijayakumar (Bangalore, IN); Krishnaprasad Koladi (Karnataka, IN)
Assignee: Dell Products L.P.
G06F9/4408
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,388
App. No.
16/868,193
Granted
Nov 22, 2022
Kind
B2
Abstract

Methods, systems, and computer programs encoded on computer storage medium, for identifying storage devices of an IHS, wherein a BIOS of the IHS is associated with a first enumeration order of the storage devices; enumerating the storage devices such that a particular storage device of the storage devices is enumerated as the first enumerated storage device for both the BIOS and an OS of the IHS, including: determining that an OS installation mode is enabled, and in response, i) exposing only the particular storage device, and ii) disabling the remaining storage devices to; determining that a LUN is set by the BIOS as the first enumerated storage device, including setting an unique identifier (UID) for the particular storage device, and in response fetching data associated with the LUN based on the UID; parsing the LUN data; assigning, based on the parsing, the LUN as the first enumerated storage device.

Claims (57)

1. A computer-implemented method, including:

identifying a plurality of storage devices of an information handling system, wherein a basic input/output system (BIOS) of the information handling system is associated with a first enumeration order of the storage devices, and an operating system (OS) of the information handling system is associated with a second enumeration order of the storage devices, wherein the first enumeration order and the second enumeration order are different;

enumerating the storage devices such that a particular storage device of the plurality of the storage devices is enumerated as the first enumerated storage device for both the BIOS and the OS of the information handling system based on the first enumeration order of the BIOS, wherein the first enumerated storage device is a partition of the particular storage device and identified as disk0, including:

determining that an OS installation mode provided by the BIOS is enabled;

in response to determining that the OS installation mode provided by the BIOS is enabled, i) exposing only the particular storage device, that is the first enumerated storage device based on the first enumeration order of the BIOS, to an OS installer computing module, and ii) disabling the remaining storage devices of the plurality of storage devices to the OS installer computing module;

determining that a logical unit number (LUN) is set by the BIOS as the first enumerated storage device, including setting a unique identifier (UID) for the particular storage device;

in response to determining that the LUN is set by the BIOS as the first enumerated storage device:

fetching, by an OS installer computing module, data associated with the LUN based on the UID;

parsing, by the OS installer computing module, the LUN data; and

assigning, by the OS installer computing module, based on the parsing, the LUN as the first enumerated storage device for the OS.

2. The computer-implemented method of claim 1 , further comprising after exposing the particular storage device to the OS installer computing module, installing, by the OS installer computing module, the OS on the first enumerated storage device.

3. The computer-implemented method of claim 1 , further comprising after assigning the LUN as the first enumerated storage device for the OS, installing, by the OS installer computing module, the OS on the first enumerated storage device.

4. The computer-implemented method of claim 1 , wherein the particular storage device is a boot optimized server storage device.

5. The computer-implemented method of claim 1 , after rebooting the information handling system, restoring the remaining storage devices of the plurality of storage devices to the OS installer computing module.

6. The computer-implemented method of claim 1 , after rebooting the information handling system, disabling the OS installation mode provided by the BIOS.

7. The computer-implemented method of claim 1 , further comprising:

generating, by the BIOS, a runtime variable including the LUN data and the UID; and

accessing, by the OS installer computing module, the runtime variable to install the OS on the first enumerated storage device.

8. The computer-implemented method of claim 1 , further comprising after determining that the OS installation mode provided by the BIOS is enabled, resetting the information handling system.

9. The computer-implemented method of claim 1 , further comprising:

generating, by the BIOS, a system management BIOS (SMBIOS) construct including the LUN data and the UID; and

accessing, by the OS installer computing module, the SMBIOS construct to install the OS on the first enumerated storage device.

10. An information handling system, comprising:

a memory media storing instructions;

a processor in communication with the memory media to execute the instructions to perform operations comprising:

identifying a plurality of storage devices of an information handling system, wherein a basic input/output system (BIOS) of the information handling system is associated with a first enumeration order of the storage devices, and an operating system (OS) of the information handling system is associated with a second enumeration order of the storage devices, wherein the first enumeration order and the second enumeration order are different;

enumerating the storage devices such that a particular storage device of the plurality of the storage devices is enumerated as the first enumerated storage device for both the BIOS and the OS of the information handling system based on the first enumeration order of the BIOS, wherein the first enumerated storage device is a partition of the particular storage device and identified as disk0, including:

determining that an OS installation mode provided by the BIOS is enabled;

in response to determining that the OS installation mode provided by the BIOS is enabled, i) exposing only the particular storage device, that is the first enumerated storage device based on the first enumeration order of the BIOS, to an OS installer computing module, and ii) disabling the remaining storage devices of the plurality of storage devices to the OS installer computing module;

determining that a logical unit number (LUN) is set by the BIOS as the first enumerated storage device, including setting a unique identifier (UID) for the particular storage device;

in response to determining that the LUN is set by the BIOS as the first enumerated storage device:

fetching, by an OS installer computing module, data associated with the LUN based on the UID;

parsing, by the OS installer computing module, the LUN data; and

assigning, by the OS installer computing module, based on the parsing, the LUN as the first enumerated storage device for the OS.

11. The information handling system of claim 10 , the operations further comprising after exposing the particular storage device to the OS installer computing module, installing, by the OS installer computing module, the OS on the first enumerated storage device.

12. The information handling system of claim 10 , the operations further comprising after assigning the LUN as the first enumerated storage device for the OS, installing, by the OS installer computing module, the OS on the first enumerated storage device.

13. The information handling system of claim 10 , wherein the particular storage device is a boot optimized server storage device.

14. The information handling system of claim 10 , the operations further after rebooting the information handling system, restoring the remaining storage devices of the plurality of storage devices to the OS installer computing module.

15. The information handling system of claim 10 , the operations further after rebooting the information handling system, disabling the OS installation mode provided by the BIOS.

16. The information handling system of claim 10 , the operations further comprising:

generating, by the BIOS, a runtime variable including the LUN data and the UID; and

accessing, by the OS installer computing module, the runtime variable to install the OS on the first enumerated storage device.

17. The information handling system of claim 10 , the operations further comprising after determining that the OS installation mode provided by the BIOS is enabled, resetting the information handling system.

18. The information handling system of claim 10 , the operations further comprising:

generating, by the BIOS, a system management BIOS (SMBIOS) construct including the LUN data and the UID; and

accessing, by the OS installer computing module, the SMBIOS construct to install the OS on the first enumerated storage device.

19. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

identifying a plurality of storage devices of an information handling system, wherein a basic input/output system (BIOS) of the information handling system is associated with a first enumeration order of the storage devices, and an operating system (OS) of the information handling system is associated with a second enumeration order of the storage devices, wherein the first enumeration order and the second enumeration order are different;

enumerating the storage devices such that a particular storage device of the plurality of the storage devices is enumerated as the first enumerated storage device for both the BIOS and the OS of the information handling system based on the first enumeration order of the BIOS, wherein the first enumerated storage device is a partition of the particular storage device and identified as disk0, including:

determining that an OS installation mode provided by the BIOS is enabled;

in response to determining that the OS installation mode provided by the BIOS is enabled, i) exposing only the particular storage device, that is the first enumerated storage device based on the first enumeration order of the BIOS, to an OS installer computing module, and ii) disabling the remaining storage devices of the plurality of storage devices to the OS installer computing module;

determining that a logical unit number (LUN) is set by the BIOS as the first enumerated storage device, including setting a unique identifier (UID) for the particular storage device;

in response to determining that the LUN is set by the BIOS as the first enumerated storage device:

fetching, by an OS installer computing module, data associated with the LUN based on the UID;

parsing, by the OS installer computing module, the LUN data; and

assigning, by the OS installer computing module, based on the parsing, the LUN as the first enumerated storage device for the OS.

20. The computer readable medium of claim 19 , the operations further comprising after exposing the particular storage device to the OS installer computing module, installing, by the OS installer computing module, the OS on the first enumerated storage device.

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 6, 2020
From: LIU, WEI; VIJAYAKUMAR, GOBIND; KOLADI, KRISHNAPRASAD
To: DELL PRODUCTS L.P.
Reel/Frame 052590/0634 →
Continuity (1)
Related Publication 20210349732A1 · Nov 11, 2021