PCIe Virtualization via Intercepting Device Encapsulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer systems using PCIe switches face limitations in routing data packets, as they prevent servers connected to downstream bridges from issuing transactions in the upstream direction, restricting the utilization of I/O endpoint devices.

Innovation Solution

An intercepting device with encapsulation logic is employed to intercept and encapsulate prohibited data packets within allowed transactions, enabling their routing upstream through the switch by converting configuration transactions into data transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional PCIe switches are used to route data packets, then the switch can forward data packets between devices, but servers connected to downstream bridges cannot issue transactions in the upstream direction

Engineering Contradiction:
Improvetransaction routing capabilityVSAvoidupstream transaction issuance
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces an intercepting device as an intermediary component between the server and the PCIe switch. This intercepting device captures configuration transactions from the server, converts them into data transactions, and forwards them through the switch. The intercepting device acts as a mediator that enables upstream transaction routing without modifying the conventional switch architecture, thus resolving the contradiction between routing capability and transaction issuance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the fundamental parameter of transaction type by converting configuration transactions into data transactions. This parameter transformation allows the transactions to be routed through the switch in the upstream direction, which would otherwise be prohibited. The conversion of transaction type is the key mechanism that enables the desired routing capability while maintaining compatibility with conventional PCIe switch operation.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If I/O endpoint devices are shared by multiple computers, then resource utilization and scalability improve, but device complexity and routing limitations increase

Engineering Contradiction:
ImproveI/O device sharing capabilityVSAvoidvirtualization infrastructure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The intercepting device serves as a virtualization intermediary that enables multiple computers to share I/O endpoint devices. By converting configuration transactions into data transactions, the intercepting device facilitates virtual I/O device sharing without requiring complex modifications to the underlying PCIe switch architecture. This approach achieves device sharing capability while minimizing the increase in system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a virtual copy of the I/O endpoint device through transaction conversion. By transforming configuration transactions into data transactions, the system creates a virtual representation of the physical device that can be accessed by multiple computers simultaneously. This copying mechanism enables device sharing while maintaining a relatively simple infrastructure, as it operates at the transaction level rather than requiring physical duplication or complex virtualization hardware.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10007630B2Encapsulation enabled PCIE virtualisation
Publication Date: 2018.06.26 MICRON TECHNOLOGY INC
  • US10007630B2 patent drawing
  • US10007630B2 patent drawing
  • US10007630B2 patent drawing

AI summary

A method for transmitting data packets from a first device through a switch to a second device is described. The method is performed at an intercepting device intermediate the first device and the switch device. The method comprises receiving a first data packet from the first device, determining that the first data packet is to be transmitted to the second device and determining whether the first data packet is of a first type that can not be transmitted from the intercepting device to the second device through the switch. If the first data packet is of the first type, the first data packet is encapsulated within a second data packet and transmitting the second data packet through the switch to the second device. If the first data packet is not of the first type, the method comprises transmitting the first data packet through the switch to the second device.