Race-Free Level-Sensitive Interrupt Delivery via Fabric

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, peripherals asserting interrupts can create a race condition between write operations and interrupt service routine execution, leading to erroneous operations due to data not being globally visible when read by the CPU.

Innovation Solution

An interrupt message circuit is introduced to ensure that write operations are globally visible before transmitting interrupt messages over a communication fabric, alleviating the race condition by tracking and ordering operations, and using level-sensitive interrupt signals with set and clear messages to maintain accurate interrupt states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If interrupts are delivered immediately after peripheral write operations, then interrupt response time is improved, but race conditions occur where data is not globally visible causing erroneous operations

Engineering Contradiction:
Improveinterrupt response timeVSAvoiddata visibility correctness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The interrupt message circuit performs preliminary action by tracking write operations and ensuring they are globally visible before transmitting the interrupt message. The circuit waits for write completion and visibility confirmation before asserting the interrupt, eliminating the race condition while maintaining timely interrupt delivery.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If write operations are tracked to ensure global visibility, then data integrity is improved, but device complexity increases due to additional tracking circuitry

Engineering Contradiction:
Improvedata integrityVSAvoidinterrupt message circuit complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The interrupt message circuit merges multiple functions into a single integrated component: it tracks write operations, determines global visibility, and transmits interrupt messages. By combining these functions in one circuit rather than separate components, the solution achieves data integrity without proportionally increasing overall device complexity.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If interrupt messages are transmitted on communication fabric after write operations, then race conditions are alleviated, but transmission time is increased

Engineering Contradiction:
Improveoperation ordering correctnessVSAvoidinterrupt transmission delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The interrupt message circuit operates continuously, tracking write operations and preparing interrupt messages in parallel. Rather than sequential processing, the circuit maintains continuous monitoring and transmission readiness, minimizing the delay between write completion and interrupt delivery while ensuring correct ordering.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9152588B2Race-free level-sensitive interrupt delivery using fabric delivered interrupts
Publication Date: 2015.10.06 APPLE INC
  • US9152588B2 patent drawing
  • US9152588B2 patent drawing
  • US9152588B2 patent drawing

AI summary

In an embodiment, a system includes at least one peripheral device, an interrupt controller, a memory controller, at least one CPU, and an interrupt message circuit coupled to the peripheral device. The interrupt message circuit may be coupled to receive the interrupt signal from the peripheral device, and may be configured to generate an interrupt message for transmission on a communication fabric. In some embodiments, there may be multiple peripherals which have independent paths through the fabric for memory operations to the memory controller. Each such peripheral may be coupled to an instance of the interrupt message circuit. In an embodiment, the interrupt is level sensitive. The interrupt message circuit may be configured to transmit interrupt set messages an interrupt clear messages to the interrupt controller, to indicate the levels.