PCIe Endpoint Bandwidth via Dual Link Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The PCIe bandwidth available to endpoint devices in computer systems is limited, particularly for graphics applications using turbo cache technology, where the PCIe link becomes a bottleneck, restricting bus throughput efficiency.

Innovation Solution

A computer system configuration with first and second controllers and an endpoint device connected through first and second PCIe links, allowing the endpoint device to utilize increased bandwidth by sending read requests over multiple PCIe links and receiving ordered read completion packets, thereby enhancing PCIe bus throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a single PCIe link is used to connect endpoint device to controllers, then device complexity is reduced, but PCIe bandwidth is limited causing bottleneck in graphics applications

Engineering Contradiction:
ImprovePCIe bandwidthVSAvoidnumber of PCIe links
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system segments the PCIe communication path by implementing multiple PCIe links (first PCIe link and second PCIe link) between the endpoint device and controllers. This allows bandwidth segmentation where different data streams can be transmitted simultaneously over separate physical links, thereby increasing total available bandwidth without requiring a single complex high-speed link.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention transitions from a single-dimension PCIe connection to a multi-dimensional architecture by adding spatial redundancy through multiple PCIe links. This dimensional expansion allows parallel data transmission paths, effectively multiplying the bandwidth capacity while distributing the complexity across separate manageable links rather than concentrating it in one link.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If read requests are sent over multiple PCIe links to increase bandwidth, then PCIe bandwidth is increased, but maintaining proper ordering of read completion packets becomes more difficult

Engineering Contradiction:
ImprovePCIe bandwidthVSAvoidordering of read completion packets
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the endpoint device monitors and tracks the status of read requests sent over multiple PCIe links. By maintaining state information about outstanding requests and their expected order, the system can properly reorder or buffer read completion packets to ensure correct sequencing, thus maintaining reliability while utilizing multiple links for increased bandwidth.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The invention applies preliminary action by pre-establishing tracking and buffering structures at the endpoint device before read requests are dispatched over multiple PCIe links. This allows the system to anticipate and manage the ordering requirements of completion packets in advance, ensuring that even though packets may arrive out of order from different links, they can be correctly sequenced without compromising data integrity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7705850B1Computer system having increased PCIe bandwidth
Publication Date: 2010.04.27 NVIDIA CORP
  • US7705850B1 patent drawing
  • US7705850B1 patent drawing
  • US7705850B1 patent drawing

AI summary

In a computer system employing PCI Express (PCIe) links, the PCIe bandwidth is increased by configuring an endpoint device with at least two PCIe interfaces, and coupling the first of these interfaces with a PCIe interface of a system controller and the second of these PCIe interfaces with an expansion PCIe interface of an I/O controller. Therefore, the endpoint device's performance becomes more efficient. For example, if the endpoint device is a graphics processing unit, then the endpoint device can execute more frames per second. When a read request is split up and issued as multiple read requests over the at least two PCIe interfaces, the multiple read completion packets that are received in response thereto are ordered in accordance with the timing of the multiple read requests.