PCI-E Controller Inbound Ordered Tag Queue for Out-of-Order Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current PCI-E protocols face challenges in managing and returning data from fragmented read transactions in increasing-address order, especially when responses are received out-of-order due to varying latency from different memory locations or external devices.

Innovation Solution

A PCI-E controller mechanism that tracks spawned requests and returns data in increasing-address order by using an inbound ordered tag queue (IOTQ) with a collapsible queue structure, ensuring that completions are provided to the requester in the correct order despite out-of-order responses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If PCI-E controller processes fragmented read transactions by spawning multiple requests to different memory locations, then data retrieval productivity is improved, but data ordering reliability deteriorates because responses arrive out-of-order from different memory locations

Engineering Contradiction:
Improvedata retrieval productivityVSAvoiddata ordering reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments a single read transaction into multiple spawned requests that can be processed in parallel to different memory locations. Each spawned request is tracked independently through the inbound ordered tag queue, allowing simultaneous data retrieval from multiple sources while maintaining overall transaction coherence and ordering through the queue management mechanism.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If PCI-E controller uses traditional queue structures to track spawned requests, then device complexity is reduced, but inability to maintain increasing-address order compliance increases protocol violation risk

Engineering Contradiction:
Improvequeue structure complexityVSAvoidprotocol compliance reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements a dynamic queue management system where the inbound ordered tag queue can collapse and reorganize entries based on completion status. The queue structure adapts its state during transaction processing, allowing entries to be removed, merged, or repositioned as spawned requests complete, thereby maintaining protocol compliance without requiring a complex static queue architecture.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8090892B2Ordered queue and methods therefor
Publication Date: 2012.01.03 NXP USA INC
  • US8090892B2 patent drawing
  • US8090892B2 patent drawing
  • US8090892B2 patent drawing

AI summary

A device receives a first request from a requesting device for first information that is stored at contiguous address locations beginning at a first address. A plurality of spawned requests are generated that each request a different portion of the first information. A table location is allocated to each one of the plurality of requests, wherein the relative location of each allocated table location is indicative of an order that the information from each spawned request is to be returned to the requesting device relative to the information from each other spawned request.