Virtual Block Device Emulation for Legacy BIOS Boot

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy BIOS systems in modern PCs face limitations in accessing storage devices beyond 8.4 GB, requiring complex work-arounds and substantial changes to boot code, and existing solutions for virtual storage devices are not easily adaptable as boot devices without special modifications.

Innovation Solution

A block device interface is created using solid-state memory to emulate an electromechanical data-storage device, allowing an operating system to access it at boot-time through a block device driver, leveraging the Extensible Firmware Interface (EFI) for platform innovation and compatibility with legacy devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If legacy BIOS systems are used to access storage devices, then compatibility with traditional systems is maintained, but access to storage devices beyond 8.4 GB is limited

Engineering Contradiction:
Improvestorage device capacity compatibilityVSAvoidboot code complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a Virtual Block Device (VBD) as an intermediary layer between the legacy BIOS and large-capacity storage devices. The VBD translates BIOS block access requests into file system operations, enabling the legacy BIOS to access storage devices beyond its 8.4 GB addressing limit without modifying the BIOS itself. This intermediary approach maintains compatibility while extending capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a virtual copy of the block device interface that mimics the electromechanical storage device's behavior. This virtual block device presents itself to the BIOS as a traditional block device, allowing the system to work around the addressing limitation by copying the interface semantics rather than changing the underlying hardware constraints.

Inventive Principle:
Principle #26Copying

2Productivity

If virtual storage devices are created using solid-state memory, then boot-time access is enabled, but the interface must emulate electromechanical devices

Engineering Contradiction:
Improveboot-time access speedVSAvoidinterface emulation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces the physical electromechanical storage device with a solid-state memory-based virtual block device. The VBD interface emulates the block device protocol that the BIOS expects from traditional mechanical drives, allowing solid-state memory to serve as a boot device without requiring the BIOS to understand solid-state memory characteristics. This substitution maintains protocol compatibility while leveraging solid-state performance.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If the BIOS addressing space is used, then simple hardware access is achieved, but drives with capacity greater than 8.4 GB cannot be accessed

Engineering Contradiction:
Improvehardware access simplicityVSAvoiddrive capacity compatibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent transitions from the BIOS's traditional block-addressing dimension to a file-system-based dimension. Instead of relying on the BIOS's limited block addressing space, the VBD uses file system paths and names to access data on large-capacity drives. This dimensional shift allows the system to access storage beyond the BIOS addressing limits while maintaining simple hardware access through the virtual interface.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8407396B2Providing block data access for an operating system using solid-state memory
Publication Date: 2013.03.26 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8407396B2 patent drawing
  • US8407396B2 patent drawing
  • US8407396B2 patent drawing

AI summary

Block data access is provided for an operating system by allocating a portion of solid-state memory of a data processing arrangement for use as a block storage device. A block device interface is created that provides access to the portion of solid-state memory via firmware of the data processing arrangement. The block device interface emulates an electromechanical data-storage device. The block device interface is presented to the operating system at a boot-time of the operating system and the block device interface is accessed using a block device driver of the operating system during the boot-time of the operating system. The block device driver emulates the electromechanical data-storage device to the operating system.