Storage I/O Request Segmentation for Latency Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems face challenges in scheduling input/output requests, particularly when high-priority latency-sensitive requests must be completed quickly while non-latency-sensitive requests are also being serviced, leading to difficulties in managing request priorities and ensuring timely completion of critical data retrievals.

Innovation Solution

The system categorizes requests by priority, divides non-latency-sensitive requests into smaller sub-requests, and schedules them only during idle periods or when higher-priority requests are not anticipated, allowing for preemptive scheduling of latency-sensitive requests and efficient retrieval by maintaining multiple sub-requests in a pending state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the storage system services non-latency-sensitive requests, then productivity is improved, but latency-sensitive requests may experience delays

Engineering Contradiction:
Improverequest servicing throughputVSAvoidlatency-sensitive request completion time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides non-latency-sensitive requests into smaller sub-requests that can be serviced in smaller time units. This segmentation allows the storage system to interleave servicing of sub-requests with latency-sensitive requests, maintaining productivity while reducing latency for time-critical operations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic request scheduling where the system adapts its servicing strategy based on the arrival pattern of latency-sensitive requests. When latency-sensitive requests are detected, the system dynamically adjusts to prioritize them while resuming non-latency-sensitive sub-requests during idle periods

Inventive Principle:
Principle #15Dynamics

2Loss of time

If the storage system preempts ongoing requests to service latency-sensitive requests, then latency-sensitive request completion time is improved, but device complexity increases

Engineering Contradiction:
Improvelatency-sensitive request completion timeVSAvoidrequest scheduling complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by dividing non-latency-sensitive requests into sub-requests before servicing begins. This pre-segmentation simplifies the scheduling decision-making process, as the system only needs to decide whether to service individual sub-requests rather than managing complex preemptions of large requests

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies different servicing qualities to different request types: non-latency-sensitive requests receive segmented, flexible servicing with potential interruptions, while latency-sensitive requests receive prioritized, uninterrupted servicing. This local differentiation manages complexity by applying specialized handling only where needed

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9043512B1Method for combining non-latency-sensitive and latency-sensitive input and output
Publication Date: 2015.05.26 GOOGLE LLC
  • US9043512B1 patent drawing
  • US9043512B1 patent drawing
  • US9043512B1 patent drawing

AI summary

Systems, mediums, and methods are provided for scheduling input/output requests to a storage system. The input output requests may be received, categorized based on their priority, and scheduled for retrieval from the storage system. Lower priority requests may be divided into smaller sub-requests, and the sub-requests may be scheduled for retrieval only when there are no pending higher priority requests, and/or when higher priority requests are not predicted to arrive for a certain period of time. By servicing the small sub-requests rather than the entire lower priority request, the retrieval of the lower priority request may be paused in the event that a high priority request arrives while the lower priority request is being serviced.