Disk Access Quality of Service via Dynamic Queue Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, it is challenging for storage devices to provide appropriate quality of service to multiple independent sources making disk access requests, as existing systems lack a metric to prioritize requests effectively, leading to unpredictable disk performance.

Innovation Solution

Implementing a system that uses a disk resource queue and source queues to manage access requests, where requests are categorized as urgent or non-urgent based on I/O operations per second and time since the previous request, with a Time to Become Urgent (TBU) value, and adjusting queue depths dynamically to ensure quality of service levels are met.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a storage device services multiple independent sources simultaneously, then productivity increases, but quality of service for each source becomes unpredictable and difficult to guarantee

Engineering Contradiction:
Improvedisk access throughputVSAvoidquality of service guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the request handling into separate source queues for each independent source, allowing individual tracking and management of requests per source. This segmentation enables the system to guarantee quality of service for each source while maintaining overall productivity by processing requests from multiple sources concurrently through separate queue management.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the system prioritizes urgent requests to meet response time goals, then quality of service improves, but device complexity increases due to queue management mechanisms

Engineering Contradiction:
Improveresponse time guaranteeVSAvoidqueue management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing Time to Become Urgent (TBU) values for each source based on their I/O characteristics. These TBU values are determined in advance and stored in the source queue entries, allowing the disk controller to quickly identify urgent requests without complex real-time calculations, thus reducing operational complexity while maintaining response time guarantees.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the disk controller monitors actual response times and adjusts queue depth values dynamically. This feedback loop allows the system to learn from actual performance data and optimize queue management strategies, balancing quality of service guarantees with manageable complexity through adaptive control.

Inventive Principle:
Principle #23Feedback

3Productivity

If queue depth is increased to handle more requests, then productivity improves, but response time for individual requests increases

Engineering Contradiction:
ImproveI/O operations per secondVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic queue depth management where the queue depth value is not fixed but adjusts based on current system conditions and source-specific characteristics. The system dynamically modifies queue depths for different sources based on their urgency levels and performance requirements, allowing optimization of both productivity and response time through adaptive, real-time adjustments rather than static configurations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8935490B1Disk access quality of service
Publication Date: 2015.01.13 EMC IP HLDG CO LLC
  • US8935490B1 patent drawing
  • US8935490B1 patent drawing
  • US8935490B1 patent drawing

AI summary

Providing quality of service levels to a plurality of sources that perform access requests to a disk resource includes providing a disk resource queue containing access requests for the disk resource, providing a source queue for each of the sources containing access requests generated by a corresponding one of the sources, determining if a new access request from a particular source is urgent according to a specified number of I/O operations per second for the particular source and a time since a previous access request from the particular source, adding the new access request to the disk resource queue if the new access request is urgent, and adding the new access request the source queue of the particular source if the new access request is not urgent and the length of the disk resource queue is greater than a predetermined queue depth value.