Virtualizing Host USB Adapter via Segmented Queues
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If multiple physical USB adapters are used for each partition, then USB device connectivity is ensured, but power consumption and cost increase significantly
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.
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.
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
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.
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.
Data Source
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.


