Virtual Logical Unit Booting via Dummy Device for Unknown Storage Arrays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Booting an information handling system from a virtual logical unit spanning multiple PCIe devices is challenging, especially with software RAID, as the virtual logical unit may not be ready during SCSI discovery, leading to potential operating system crashes due to an unrecognized boot device.
Innovation Solution
The system constructs a virtual logical unit based on metadata of physical storage resources after enumeration and responds to input/output commands with a dummy logical unit or indication of being busy before construction, allowing the operating system to continue booting without requiring the exact count of PCIe devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system waits for all PCIe devices to be enumerated and the virtual logical unit to be constructed before responding to I/O commands, then the boot device will be properly recognized, but the operating system may crash during boot because SCSI discovery cannot find a boot device in time
Solution Approach 1:
The patent applies preliminary action by creating a dummy logical unit before the actual virtual logical unit is constructed. This dummy unit is prepared in advance during device enumeration so that when SCSI discovery occurs, there is already a boot device available for the operating system to recognize, preventing boot crashes while the actual virtual logical unit construction continues in the background
2Ease of operation
If the system responds to I/O commands with a dummy logical unit before the virtual logical unit is constructed, then the operating system can continue booting, but the system must manage both dummy and actual logical units
Solution Approach 1:
The dummy logical unit serves as an intermediary between the SCSI discovery process and the actual virtual logical unit. It mediates by providing a placeholder that satisfies the operating system's boot device requirements during discovery, while the actual virtual logical unit is constructed in the background. The system manages both units by transitioning from the dummy unit to the actual unit once construction is complete
3Adaptability or versatility
If the system requires knowledge of the exact number of PCIe devices to construct the virtual logical unit, then the construction process can be precisely controlled, but the system cannot boot from a virtual logical unit spanning an unknown number of devices
Solution Approach 1:
The system performs preliminary device enumeration to identify available PCIe devices and creates the dummy logical unit based on this initial information. This preliminary action allows the system to proceed with boot operations even though the final virtual logical unit construction may involve additional devices that are discovered later. The approach separates the boot-critical dummy unit creation from the complete virtual logical unit construction
Solution Approach 2:
The system uses metadata from the enumerated devices to automatically construct both the dummy logical unit and the actual virtual logical unit without requiring external configuration or explicit device counting. The construction process is self-service, using available information to proceed with boot operations while maintaining adaptability to the actual number of devices present
Data Source
AI summary
In accordance with embodiments of the present disclosure, an information handling system may include a processor and a plurality of physical storage resources communicatively coupled to the processor via a bus, the plurality of physical storage resources configured to, in order to facilitate booting from a virtual logical unit spanning the plurality of physical storage resources: (i) after enumeration of the plurality of physical storage resources, construct the virtual logical unit based on metadata of the plurality of physical storage resources; and (ii) prior to construction of the virtual logical unit, respond to input/output commands from an operating system of the information handling system with data associated with a dummy logical unit or with an indication that the dummy logical unit is busy.


