Multi-Uplink PCIe Device Enumeration via DVSEC Registers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-socket computing systems, the increased bandwidth demand due to higher processing power leads to bandwidth pressure across processor interconnects, resulting in decreased system performance, and a single PCIe port is often insufficient to meet the bandwidth requirements, potentially causing reliability and accessibility issues.

Innovation Solution

Implementing a multi-uplink PCIe device with a Designated Vendor-Specific Extended Capability (DVSEC) structure that allows for multiple communication links between the device and processors, enabling each port to connect to a different socket, thereby distributing traffic and reducing cross-socket interconnect pressure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If processing power is increased in multi-socket systems, then computing capability is improved, but bandwidth pressure on processor interconnects increases resulting in decreased system performance

Engineering Contradiction:
Improvecomputing capabilityVSAvoidsystem performance
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The device is divided into multiple independent communication links (first link, second link, etc.), each connecting to different sockets. This segmentation allows traffic to be distributed across multiple interconnect paths, preventing any single interconnect from becoming a bandwidth bottleneck while maintaining high computing capability.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If a single PCIe port is used, then device simplicity is maintained, but bandwidth requirements cannot be met causing reliability issues

Engineering Contradiction:
Improvedevice structureVSAvoidbandwidth sufficiency
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The device incorporates multiple PCIe ports (first PCIe port, second PCIe port, etc.) that can independently communicate with different sockets. This multi-functionality enables the device to meet high bandwidth requirements by utilizing multiple communication paths simultaneously, while each individual port maintains standard PCIe specifications for compatibility.

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

3Reliability

If multiple communication links are implemented, then bandwidth pressure is reduced and reliability is improved, but device complexity increases

Engineering Contradiction:
ImproveaccessibilityVSAvoiddevice structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces capability registers as intermediaries that automatically manage the complexity of multiple communication links. These registers store configuration information (link association, port identifiers, total port count) and enable software to automatically discover and configure the multi-link device, reducing the perceived complexity for system integrators.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If capability registers with detailed fields are implemented, then device enumeration and configuration is improved, but register structure complexity increases

Engineering Contradiction:
Improvedevice enumerationVSAvoidregister structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The capability registers are designed to be self-descriptive, containing all necessary information (link association fields, port identifier fields, total port count fields) that enables software to automatically enumerate and configure the device without external assistance. The registers serve themselves by providing complete configuration data that software can parse and act upon autonomously.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11550746B2Multi-uplink device enumeration and management
Publication Date: 2023.01.10 INTEL CORP
  • US11550746B2 patent drawing
  • US11550746B2 patent drawing
  • US11550746B2 patent drawing

AI summary

A device includes a plurality of ports and a plurality of capability registers that correspond to a respective one of the plurality of ports. The device is to connect to one or more processors of a host device through the plurality of ports, and each of the plurality of ports comprises a respective protocol stack to support a respective link between the corresponding port and the host device according to a particular interconnect protocol. Each of the plurality of capability registers comprises a respective set of fields for use in configuration of the link between its corresponding port and one of the one or more processors of the host device. The fields include a field to indicate an association between the port and a particular processor, a field to indicate a port identifier for the port, and a field to indicate a total number of ports of the device.