Disk Storage Two-Queue Request Management for QoS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems, large request queues increase response time, which is detrimental for high-priority requests that require minimal access time, while low-priority requests prioritize throughput over latency, necessitating a method to differentiate and manage storage requests effectively based on priority levels.

Innovation Solution

Implementing a method that divides storage requests into high-priority and low-priority queues, with high-priority requests being executed ahead of low-priority requests when their priority level is higher, and adjusting queue placement based on the number of outstanding higher-priority requests to optimize throughput and response time, utilizing a multiple-priority service scheme.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a large request queue is used to improve throughput, then the number of requests per unit time increases, but the response time or access time for requests increases

Engineering Contradiction:
Improverequest throughputVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The request queue is segmented into multiple priority queues (high-priority and low-priority queues), allowing the system to maintain a large overall queue capacity while providing differentiated service. High-priority requests are serviced from the high-priority queue with minimal delay, while low-priority requests utilize the low-priority queue to contribute to overall throughput without blocking high-priority requests.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If high-priority requests are always serviced first to minimize access time, then response time for high-priority requests improves, but throughput for low-priority requests decreases

Engineering Contradiction:
Improveaccess time for high-priority requestsVSAvoidthroughput for low-priority requests
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The queue management system dynamically adjusts the servicing strategy based on request priority. The system transitions from a static single-queue FIFO approach to a dynamic multi-queue approach where the servicing order is flexible and adapts to the priority levels of incoming requests, allowing high-priority requests to be interrupted and serviced immediately while maintaining throughput for low-priority requests.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If a single queue is used to simplify queue management, then device complexity is reduced, but the ability to provide differentiated service quality deteriorates

Engineering Contradiction:
Improvequeue management complexityVSAvoidquality of service differentiation
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The queue management system is segmented into multiple priority queues, each handling requests of specific priority levels. This segmentation enables quality of service differentiation without requiring complex individual management of each queue, as the queues operate semi-independently with clear priority-based servicing rules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each priority queue is optimized for its specific function: the high-priority queue is optimized for minimal response time with direct access to the disk drive, while the low-priority queue is optimized for throughput with scheduling that considers overall system utilization. This local optimization allows each queue to be simple while the overall system provides sophisticated QoS differentiation.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7293136B1Management of two-queue request structure for quality of service in disk storage systems
Publication Date: 2007.11.06 EMC IP HLDG CO LLC
  • US7293136B1 patent drawing
  • US7293136B1 patent drawing
  • US7293136B1 patent drawing

AI summary

Storage requests are divided into high-priority requests generally requiring low response time and low-priority requests generally requiring high throughput. The high-priority requests are further divided into several priorities reflecting different classes of service. The low-priority requests are placed on a low-priority request queue where they are executed in a throughput-optimizing order generally different from their arrival order. For each high-priority request, if there are not more than a predetermined number n (e.g., 1) outstanding requests for execution by the disk drive of greater priority, then the request is placed on a high-priority request queue where it is generally executed ahead of requests on the low-priority request queue. If there are more than n such greater-priority requests outstanding, then the high-priority request is placed on the low priority request queue and included in the throughput optimization along with the low-priority requests. The number of priority levels for the high priority requests may be two or more, and in one illustrated embodiment is equal to three.