Pre-boot Remote Block I/O via EFI and UNDI Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveremote storage device accessibilityVSAvoidpre-boot mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveblock-level I/O capabilityVSAvoidboot time
Core Design Contradiction:
Ease of operationVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveremote boot capabilityVSAvoidpre-boot transmission mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvesector access capabilityVSAvoidpre-boot device visibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8862785B2System and method for redirecting input/output (I/O) sequences
Publication Date: 2014.10.14 INTEL CORP
  • US8862785B2 patent drawing
  • US8862785B2 patent drawing
  • US8862785B2 patent drawing

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.