I/O Virtualization Device for Multi-Computer Address Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional I/O systems are designed to operate within a single computer's address space, preventing I/O device sharing between multiple computers and requiring changes to operating systems and device drivers to facilitate sharing.

Innovation Solution

An I/O virtualization system that creates a unique address space for the I/O device, maps this space onto the address spaces of multiple computers, and allocates memory and interrupt resources separately, allowing for the sharing of I/O devices without modifying existing operating systems or device drivers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If an I/O device is allocated to a single computer, then the device can operate reliably within a dedicated address space, but the device cannot be shared between multiple computers

Engineering Contradiction:
ImproveI/O device sharing capabilityVSAvoidaddress space mapping system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an I/O virtualization device as an intermediary component between multiple computers and the I/O device. This virtualization device maintains a configuration register that stores address space mapping information, acting as a mediator that translates address requests from multiple computers to the single I/O device, thereby enabling sharing without direct complexity in each computer system

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the address space by creating separate address space mappings for each computer that accesses the I/O device. The configuration register is divided into multiple fields, each storing mapping information for a specific computer's address space, allowing independent management of each computer's access path to the shared I/O device

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If conventional I/O systems are used, then operating systems and device drivers work as designed, but modifications are required to enable I/O device sharing

Engineering Contradiction:
ImproveI/O device sharing capabilityVSAvoidsystem modification requirement
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The I/O virtualization device serves as an intermediary layer that transparently handles address translation between multiple computers and the I/O device. This allows existing operating systems and device drivers to continue operating without modification, as they interact with the virtualization device using standard protocols rather than requiring changes to their core functionality

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates virtual copies of address space mappings in the configuration register, where each computer's address space is represented as a separate field. This virtual copying approach allows multiple computers to access the I/O device simultaneously with their own address space views, eliminating the need to modify operating systems or device drivers while enabling sharing

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8683110B2I/O system and I/O control method
Publication Date: 2014.03.25 NEC CORP
  • US8683110B2 patent drawing
  • US8683110B2 patent drawing
  • US8683110B2 patent drawing

AI summary

Virtual Functions (VFs) 602-1 to 602-N of an I/O device are separately allocated to a plurality of computers 1-1 to 1-N. In an address swap table 506, a root domain that is an address space of the computer 1 and mapping information of an I/O domain that is an address space unique to the I/O device 6 are registered. Mapping is set with the VFs 602-1 to 602-N as units. When accessing the VFs 602-1 to 602-N of the I/O device 6 to which each of the computers 1-1 to 1-N is allocated, an I/O packet transfer unit 701 checks the address swap table 506 to swap source/destination addresses recorded in packet headers.