PCIe Endpoint Emulation for Virtual Device Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face complexity in managing and provisioning physical computing resources, especially in large-scale data centers, and lack efficient mechanisms to present physical peripheral devices to virtual machines as if they were locally attached, limiting user access and control in virtual desktop environments.

Innovation Solution

The implementation of enhanced PCIe endpoint devices that emulate PCIe compliant hardware devices, allowing for the presentation of physical devices to virtual computers through bus redirection and software emulation of bus controllers, enabling access to peripheral devices from virtual desktops or virtualized computing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If physical devices are directly connected to virtual machines, then user access and control are improved, but system complexity and provisioning difficulty increase

Engineering Contradiction:
Improveuser access to physical devicesVSAvoidsystem provisioning complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a bus controller emulator as an intermediary component that sits between the physical bus controller and virtual machines. This emulator intercepts bus transactions, emulates the appropriate bus controller behavior, and forwards transactions to the physical device, thereby enabling virtual machines to access physical devices without direct connection while maintaining system simplicity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a software emulation copy of the bus controller that replicates the functionality of the physical bus controller. This copy allows virtual machines to interact with physical devices through simulated bus protocols without requiring actual physical connections, simplifying the system architecture while maintaining full device accessibility

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If bus controller emulation is implemented on PCIe endpoints, then physical device access from virtual environments is enabled, but PCIe endpoint device complexity increases

Engineering Contradiction:
Improvephysical device access capabilityVSAvoidPCIe endpoint device complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal bus controller emulator on the PCIe endpoint device that can emulate multiple different bus controller types (USB, SATA, PCIe, etc.). This multi-functional emulator allows a single PCIe endpoint device to provide access to various physical devices through different bus protocols, enhancing adaptability without requiring separate hardware for each device type

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

Solution Approach 2:

The patent utilizes configurable parameters within the PCIe endpoint device to dynamically change the emulation behavior. By modifying emulation parameters and configuration registers, the same hardware can adapt to emulate different bus controllers and protocols, providing versatility while maintaining hardware simplicity

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If software emulation of bus controllers is used, then flexibility in device presentation is improved, but processing overhead and performance decrease

Engineering Contradiction:
Improvedevice presentation flexibilityVSAvoidbus transaction processing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the bus controller functionality into two parts: the emulation logic (software) and the transaction processing (hardware). The PCIe endpoint device hardware handles the actual bus transactions efficiently, while the software emulation layer provides flexibility in device presentation. This segmentation allows software flexibility without sacrificing hardware processing speed

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10452570B1Presenting physical devices to virtual computers through bus controllers emulated on PCI express endpoints
Publication Date: 2019.10.22 AMAZON TECH INC
  • US10452570B1 patent drawing
  • US10452570B1 patent drawing
  • US10452570B1 patent drawing

AI summary

A system provides remote computing services using physical or virtualized computing resource instances on various host machines. An enhanced PCIe endpoint card connected to a given host machine may include a local processor (e.g., on an SOC device) that emulates PCIe compliant hardware (e.g., a USB controller) in software. A client receiving computing services from the system may redirect USB traffic from a locally-attached physical USB device (e.g., an input/output, storage, or security device) over the Internet to the enhanced PCIe endpoint card. The enhanced PCIe endpoint card may present an emulated USB controller to an application executing on the host (on the client's behalf) as a device that is locally attached at the given host machine, and the application may access the functionality of the physical USB device by exchanging commands or data with the emulated USB controller through a PCIe controller on the enhanced PCIe endpoint card.