Proactive Storage I/O Scheduling for Predictable Device Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face challenges in managing variable I/O response times due to differing latencies between read and write operations, particularly in solid-state drives, leading to unpredictable performance and inefficient scheduling.

Innovation Solution

Implementing a proactive and reactive I/O scheduling approach that segregates operations based on latency characteristics, uses models to predict device behavior, and performs proactive operations to maintain device states, thereby reducing unpredictable latencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional I/O scheduling is used without proactive operations, then device complexity is reduced, but I/O response time variability increases and performance becomes unpredictable

Engineering Contradiction:
ImproveI/O response time consistencyVSAvoidscheduling system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by proactively initiating operations (such as cache flushes, garbage collection, or TRIM commands) before they become necessary. The I/O scheduler predicts when device operations will complete and schedules host I/O requests accordingly, ensuring predictable response times even though the scheduling system becomes more complex

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the I/O scheduler receives status information about device operations (e.g., cache state, garbage collection progress) and adjusts scheduling decisions based on this feedback. This closed-loop approach enables the system to adapt to device state changes and maintain consistent I/O response times

Inventive Principle:
Principle #23Feedback

2Ease of operation

If read and write operations are scheduled without segregation, then scheduling simplicity is maintained, but latency differences cause unpredictable performance

Engineering Contradiction:
Improvescheduling simplicityVSAvoidperformance predictability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The scheduling system segments I/O operations into distinct categories (read operations, write operations, and device-initiated operations) and applies different scheduling policies to each segment. This segmentation allows the system to handle the latency characteristics of different operation types separately, improving performance predictability while maintaining manageable scheduling complexity through structured categorization

Inventive Principle:
Principle #1Segmentation

3Reliability

If proactive operations are not performed, then device state management is simplified, but variable latency occurs due to unpredictable device behaviors

Engineering Contradiction:
Improvelatency consistencyVSAvoiddevice state management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary state management actions proactively - the I/O scheduler initiates cache flushes, garbage collection, or TRIM operations before they are needed, and schedules host I/O requests to complete before these device operations finish. This predictive approach eliminates variable latency caused by unpredictable device behaviors while managing device state through coordinated scheduling rather than complex independent control

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250258607A1Reducing variable latency in storage systems through proactive device operations
Publication Date: 2025.08.14 PURE STORAGE INC
  • US20250258607A1 patent drawing
  • US20250258607A1 patent drawing
  • US20250258607A1 patent drawing

AI summary

A computer system comprising: a data storage medium comprising a plurality of storage devices configured to store data; and a data storage controller coupled to the data storage medium; wherein the data storage controller is configured to: determine a target number of storage devices in a group of storage devices in a storage system that may exhibit variable I/O response times; detect one or more conditions associated with the group of storage devices; and after detecting the one or more conditions, change the target number of storage devices that may exhibit variable I/O response times.