PCI-Express Switch Response Routing via Unique Node ID
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In PCI-Express communication systems, response packets may be misrouted or lost when bus numbers and device numbers are replaced due to node failures, preventing accurate determination of memory write processing completion.
Innovation Solution
Assigning unique node IDs and dedicated channels for data transfers, with packet types indicating requests or responses, ensures that response packets are routed correctly even after ID replacements, using only address routing for memory write request packets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If bus numbers and device numbers are replaced due to node failures in PCI-Express communication systems, then system adaptability is improved, but response packet routing reliability deteriorates causing misrouting or loss of response packets
Solution Approach 1:
The patent applies preliminary action by pre-allocating dedicated response packet transmission channels when request packets are sent. The response channel is reserved in advance using the original requester's ID, ensuring that even if bus/device numbers change later, the response packet has a pre-designated safe path back to the original requester.
Solution Approach 2:
The patent introduces an intermediary mechanism where the switch uses the original requester ID (stored in the request packet) as a mediator to route response packets. This intermediary identifier remains constant even when bus/device numbers change, serving as a stable reference for response routing.
2Adaptability or versatility
If ID replacement is performed to handle node failures, then system recovery capability is improved, but response packet delivery accuracy deteriorates
Solution Approach 1:
The system performs preliminary action by recording the original requester ID before any ID replacement occurs. This pre-captured identifier is then used to accurately route response packets back to the correct node, regardless of subsequent ID changes, thereby maintaining delivery accuracy while enabling system recovery.
Solution Approach 2:
The patent uses copying by creating a copy of the original requester ID from the request packet and storing it in the switch's routing table. This copied identifier serves as a permanent reference that remains unchanged during ID replacement, ensuring accurate response packet delivery.
3Measurement precision
If dedicated response channels are allocated for each request, then response packet routing accuracy is improved, but communication system complexity increases
Solution Approach 1:
The patent applies universality by making the switch's routing table serve multiple functions: it stores both forward routing information (for request packets) and backward routing information (for response packets). This multi-functionality reduces the need for separate dedicated routing structures, thereby limiting the increase in system complexity.
Solution Approach 2:
The patent merges the request routing function and response routing function into a single routing table structure. By combining these functions and using the same data structure for both directions, the system achieves accurate response packet routing without proportionally increasing complexity.
Data Source
AI summary
To be able to transmit a response packet to a target, which is the original request source node, even if, after issuing a request from a node to another, a bus ID/a device ID is replaced in the PCI-Express switch before said another node makes a response to the request source node in a PCI-Express communication system, which uses a PCI-Express switch. For that purpose, a unique node ID for indicating each node is set to the nodes, a channel ID is set to each channel used for data transfer, and the node ID of the transfer destination module, the channel ID of a channel used for the data transfer, and the packet type indicating that the packet is a request or a response are set in an address field of a packet of data transfer. For the data transfer, only a memory write request packet routed by address routing is used.


