Interrupt Coalescing Protection Logic for SSD Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-speed data transfers in data storage devices like SSDs are bottlenecked by the high rate of interrupts that require significant CPU overhead and signaling resource consumption, with existing interrupt coalescing methods risking latency and inaccuracy leading to interrupt avoidance issues.

Innovation Solution

Incorporating interrupt coalescing protection logic in the controller of data storage devices, which detects if the head or tail pointer in a completion queue has not changed for a predetermined period, triggering an interrupt to the host device to prevent missed notifications and deadlocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If interrupt coalescing is implemented to reduce CPU overhead, then CPU overhead and signaling resource consumption are reduced, but latency increases and interrupt avoidance may occur

Engineering Contradiction:
ImproveCPU overheadVSAvoidlatency
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent implements a timer that starts when completion queue entries are posted and triggers an interrupt if the head pointer does not advance within a predetermined time period. This preliminary timing mechanism ensures that interrupts are sent timely to prevent latency issues while still allowing coalescing to reduce CPU overhead by batching multiple completions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses feedback from the head pointer position to determine whether to send an interrupt. The timer monitors whether the head pointer has advanced sufficiently, and if not, triggers an interrupt to notify the host. This feedback mechanism prevents interrupt avoidance while maintaining the benefits of coalescing.

Inventive Principle:
Principle #23Feedback

2Productivity

If adaptive and dynamic interrupt coalescing algorithm is used to optimize performance, then productivity is improved, but reliability deteriorates due to interrupt avoidance risks

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidinterrupt delivery accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The timer is started in advance when completion queue entries are posted, creating a predetermined time window for evaluating whether an interrupt should be sent. This preliminary action ensures that even with adaptive coalescing algorithms, the system proactively checks for potential interrupt avoidance scenarios and triggers interrupts timely to maintain reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a protection mechanism that cushions against the risk of interrupt avoidance by monitoring the head pointer movement within a predetermined time period. If the head pointer does not advance sufficiently, the timer triggers an interrupt as a safeguard, preventing deadlocks and ensuring reliable operation even when adaptive coalescing might otherwise suppress interrupts.

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

3Quantity of substance

If interrupt coalescing holds completion queue entries to aggregate messages, then signaling resource consumption is reduced, but the risk of interrupt avoidance increases

Engineering Contradiction:
Improvenumber of interruptsVSAvoidinterrupt delivery accuracy
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The timer starts when completion queue entries are posted, establishing a predetermined time window for evaluating interrupt timing. This preliminary action ensures that even when multiple entries are held for aggregation, the system proactively checks whether the head pointer has advanced sufficiently and triggers an interrupt if not, preventing interrupt avoidance while maintaining reduced interrupt frequency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from the head pointer position to determine interrupt timing. The timer monitors whether the head pointer has advanced by a sufficient amount within the predetermined time period, and if not, triggers an interrupt to ensure reliable delivery. This feedback mechanism allows aggregation of multiple completions while preventing interrupt avoidance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11397699B2Interrupt coalescing protection logic
Publication Date: 2022.07.26 SANDISK TECHNOLOGIES LLC
  • US11397699B2 patent drawing
  • US11397699B2 patent drawing
  • US11397699B2 patent drawing

AI summary

A data storage device, such as a solid state drives (SSD), includes command completion interrupt coalescing. A controller of the data storage device includes one or more completion queues, each including interrupt coalescing protection logic. The interrupt coalescing protection logic detects that a head pointer or a tail pointer in a completion queue has not changed for a predetermined period of time. When the head and tail pointers have not changed for the predetermined period of time, the controller posts an interrupt to a host device.