Disk Read Request Scheduling for Multi-Stream Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for managing seek time in hard disk drives are inefficient when handling multiple streams of data, leading to impaired performance due to the need to abort speculative read-ahead operations in favor of actual requests, resulting in increased disk seek time and reduced throughput.

Innovation Solution

Implementing a read request scheduling process that suspends new requests for a predefined period, allowing speculative pre-fetch operations to complete, and conditioning suspensions on criteria such as disk bandwidth and stream differences to optimize the arrival rate of read requests and minimize seek time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If speculative read-ahead operations are performed to minimize disk seek time, then throughput is improved for single stream reads, but performance drops significantly when multiple streams are added due to frequent aborts of speculative reads

Engineering Contradiction:
ImprovethroughputVSAvoiddisk seek time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a scheduling mechanism that performs preliminary actions by suspending new read requests before they can interrupt ongoing speculative read-ahead operations. This allows the speculative reads to complete without being aborted, thereby preserving the performance benefits of read-ahead while handling multiple data streams. The scheduler proactively prevents the contradiction by controlling the timing and order of request processing.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If the controller prioritizes actual read requests over speculative read operations, then request responsiveness is improved, but disk seek time increases as the head moves frequently between different positions

Engineering Contradiction:
Improverequest responsivenessVSAvoiddisk seek time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent applies dynamics by implementing a time-based suspension mechanism that adapts the scheduling behavior based on the duration of the suspension period. The scheduler dynamically adjusts between servicing actual requests and allowing speculative reads to complete by controlling how long new requests are suspended. This dynamic approach allows the system to balance responsiveness with seek time efficiency.

Inventive Principle:
Principle #15Dynamics

3Productivity

If multiple data streams are handled simultaneously without request suspension, then request processing capacity is increased, but the benefit of read cache is significantly impaired due to aborted speculative operations

Engineering Contradiction:
Improverequest processing capacityVSAvoidread cache effectiveness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the request processing into distinct phases by implementing a suspension mechanism that separates actual request handling from speculative read operations. By dividing the processing timeline into suspension periods and active periods, the system can handle multiple streams while protecting speculative read operations from being aborted. This segmentation allows both multi-stream capability and read cache effectiveness to coexist.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7707356B2Method and apparatus for scheduling disk read requests
Publication Date: 2010.04.27 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US7707356B2 patent drawing
  • US7707356B2 patent drawing
  • US7707356B2 patent drawing

AI summary

Methods and apparatus are provided for reducing disk seek time to improve the overall throughput by improving the scheduling of read requests. One or more requests to read data from one or more disks are scheduled by suspending one or more requests to read data from the disk for a predefined period of time. The read suspension can be initiated, for example, in response to a request to read data from the disk, such as a speculative read operation. The predefined period of time may be approximately equal, for example, to an expected duration of the read request operation, an expected seek time, a predefined recovery time or a time since a last request less a recovery time. The read suspension can be conditioned upon one or more predefined criteria, such as a disk bandwidth threshold being satisfied, a time since a last request threshold being satisfied and a condition that only a request for a different stream than a currently requested stream is suspended.