Virtualized PCIe Device Configuration via Message Trap Engine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current PCIe technologies lack the ability to efficiently virtualize and customize PCIe devices, limiting their flexibility and scalability in supporting various device types and numbers of physical and virtual functions, especially in virtualized environments.
Innovation Solution
A PCIe device is virtualized and customizable, implemented on a programmable integrated circuit (IC) with a virtual switch and endpoint devices, utilizing a message trap engine module to initialize and maintain configuration spaces, allowing for the exposure of desired capabilities and support for multiple layers of virtualization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional PCIe technologies are used, then system stability is maintained, but flexibility and scalability in supporting various device types and virtual functions are limited
Solution Approach 1:
The patent implements a universal PCIe device architecture that can dynamically support multiple device types and virtual function configurations through programmable logic. The system uses a configurable configuration space that can be programmed to represent different device types, allowing a single physical device to serve multiple functions and adapt to various virtualization requirements without requiring separate hardware for each device type.
Solution Approach 2:
The patent introduces dynamic reconfiguration capability where the PCIe device characteristics (device type, capabilities, configuration space layout) can be changed at runtime through programming the configuration space. This allows the system to adapt to different virtualization scenarios dynamically without physical reconfiguration or system reboot, enabling flexible resource allocation in virtualized environments.
2Adaptability or versatility
If PCIe devices are virtualized with multiple physical and virtual functions, then adaptability improves, but device complexity increases
Solution Approach 1:
The patent introduces a configuration space management mechanism that acts as an intermediary between the physical PCIe device and virtual functions. The configuration space serves as a programmable interface that mediates the mapping between physical device resources and virtual function requirements, simplifying the management of complex multi-function scenarios by providing a standardized programming interface.
Solution Approach 2:
The patent segments the PCIe device configuration into manageable components including configuration spaces for different device types, capability structures, and virtual function mappings. This segmentation allows independent configuration and management of each functional aspect, reducing the overall complexity of managing multiple physical and virtual functions.
3Adaptability or versatility
If configuration space is customized for different device types, then versatility improves, but manufacturing precision requirements increase
Solution Approach 1:
The patent implements self-service configuration mechanisms where the PCIe device can automatically configure its configuration space based on programmed parameters without requiring manual intervention. The system includes automated detection and configuration capabilities that reduce the precision requirements for manual configuration by providing fallback defaults and automated adjustment features.
Data Source
AI summary
Examples described herein generally relate to a Peripheral Connect Interconnect Express (PCIe) device. An example is a non-transitory memory storing a representation of a design that is to be implemented on a programmable integrated circuit. The design includes a classifier module (CM), a message trap engine module (MTEM), and a configuration space. The CM is capable of receiving a PCIe message and is configured to determine whether the PCIe message is a PCIe Type 1 configuration transaction. The CM is configured to forward the PCIe message to an endpoint device and to the MTEM when the PCIe message is a non-PCIe Type 1 configuration transaction and the PCIe Type 1 configuration transaction, respectively. The MTEM is configured to virtualize a downstream port(s) of a virtual switch and maintain the configuration space. The MTEM is capable of accessing the configuration space in response to the PCIe message.


