Linked Search List for Rapid Interrupt Lookups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for interrupt look-ups in integrated circuits, especially when a large number of interrupt status vectors are stored in memory, are inefficient as they require scanning every address, resulting in a time complexity of O(n) which becomes unacceptably long with a large number of interrupts.

Innovation Solution

Implementing a linked search list in random access memory where activated interrupt status vectors are inserted and dismissed vectors are removed, allowing for rapid look-ups by traversing the list, thereby reducing the time complexity by focusing on active interrupts only.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a linear scan of all interrupt status vectors in memory is performed, then all interrupts can be checked, but the lookup time becomes unacceptably long when the number of interrupts is large

Engineering Contradiction:
Improveinterrupt status checking completenessVSAvoidinterrupt lookup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the interrupt status vectors into two groups: active interrupts (stored in a linked search list) and inactive interrupts (stored in memory but not in the list). This segmentation allows the system to quickly access only relevant interrupt status information without scanning all possible interrupts, thereby resolving the contradiction between complete checking and fast lookup.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by maintaining a linked search list that is continuously updated to contain only active interrupt status vectors. This pre-organization of data ensures that when an interrupt lookup is needed, the system only needs to traverse the pre-filtered list of active interrupts rather than scanning all interrupts from scratch, thus reducing lookup time while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

2Speed

If a linked search list is maintained in memory to store only active interrupt addresses, then lookup speed is improved, but memory usage and data structure complexity increase

Engineering Contradiction:
Improveinterrupt lookup speedVSAvoiddata structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces a linked search list as an intermediary data structure between the interrupt sources and the interrupt handling logic. This intermediary contains only the addresses of active interrupts, serving as a filter that speeds up lookup while managing the complexity through a well-defined data structure with clear insertion and deletion operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The linked search list is dynamically maintained by inserting addresses of newly activated interrupts and removing addresses of dismissed interrupts. This dynamic adaptation allows the data structure to automatically adjust to the current state of active interrupts, optimizing lookup speed while keeping the structure manageable through standard linked list operations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9811484B1Methods and apparatus for rapid interrupt lookups
Publication Date: 2017.11.07 ALTERA CORP
  • US9811484B1 patent drawing
  • US9811484B1 patent drawing
  • US9811484B1 patent drawing

AI summary

The present disclosure provides methods and apparatus for rapid interrupt look-ups for interrupts stored in memory. One embodiment relates to a method for providing interrupt lookups for a plurality of interrupt status vectors stored in random access memory on an integrated circuit. The plurality of interrupt status vectors in the random access memory are scanned to find activated interrupt status vectors that changed from null to non-null and dismissed interrupt status vectors that changed from non-null to null. A linked search list is maintained in the random access memory by inserting memory addresses of the activated interrupt status vectors into the linked search list and removing memory addresses of the dismissed interrupt status vectors from the linked search list. Interrupt status vectors for currently active interrupts are looked-up by transversing the linked search list in the random access memory. Other embodiments, aspects and features are also disclosed herein.