Dynamic Interrupt Priority Management in Storage Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face challenges in dynamically managing interrupt priorities at runtime without requiring downtime, as existing firmware-based solutions necessitate offline updates and extensive testing for compatibility across various configurations, leading to inefficiencies and potential integration issues.

Innovation Solution

Implementing a storage system with a processor and memory that allows for dynamic modification of interrupt priorities based on received criteria, separate from the compiled firmware, enabling on-the-fly adjustments without halting operations, and optionally utilizing a Programmable Interrupt Controller (PIC) for prioritization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If interrupt priorities are defined at the hardcoded firmware level, then interrupt processing is stable and reliable, but the storage controller must be taken offline to modify priorities and extensive testing is required

Engineering Contradiction:
Improveinterrupt priority configurabilityVSAvoidstorage controller downtime
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the interrupt priority management into two independent parts: the firmware (which remains stable and runs continuously) and the interrupt priority data structure (which can be dynamically modified). By separating the priority definitions from the firmware code and storing them in accessible memory, the system allows priority changes without requiring firmware updates or controller shutdown, thus resolving the contradiction between adaptability and downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic interrupt priority management by allowing the interrupt priority data structure to be modified at runtime. The processor can read and modify priority values in memory while the storage controller continues to operate, enabling flexible priority reconfiguration without system interruption. This dynamic approach eliminates the need for offline firmware updates while maintaining stable interrupt processing.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If firmware is replaced to change interrupt priorities, then priority management is updated, but the storage controller requires offline re-initialization and extensive integration testing

Engineering Contradiction:
Improveinterrupt priority update capabilityVSAvoidfirmware update complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent extracts the interrupt priority definitions from the firmware code and places them in separate, accessible memory structures. This extraction allows the priorities to be modified independently of the firmware, eliminating the need for complete firmware replacement. The firmware remains unchanged and continues to function, while only the priority data needs to be updated, significantly reducing update complexity and testing requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a copy of the interrupt priority data in accessible memory that can be modified without affecting the original firmware. The processor reads from this copyable priority structure rather than from hardcoded firmware, allowing multiple copies or versions of priority configurations to exist simultaneously. This copying mechanism enables easy updates and A/B testing without risking system stability.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If interrupt priorities are modified in firmware, then new priorities are implemented, but integration issues may arise and extensive pre-production testing is required

Engineering Contradiction:
Improveinterrupt priority customizationVSAvoidsystem integration stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a safe modification mechanism where interrupt priorities are changed in a controlled manner with proper synchronization. The system uses memory barriers and atomic operations to ensure that priority changes are completed atomically, preventing partial or inconsistent state transitions. This beforehand cushioning through careful synchronization protocols ensures that modifications do not compromise system reliability or create integration issues, eliminating the need for extensive testing.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The patent introduces an intermediary layer between the firmware and the interrupt handling logic. This intermediary is the accessible memory structure that holds priority data, acting as a buffer that decouples the stable firmware from the modifiable priority configurations. Changes in this intermediary layer do not directly impact the firmware's internal consistency, thereby maintaining system reliability while enabling customization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8898361B2Systems and methods for advanced interrupt scheduling and priority processing in a storage system environment
Publication Date: 2014.11.25 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8898361B2 patent drawing
  • US8898361B2 patent drawing
  • US8898361B2 patent drawing

AI summary

Methods and systems for advanced interrupt processing and scheduling are provided. The system comprises a memory operable to store interrupt priorities, an interface, and a processor operable to acquire incoming interrupts and to handle the incoming interrupts according to the interrupt priorities. The processor is also operable to receive interrupt processing criteria from the interface (sent, for example, from a device not directly coupled with the system), and to modify the interrupt priorities of the memory based upon the interrupt processing criteria without losing incoming processing requests for the system. Additionally, the processor is operable to process the incoming interrupts according to the modified interrupt priorities responsive to modifying the interrupt priorities.