Multi-Level Time Decay Storage Queue for I/O Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies in I/O processing due to excessive CPU resource consumption and inconsistent I/O response times, particularly when handling multiple pending I/O operations with varying priorities and service level objectives, leading to potential SLO violations and decreased system performance.

Innovation Solution

Implementing a method that utilizes multiple queues for pending I/O operations, each with a Time to Expiry (TTE) and Remaining Credits (RC), where I/Os are routed based on their expected execution time (EET) and service level, allowing for dynamic shifting between queues to optimize execution and maintain consistent performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If multiple pending I/O queues are used to handle varying priorities and service levels, then I/O response time consistency is improved, but CPU resource consumption increases

Engineering Contradiction:
ImproveI/O response time consistencyVSAvoidCPU resource consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent segments pending I/O operations into multiple priority-based queues (e.g., high priority, normal priority, low priority queues) with different Time to Expiry (TTE) values. Each queue handles I/Os with similar service level requirements, allowing the system to process time-critical I/Os faster while reducing CPU overhead by avoiding a single large queue that requires frequent full traversals.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic I/O shifting between queues based on aging mechanisms and TTE comparisons. As I/Os wait in lower-priority queues, their effective priority increases over time, and they are automatically shifted to higher-priority queues when appropriate. This dynamic adjustment ensures time-critical I/Os receive timely service without requiring constant CPU intervention to requeue all I/Os.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If I/O operations are processed in a single queue without priority differentiation, then device complexity is reduced, but I/O response time consistency deteriorates

Engineering Contradiction:
Improvequeue structure complexityVSAvoidI/O response time consistency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent divides the single I/O queue into multiple segmented queues organized by priority levels and TTE ranges. Each segment handles I/Os with specific service level requirements, enabling the system to meet diverse response time targets while maintaining manageable complexity through structured organization rather than a monolithic queue.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces TTE (Time to Expiry) as a key parameter for queue selection and I/O shifting decisions. By comparing TTE values against current time and queue characteristics, the system dynamically determines optimal queue placement and shifting时机, achieving response time consistency through parameter-driven control rather than complex hierarchical structures.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If I/O shifting between queues is performed frequently to optimize execution, then I/O response time consistency is improved, but processing overhead increases

Engineering Contradiction:
ImproveI/O response time consistencyVSAvoidprocessing overhead
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The patent implements periodic I/O shifting at TTE boundaries rather than continuously monitoring and shifting I/Os at every moment. The system checks for I/O shifting opportunities at defined intervals (e.g., when TTE expires or at scheduled checkpoints), reducing processing overhead while still ensuring time-critical I/Os are moved to appropriate queues in a timely manner.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent uses TTE values and queue status feedback to intelligently determine when I/O shifting is necessary. The system monitors I/O aging, queue depths, and TTE comparisons to make shifting decisions only when beneficial, avoiding unnecessary shifting operations that would consume CPU resources without improving response time consistency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10613998B2Multi-level time decay storage queue
Publication Date: 2020.04.07 EMC IP HLDG CO LLC
  • US10613998B2 patent drawing
  • US10613998B2 patent drawing
  • US10613998B2 patent drawing

AI summary

Techniques for processing I/O operations may include: receiving an I/O having an associated expected execution time (EET) and I/O service level; selecting, in accordance with the EET and service level of the I/O, a first I/O queue from multiple pending I/O queues; inserting the I/O into the first I/O queue; and performing I/O shifting. I/O shifting may include shifting I/Os from one pending I/O queue to another that is ranked immediately higher than the one pending I/O queue. The multiple I/O queues may be ranked from a highest priority queue to a lowest priority queue. I/O shifting may shift I/Os from the highest priority queue to execution and shifting I/Os from another queue into the highest priority queue. I/O shifting is subject to remaining credits available of the multiple I/O queues and time distance between source and target queues.