I/O Virtualization Proxy Controller for Shared Resource Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer systems do not effectively share input/output (I/O) devices, limiting resource utilization, scalability, and reliability, as each system has dedicated I/O devices, which hinders features like load balancing, failover, and bandwidth aggregation.

Innovation Solution

Implementing I/O virtualization through a control element, such as a virtualization proxy controller, that modifies data packets transparently before access, allowing multiple devices to share I/O resources by redirecting data packets based on predetermined criteria, and maintaining relationships between logical and physical device identifiers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If I/O devices are dedicated to each computer system, then device reliability and simplicity are maintained, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvedevice reliabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the I/O device resources by creating virtual I/O devices that are logically separated and assigned to different computer systems. Each virtual I/O device appears as a dedicated device to its assigned system, while physically sharing the same physical I/O device. This segmentation enables multiple systems to simultaneously utilize the same physical resources without interference, thereby improving resource utilization efficiency while maintaining the reliability benefits of dedicated device access.

Inventive Principle:
Principle #1Segmentation

2Productivity

If I/O devices are shared between multiple computer systems, then resource utilization efficiency improves, but device complexity and control difficulty increase

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a control element as an intermediary between computer systems and shared I/O devices. This control element manages all access requests to the shared devices, allocating resources dynamically to different systems based on predetermined criteria. By centralizing control in this intermediary component, the system achieves efficient resource sharing without requiring complex modifications to the I/O devices themselves or the computer systems accessing them, thus limiting the increase in overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If I/O virtualization is implemented with transparent operation, then ease of operation is improved, but control element complexity increases

Engineering Contradiction:
Improveease of operationVSAvoidcontrol element complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the complexity of I/O device management and virtualization logic from the computer systems and concentrates it entirely in the control element. This extraction allows the computer systems to operate with simplified, transparent interfaces that require no special configuration or awareness of the virtualization infrastructure. The control element handles all complex operations including device assignment, data packet modification, and access coordination, thereby improving ease of operation for end systems while confining complexity to the dedicated control component.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9880954B2Method and apparatus for providing data access
Publication Date: 2018.01.30 MICRON TECHNOLOGY INC
  • US9880954B2 patent drawing
  • US9880954B2 patent drawing
  • US9880954B2 patent drawing

AI summary

A method of providing access to first data stored at a first device to a second device, the first device storing the first data in a memory accessible to said second device. The method comprises, at a control element distinct from each of said first and second devices accessing the stored first data in said memory accessible to said second device before said first data is accessed in said memory accessible to said second device by said second device.