Virtualizing Host USB Adapter via Segmented Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, USB adapters are not easily sharable between partitions, leading to a high number of physical adapters required, resulting in increased costs, power consumption, and CPU/memory intensity, especially with the growing use of faster USB speeds for diverse devices.

Innovation Solution

A hypervisor administers logical partitions by receiving USB I/O requests, placing work queue elements in queue pairs, and managing USB data communications using direct memory access (DMA) to virtualize a host USB adapter, allowing multiple partitions to share a single physical USB adapter.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a single shared queue is used to virtualize USB devices, then the number of physical adapters is reduced, but CPU and memory intensive operations increase significantly

Engineering Contradiction:
Improvenumber of physical adaptersVSAvoidCPU and memory intensive operations
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides the single shared queue into multiple dedicated queues, with each queue associated with a specific logical partition. This segmentation allows USB frames to be routed directly to the appropriate partition without requiring CPU-intensive sorting operations, while still enabling multiple partitions to share a single physical USB adapter.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a queue pair structure as an intermediary between the physical USB adapter and logical partitions. Each queue pair includes a transmit queue and a receive queue, acting as a buffer and routing mechanism that simplifies the data flow management and reduces the processing burden on the CPU.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple physical USB adapters are used for each partition, then USB device connectivity is ensured, but power consumption and cost increase significantly

Engineering Contradiction:
ImproveUSB device connectivityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent enables a single physical USB adapter to serve multiple logical partitions simultaneously through virtualization. The adapter is presented as multiple logical USB adapters to different partitions, allowing one physical device to perform the function of multiple devices and significantly reducing power consumption.

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

Solution Approach 2:

The patent creates virtual copies of the USB adapter for each logical partition. Each partition receives a logical USB adapter that appears identical to a physical device, but multiple such logical copies share the underlying single physical adapter, reducing the need for additional physical hardware and power consumption.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If USB frames are sorted from a single shared queue to many partitions, then resource sharing is achieved, but performance deteriorates due to CPU intensity

Engineering Contradiction:
Improveresource sharingVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the single shared queue into multiple dedicated queues, one for each logical partition. This eliminates the need for CPU-intensive sorting operations by directly routing USB frames to the appropriate partition's queue based on the frame's destination, thereby maintaining resource sharing while significantly improving performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary routing by associating each queue with a specific logical partition in advance. When USB frames arrive, they are already directed to the correct queue based on pre-established mappings, eliminating the need for real-time sorting decisions and improving processing speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9507619B2Virtualizing a host USB adapter
Publication Date: 2016.11.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9507619B2 patent drawing
  • US9507619B2 patent drawing
  • US9507619B2 patent drawing

AI summary

Virtualizing a host USB adapter in a virtualized environment maintained by a hypervisor, the hypervisor administering one or more logical partitions, where virtualizing includes receiving, by the hypervisor from a logical partition via a logical USB adapter, a USB Input/Output (‘I/O’) request, the logical USB adapter associated with a USB device coupled to the host USB adapter; placing, by the hypervisor, a work queue element (‘WQE’) in a queue of a queue pair associated with the logical USB adapter; and administering, by an interface device in dependence upon the WQE, USB data communications among the logical partition and the USB device including retrieving, with direct memory access (‘DMA’), USB data originating at the USB device from the host USB adapter into a dedicated memory region for the logical USB adapter.