Virtualized PCIe Device Configuration via Message Trap Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveflexibility and scalabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

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

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.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If PCIe devices are virtualized with multiple physical and virtual functions, then adaptability improves, but device complexity increases

Engineering Contradiction:
Improvesupport for device types and functionsVSAvoidconfiguration management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If configuration space is customized for different device types, then versatility improves, but manufacturing precision requirements increase

Engineering Contradiction:
Improvecustomization capabilityVSAvoidconfiguration space programming precision
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11106616B1Virtualized peripheral component interconnect express (PCIe) device
Publication Date: 2021.08.31 XILINX INC
  • US11106616B1 patent drawing
  • US11106616B1 patent drawing
  • US11106616B1 patent drawing

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.