Interrupt Aggregation Circuit for PCI Express Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In automatic test equipment (ATE) and other computing systems, the individual processing of interrupts can be problematic, particularly in PCI Express-based systems, as message signal interrupts (MSIs) sent from hardware elements to the processing device can interfere with processing efficiency.

Innovation Solution

The implementation of electronic circuitry that receives interrupts from hardware devices, generates data packets containing information about these interrupts, and sends them to the processing device, using dedicated and multiplexed transmission paths, with a signature to identify the aggregator, allowing efficient interrupt management and service.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If individual interrupts are processed separately by the processing device, then each interrupt can be serviced individually, but processing efficiency deteriorates due to repeated state saves and handler executions

Engineering Contradiction:
Improveinterrupt service reliabilityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines multiple individual interrupts into a single aggregated interrupt message. The electronic circuitry collects interrupts from multiple hardware devices and merges them into one consolidated interrupt packet that is sent to the processing device, reducing the number of times the processing device must save its state and execute interrupt handlers.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces electronic circuitry as an intermediary between hardware devices and the processing device. This intermediary aggregates interrupts before forwarding them to the processing device, thereby protecting the processing device from the overhead of handling numerous individual interrupts while ensuring reliable interrupt service.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If multiple interrupts are multiplexed on the same transmission path, then device complexity is reduced, but interrupt delivery time increases due to sharing the path

Engineering Contradiction:
Improvetransmission path complexityVSAvoidinterrupt delivery time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments interrupt transmission into two phases: aggregation phase where interrupts are collected and combined, and delivery phase where the consolidated interrupt packet is transmitted. This segmentation allows multiple interrupts to be processed together without requiring separate dedicated paths for each, balancing complexity and timing.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If the processing device addresses each interrupt individually, then precise interrupt handling is achieved, but processing efficiency deteriorates due to repeated execution overhead

Engineering Contradiction:
Improveinterrupt identification accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent creates a consolidated copy of multiple interrupt information packets into a single interrupt message. Instead of the processing device handling each original interrupt separately, it receives one aggregated message containing information about multiple interrupts, thereby maintaining accurate interrupt identification while reducing processing overhead.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8914566B2Managing interrupts
Publication Date: 2014.12.16 TERADYNE INC
  • US8914566B2 patent drawing
  • US8914566B2 patent drawing
  • US8914566B2 patent drawing

AI summary

A process for managing interrupts, which may be performed using electronic circuitry, includes: receiving interrupts bound for a processing device, where the interrupts are received from hardware devices that are configured to communicate with the processing device; generating data containing information corresponding to the interrupts; and sending the data to the processing device.