Adaptive Interrupt on Serial Rapid I/O Endpoint

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional serial RapidIO (sRIO) systems face issues with unpredictable interrupt latency due to the speed difference between data packet and doorbell command paths, leading to incomplete data packets being processed, which affects real-time applications that require timely data sampling and processing.

Innovation Solution

A serial buffer with a doorbell controller that monitors data packet transmission and generates doorbell commands only when a predetermined number of packets are received, ensuring all packets are available in system memory before sending the command, and dynamically adjusts the delay to accommodate different sRIO system topologies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If doorbell commands are sent immediately when data packets arrive through the fast path, then interrupt latency is reduced, but data packets may be incomplete when processed

Engineering Contradiction:
Improveinterrupt latencyVSAvoiddata completeness
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs preliminary action by sending doorbell commands only after all data packets have been received and stored in system memory, even though this delays the interrupt notification. The doorbell controller monitors the data path and generates the doorbell command at the appropriate time when data completeness is ensured, thus preventing incomplete data processing while maintaining relatively low latency through efficient monitoring.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If doorbell commands wait for all data packets to be received before being sent, then data completeness is ensured, but interrupt latency increases

Engineering Contradiction:
Improvedata completenessVSAvoidinterrupt latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The doorbell controller implements feedback by continuously monitoring the data packet reception status and using this information to determine when to send the doorbell command. The controller receives feedback about packet arrival at the system memory and adjusts the doorbell command timing accordingly, sending the command only when all packets are confirmed received, thus ensuring data completeness while minimizing unnecessary delays.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If a fixed delay is used between data packet arrival and doorbell command generation, then timing predictability is improved, but adaptability to different system topologies is reduced

Engineering Contradiction:
Improvetiming predictabilityVSAvoidsystem topology adaptability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The system applies dynamics by making the doorbell command generation timing adaptive rather than fixed. The doorbell controller dynamically adjusts the timing based on actual system conditions, including different system topologies and path speed variations. This allows the system to maintain timing predictability within each configuration while adapting to different overall system architectures, resolving the contradiction between fixed timing and adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7818470B2Adaptive interrupt on serial rapid input/output (SRIO) endpoint
Publication Date: 2010.10.19 AXIRO SEMICONDUCTOR INC
  • US7818470B2 patent drawing
  • US7818470B2 patent drawing
  • US7818470B2 patent drawing

AI summary

A serial buffer is configured to transmit a plurality of received data packets through a data packet transfer path to a host processor. A doorbell controller of the serial buffer monitors the number of data packets transmitted to the host processor through the data packet transfer path, and estimates the number of data packets actually received by the host processor. The doorbell controller generates a doorbell command each time that the estimated number of data packets corresponds with a fixed number of data packets in a frame. The doorbell commands are transmitted to the host processor on a doorbell command path, which is faster than the data packet transfer path. The doorbell controller may estimate the number of data packets actually received by the host processor in response to a first delay value, which represents how much faster the doorbell command path is than the data packet transfer path.