Storage Controller Priority Command Fetch Interruption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage device architectures lack a system to indicate priority within IO command queues, leading to increased latency as high priority commands must wait for normal priority commands to complete, even if the normal priority command data transfer takes a long time.

Innovation Solution

Implementing a mechanism within storage devices to interrupt and prioritize the processing of high priority commands by analyzing the current state of operations and determining if interrupting the normal priority command fetch or processing is necessary to minimize latency, allowing immediate processing of high priority commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If normal priority command data transfer is processed first, then data transfer completeness is ensured, but high priority command latency increases

Engineering Contradiction:
Improvedata transfer completenessVSAvoidhigh priority command latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by detecting high priority commands in advance and preparing to interrupt the normal command data transfer. The controller monitors incoming commands and identifies high priority ones before they fully block the queue, allowing proactive interruption decisions to be made that minimize latency while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts command processing priorities based on real-time conditions. When a high priority command is detected, the system dynamically interrupts the normal data transfer process and reallocates resources to handle the high priority command immediately, then resumes the normal transfer afterward, creating a flexible adaptive processing schedule.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If high priority commands are processed immediately, then command latency is reduced, but data transfer efficiency decreases

Engineering Contradiction:
Improvecommand latencyVSAvoiddata transfer efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system applies partial action by interrupting the normal command data transfer only for the duration necessary to process the high priority command. Rather than completely halting all transfers, the system pauses the normal transfer, processes the high priority command, and then resumes the normal transfer, applying excessive action only when absolutely necessary to meet priority requirements.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements periodic action by alternating between normal command processing and high priority command processing based on detected needs. The controller periodically checks for high priority commands and interrupts normal processing only when such commands are present, creating a rhythmic pattern of interrupted and resumed transfers that maintains overall efficiency while responding to priority demands.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11726713B2Systems and methods for priority command data fetching management
Publication Date: 2023.08.15 SANDISK TECHNOLOGIES LLC
  • US11726713B2 patent drawing
  • US11726713B2 patent drawing
  • US11726713B2 patent drawing

AI summary

Storage devices are often configured to receive and process commands from a host-computing device. These commands can vary in size and priority with larger sizes of command data being processed by storage devices more frequently. As these sizes increase, more situations occur when newly received high priority commands are received and ready for processing, but must wait for the current data associated with a normal priority command to be fetched and/or processed. Traditionally, the high priority command must wait, no matter how long, until the currently underway normal priority command is fetched and/or completed. However, methods and system described herein allow for the interruption of normal priority data fetching prior to completion. In this way, lower latencies may be achieved as high priority commands are not required to wait for processing. The previously fetched data may be dumped and re-fetched again or may be stored until normal operations can resume.