Indirection-Based Packet Queue Segmentation for High-Speed I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity of cache-based architectures and the inability to accurately model cache events and system interactions, such as interrupts and Direct Memory Access (DMA), lead to performance discrepancies between simulated and actual system performance, resulting in reduced confidence in device capabilities and increased debugging challenges.

Innovation Solution

The implementation of advanced emulation features, including high-speed networking systems like PCI-Express and Serial Rapid I/O, which utilize indirection to create multiple independent FIFOs from shared memory, providing efficient packet storage and processing, and tools for enhanced debug and profiling capabilities like stall cycle profiling, event profiling, cache viewer, and memory protection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single FIFO queue is used for packet storage in high-speed networking systems, then device complexity is reduced, but transaction processing efficiency deteriorates due to Head-Of-Line blocking

Engineering Contradiction:
Improvequeue structureVSAvoidtransaction processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments a single FIFO queue into multiple virtual FIFO queues using indirection mechanisms. Each transaction type can be assigned to specific virtual queues, allowing independent processing of different transaction types and preventing Head-Of-Line blocking between them, while maintaining the appearance of a single physical queue structure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an indirection layer (mediator) between the physical FIFO queue and the logical queue structure. This indirection mechanism allows multiple virtual queues to be mapped to a single physical queue, enabling efficient packet storage and independent processing of different transaction types without requiring multiple physical queues

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If simulators are used to model cache-based architectures, then development time is reduced, but measurement precision deteriorates due to inability to accurately model cache events and system interactions

Engineering Contradiction:
Improvedevelopment timeVSAvoidperformance modeling accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The patent creates an emulation environment that copies the actual target system behavior more accurately than traditional simulators. By using hardware emulation to replicate cache events, interrupts, and DMA interactions, the system provides visibility into actual system behavior while maintaining faster development cycles compared to pure software simulation

Inventive Principle:
Principle #26Copying

3Ease of operation

If traditional debugging approaches are used without advanced emulation features, then ease of operation is maintained, but loss of information increases due to lack of visibility into system and memory behavior

Engineering Contradiction:
Improvedebugging simplicityVSAvoidsystem behavior visibility
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent implements advanced debugging features that provide real-time feedback into system and memory behavior through emulation. Features such as stall cycle profiling, event profiling, cache viewing, and memory protection monitoring give developers visibility into system operations without complicating the debugging process, as all information is presented through integrated tooling

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7710969B2Rapid I/O traffic system
Publication Date: 2010.05.04 TEXAS INSTRUMENTS INC
  • US7710969B2 patent drawing
  • US7710969B2 patent drawing
  • US7710969B2 patent drawing

AI summary

High speed networking systems such as PCI-Express and Serial Rapid I/O are based on the exchange of packets across switched networks of high speed serial links. Information in the headers of these packets indicate the kind of transaction they represent. Queuing all received packets in a single queue will cause interactions between transaction types. Indirection can be used create the effect of multiple independent queues from a shared memory. This provides efficient centralized packet storage, while allowing independent processing of different transactions types.