I/O Request Scheduling with Dynamic Readahead Priority Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Linux I/O schedulers, such as CFQ and UFS 4.0 with Turbo Write (TW) functions, fail to effectively manage urgent I/O requests, leading to high latency due to priority reversals and read/write interference, especially in multi-task environments where foreground applications are delayed by background readahead requests.

Innovation Solution

A method and apparatus that adjust threshold values for readahead and asynchronous write requests based on pending I/O request types, prioritizing synchronous requests and allocating resources dynamically to reduce latency and improve storage utilization through Host-Level Aware Scheduling (HAS).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If readahead requests are scheduled without priority adjustment, then storage device utilization is improved, but latency of urgent synchronous requests increases

Engineering Contradiction:
Improvestorage device utilizationVSAvoidlatency of urgent synchronous requests
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic threshold adjustment for readahead requests based on the presence of synchronous requests in the command queue. When synchronous requests are detected, the system dynamically reduces the readahead threshold from an initial value to a smaller value, allowing urgent synchronous requests to be prioritized. This dynamic adaptation resolves the contradiction by adjusting system behavior based on real-time conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of readahead request threshold dynamically. The threshold is adjusted from an initial value to a smaller value when synchronous requests are present in the command queue. This parameter change allows the system to control the number of readahead requests, ensuring that urgent synchronous requests are not delayed while still maintaining adequate storage device utilization during normal operation.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If multiple I/O request types are processed simultaneously, then storage device utilization is improved, but priority reversal occurs

Engineering Contradiction:
Improvestorage device utilizationVSAvoidrequest scheduling priority
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments I/O requests into different types (synchronous, asynchronous, readahead) and applies different scheduling thresholds to each type. By categorizing requests and applying type-specific threshold control, the system maintains proper priority ordering while still allowing multiple request types to be processed, thus preventing priority reversal while maintaining storage device utilization.

Inventive Principle:
Principle #1Segmentation

3Productivity

If readahead threshold is kept high, then storage device utilization is improved, but foreground applications are delayed by background readahead requests

Engineering Contradiction:
Improvestorage device utilizationVSAvoidforeground application response
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements a feedback mechanism where the scheduling threshold for readahead requests is adjusted based on the detection of synchronous requests (which represent foreground applications). When synchronous requests are detected in the command queue, the system provides feedback by reducing the readahead threshold, ensuring that foreground applications are not delayed by background readahead operations while still maintaining high storage device utilization during normal operation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20260104800A1Method and apparatus for scheduling I/O request, electronic device, storage medium, system and computer program product
Publication Date: 2026.04.16 SAMSUNG ELECTRONICS CO LTD
  • US20260104800A1 patent drawing
  • US20260104800A1 patent drawing
  • US20260104800A1 patent drawing

AI summary

A method for scheduling an I/O request includes: acquiring information of a pending I/O request, wherein the pending I/O request comprises a first I/O request suspended in a command queue and/or a request queue, and the information of the pending I/O request comprises a request type contained in the pending I/O request; adjusting a first preset threshold value based on the acquired information of the pending I/O request, wherein the first preset threshold value is a quantity threshold value for a readahead request among a second I/O request in the request queue scheduled from a virtual file system to a block layer; scheduling the I/O request in the request queue scheduled from the virtual file system to the block layer based on the adjusted first preset threshold value.