Virtual PCIe I/O Device Mapping via Hardware Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization systems face bottlenecks when processing requests for virtual I/O devices due to the need for complex routing and resource management, which can lead to performance issues and inefficiencies in utilizing physical I/O resources.

Innovation Solution

A consolidated I/O adaptor is introduced, capable of mapping virtual I/O devices and resources to a standard I/O bus using a flexible scheme that employs PCIe Base Address Registers and a resource mapping table, allowing dynamic creation and configuration of virtual PCIe devices with customizable resources and interfaces, thereby eliminating the need for separate device drivers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a virtual machine monitor is used to route requests to different logical servers via a single physical I/O device, then virtualization and resource consolidation are achieved, but processing bottlenecks occur at the VMM

Engineering Contradiction:
Improvevirtualization capabilityVSAvoidrequest processing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the routing function from the VMM software layer and implements it directly in the physical I/O device hardware. The device now contains built-in logic to route requests to different logical servers without requiring VMM intervention, thereby removing the processing bottleneck while preserving virtualization capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a hardware-based routing mechanism within the physical I/O device that acts as an intermediary between the single physical device and multiple logical servers. This hardware mediator handles request routing directly, eliminating the need for software-based routing through the VMM and improving processing speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If direct mapping of resources to memory addresses is used in physical I/O devices, then simple address decoding is achieved, but flexibility in resource allocation and device configuration is limited

Engineering Contradiction:
Improveaddress decoding complexityVSAvoidresource allocation flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic resource allocation by allowing the physical I/O device to be configured with multiple logical servers and their associated memory address ranges. The device can dynamically route requests to different logical servers based on the destination address, providing flexibility in resource allocation while maintaining relatively simple address decoding through predefined mapping tables.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent makes the physical I/O device universal by enabling it to serve multiple logical servers simultaneously through hardware-based routing. The device can handle requests for different logical servers via a single physical interface, providing multi-functionality without significantly increasing address decoding complexity through the use of unified mapping structures.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7752360B2Method and system to map virtual PCIe I/O devices and resources to a standard I/O bus
Publication Date: 2010.07.06 CISCO TECHNOLOGY INC
  • US7752360B2 patent drawing
  • US7752360B2 patent drawing
  • US7752360B2 patent drawing

AI summary

A method and system to map virtual I/O devices and resources to a standard I/O bus is provided. The system, in one example embodiment, comprises a virtual device detector, a resource allocator, and an activation module. The virtual device detector may be configured to detect an indication of a virtual Peripheral Component Interconnect Express (PCIe) device having an associated template. The resource allocator may allocate, based on the template, a plurality of resources required for the virtual PCIe device from a pool of available resources. The activation module may generate a set of entries in a resource mapping table, the set of entries corresponding to the allocated resources and defining the virtual PCIe device.