Upstream Port Multiple Device Number Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional PCI Express (PCIe) upstream ports are limited to supporting a single internal device due to the requirement of a one-to-one correspondence between devices and I/O cards, restricting the ability to handle multiple logical devices and limiting chipset partitioning flexibility.
Innovation Solution
Implementing multiple device number (MDN) response and request logic within computer systems to dynamically allocate and assign device numbers to internal devices, allowing for the support of multiple logical devices on point-to-point links and upstream ports through a two-message handshake protocol.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional PCIe upstream ports use one-to-one correspondence between devices and I/O cards, then device mapping is simple and reliable, but the system cannot support multiple logical devices on a single upstream port
Solution Approach 1:
The patent segments the device number allocation process into distinct phases: discovery phase where the downstream component identifies its internal devices, request phase where MDN requests are sent to the upstream component, and allocation phase where device numbers are assigned. This segmentation allows multiple logical devices to be supported while maintaining manageable complexity through structured process division.
Solution Approach 2:
The patent implements preliminary action by requiring the downstream component to discover and enumerate its internal devices before initiating MDN requests to the upstream component. This preliminary device discovery ensures that the upstream component receives accurate information about the number of logical devices needed, enabling proper resource allocation before actual device operation begins.
2Adaptability or versatility
If PCIe retains the conventional PCI device concept requiring one-to-one correspondence, then backward compatibility is maintained, but chipset partitioning flexibility is limited
Solution Approach 1:
The patent introduces dynamic device number allocation where the upstream component can assign multiple device numbers to a single downstream component based on the number of internal devices discovered. This dynamic approach replaces the static one-to-one mapping, enabling flexible chipset partitioning while maintaining operational simplicity through automated assignment processes.
Solution Approach 2:
The patent uses MDN request and response messages as intermediaries between the downstream component and upstream component. These messages carry device number allocation information and enable flexible device mapping without requiring complex manual configuration, thus maintaining ease of operation while achieving chipset partitioning flexibility.
3Productivity
If upstream ports support only single device numbers, then protocol simplicity is maintained, but scalability for future I/O demands is restricted
Solution Approach 1:
The patent makes the upstream port universal by enabling it to handle both single device number assignments (for traditional PCIe devices) and multiple device number assignments (for devices with internal components). The MDN mechanism provides multi-functionality, allowing the same upstream port to serve different device configurations without requiring separate protocols, thus supporting I/O scalability while managing complexity.
Solution Approach 2:
The patent implements a nested structure where multiple logical devices are nested within a single physical upstream port connection. The downstream component contains multiple internal devices that are individually addressed through device numbers allocated by the upstream component, creating a nested relationship that enables scalability without increasing physical connection complexity.
Data Source
AI summary
A method and apparatus for supporting multiple device numbers on point-to-point interconnect upstream ports. In one embodiment, the method includes a downstream component (DC) that performs discovery of internal device components of the DC during initialization of the DC. Subsequent to the discovery of internal devices of the DC, the DC may issue a multiple device number (MDN) request to an upstream component (UC) of the DC. In one embodiment, the MDN request may include an indication that the DC supports a “multiple device number capability,” as well as a quantity of the internal device components of the DC. The DC may receive an acknowledgement MDN from the UC to indicate a quantity of device numbers allocated to the DC. Subsequently, the DC may assign device numbers to the internal device components of the DC according to configuration requests received from the UC. Other embodiments are described and claimed.


