Pre-boot Remote Block I/O via EFI and UNDI Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems cannot perform block-level I/O operations with remote storage devices during the pre-operating system (pre-O/S) phase, limiting the use of remote block level devices as boot devices due to the absence of a pre-boot mechanism for transmitting SCSI packets.
Innovation Solution
The implementation of EFI/platform firmware and out-of-band microcontrollers enables routing of I/O sequences, allowing pre-O/S access to remote block level devices by using UNDI and iSCSI abstractions, making remote block devices usable for booting, similar to locally connected devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If network file abstraction is used to access remote storage devices, then the operating system can access remote storage devices through network drives, but block-level I/O cannot be performed during pre-boot phase
Solution Approach 1:
The patent introduces an intermediary mechanism (firmware or out-of-band microcontroller) that mediates between the pre-boot environment and remote iSCSI storage devices. This intermediary enables block-level I/O operations during pre-boot by translating and forwarding SCSI commands over the network without requiring full operating system drivers, thus resolving the contradiction between remote storage accessibility and pre-boot complexity.
2Ease of operation
If iSCSI block level abstractions are used during O/S-runtime phase, then direct access to file sectors is enabled, but remote block level devices are not visible during pre-O/S phase
Solution Approach 1:
The patent implements preliminary action by enabling block-level I/O capabilities to the extent needed during the pre-boot phase through firmware or out-of-band microcontrollers. This allows the system to perform necessary block-level operations (such as loading boot images) before the full operating system and its drivers are loaded, thereby reducing boot time and making remote devices visible earlier in the boot process.
3Adaptability or versatility
If remote iSCSI devices are used as boot devices, then block-based I/O through IP networks is enabled, but no pre-boot mechanism exists for transmitting SCSI packets
Solution Approach 1:
The patent employs an intermediary (firmware or out-of-band microcontroller) that handles the complexity of pre-boot SCSI packet transmission over IP networks. This intermediary manages the translation and forwarding of SCSI commands without requiring complex pre-boot transmission mechanisms to be implemented in the main system, thus enabling remote boot capability while managing device complexity.
4Ease of operation
If O/S drivers are required for block level abstractions, then direct sector access is enabled, but remote devices cannot be accessed during pre-boot phase
Solution Approach 1:
The patent implements self-service by enabling the firmware or out-of-band microcontroller to handle block-level I/O operations independently without requiring operating system drivers. The intermediary components perform the necessary functions of translating and forwarding SCSI commands, constructing and transmitting command descriptor blocks, and managing data transfer during pre-boot, thus enabling sector access capability and pre-boot device visibility simultaneously.
Data Source
AI summary
A method for redirecting I/O (Input/Output) sequences. A computer platform is initialized. If the computer platform is enabled for command packet rerouting, the platform firmware may be used to install a runtime enable block I/O interface and a standard UNDI (Universal Network Device Interface) interface for routing I/O requests to a network controller or an out-of-band processor may be used to route I/O requests to a network interface controller. The routing of the I/O requests to the network controller or network interface controller enables the computer platform to boot from a remote block I/O storage device.


