TAG Field Routing for PCI Express Completion Packets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The PCI Express system's existing TRANSACTION_ID-based routing mechanism requires look-up tables to identify clients, leading to increased latency and memory usage due to the large number of outstanding transactions, which can 'clog' the system and limit TAG field usage to 5 bits, causing inefficiencies in data transfer.

Innovation Solution

The proposed data packet routing mechanism utilizes specific bits in the TAG field to directly route completion packets to the requesting client by embedding information that identifies the client group, client ID, and read request number, eliminating the need for look-up tables and optimizing data transfer by reducing latency and bandwidth constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If TRANSACTION_ID-based routing with look-up tables is used to identify clients, then routing accuracy is improved, but latency increases and memory usage increases

Engineering Contradiction:
Improverouting accuracyVSAvoidlatency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts the client identification information directly from the TAG field of the TRANSACTION_ID and uses it to route completion packets without requiring a look-up table. The TAG field bits are taken out and used as direct routing indices, eliminating the intermediate lookup step that causes latency and memory usage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the 8-bit TAG field into multiple portions: some bits identify the client group, other bits identify the specific client within the group, and remaining bits identify the read request number. This segmentation allows direct routing without full look-up tables while maintaining routing accuracy.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If TAG field is used as 8-bit field to identify clients, then client identification capability is improved, but system clogging increases due to too many outstanding transactions

Engineering Contradiction:
Improveclient identification capabilityVSAvoidsystem throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the TAG field functionality: some bits are allocated for client group identification, some for specific client identification, and some for read request numbering. This segmentation provides sufficient client identification capability while limiting the total number of outstanding transactions per device to 32, preventing system clogging.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter allocation within the TAG field from the traditional 8-bit counter usage to a segmented structure where bits are assigned to different functions (client group, client ID, request number). This parameter reconfiguration maintains identification capability while controlling transaction volume.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If look-up tables are used to route completion packets to clients, then routing accuracy is improved, but memory consumption increases

Engineering Contradiction:
Improverouting accuracyVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts client identification information directly from the TAG field bits and uses these bits as direct indices for routing completion packets. This eliminates the need for large look-up tables in memory, reducing memory consumption while maintaining routing accuracy through direct bit-based indexing.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses the TAG field bits themselves as the routing key rather than requiring a separate look-up table structure. The bit pattern in the TAG field is copied and used directly to index into smaller routing structures, eliminating the need for large memory tables.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7502881B1Data packet routing mechanism utilizing the transaction ID tag field
Publication Date: 2009.03.10 EMC IP HLDG CO LLC
  • US7502881B1 patent drawing
  • US7502881B1 patent drawing
  • US7502881B1 patent drawing

AI summary

A data packet routing mechanism including a plurality of clients for issuing read requests to a host device, the read requests each including a TAG field for identifying which of the plurality of clients issued a particular read request, wherein a completion response corresponding to the particular read request, including the TAG field, is issued from the host to the client that sent the read request, the plurality of clients being organized into M groups, each group including a predetermined number of clients; a first level routing device having an input for receiving completion responses from the host and a plurality of outputs for transmitting completion responses; and a plurality of second level routing devices, each being coupled to the plurality of clients in one of the M groups, and having an input for receiving completion responses from the first level routing device and a plurality of outputs, each output for transmitting completion responses to one of the plurality of clients in the group. The TAG field associated with each completion response includes a predetermined number of bitfields, a first bitfield of the TAG field being read by the first level routing device and providing the first level routing device with an identity of the second level routing device to which the completion response is to be transmitted, to which second level routing device the first level routing device transmits the completion response, and a second bitfield of the TAG field being read by the second level router device that receives the completion response from the first level routing device, the second bitfield providing the second level routing device with the identity of the client within the group to which the completion response is to be transmitted, to which the second level routing device transmits the completion response.