RAID I/O Request Redistribution for Drive Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing RAID storage arrays face issues with uneven distribution of input/output (IO) requests among drives, leading to performance degradation due to some drives receiving more requests than others or becoming slow/busy, which can cause the entire array to slow down.

Innovation Solution

A controller is employed to monitor IO requests for each drive and skip sending pending requests to drives with high loads or slow performance, redistributing them through a queue or cache for later processing, using data structures like the Adelson-Velsky and Landis (AVL) tree to manage node selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If IO requests are distributed to drives in a RAID storage array, then data storage and retrieval functionality is provided, but uneven distribution of IO requests causes some drives to become overloaded while others remain underutilized, leading to performance degradation

Engineering Contradiction:
ImproveIO request processing throughputVSAvoidIO request distribution balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system monitors the number of pending IO requests for each drive and uses this feedback information to dynamically adjust the distribution of new IO requests. When a drive's pending request count exceeds a threshold, the system redirects new requests to other drives, ensuring balanced load distribution and preventing any single drive from becoming a performance bottleneck

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The IO request distribution strategy is made dynamic by continuously evaluating the pending request counts of drives and adjusting the distribution in real-time. This dynamic approach allows the system to adapt to changing drive performance conditions and maintain optimal IO distribution across the storage array

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If drives are monitored and IO requests are redistributed based on load conditions, then IO distribution balance is improved, but system complexity increases due to monitoring and conditional logic requirements

Engineering Contradiction:
ImproveIO request distribution balanceVSAvoidcontroller logic complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system uses a simple threshold parameter (pending request count threshold) to trigger redistribution logic. By monitoring this single parameter and comparing it against a predefined threshold, the controller can make straightforward decisions about whether to redirect IO requests, avoiding the need for complex algorithms while still achieving effective load balancing

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12561058B2Dynamic modification of input/output requests for raid devices
Publication Date: 2026.02.24 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US12561058B2 patent drawing
  • US12561058B2 patent drawing
  • US12561058B2 patent drawing

AI summary

Novel tools and techniques are provided for implementing distribution of IO requests to a storage array. In various cases, a controller for a redundant array of independent disks can be configured determine a first drive configured to receive a first input/output (IO) request; detect a first number IO requests pending for the first drive; determine the first number of IO requests pending for the first drive exceeds a first predetermined threshold; and based on a determination the first number of IO requests pending for the first drive exceeds the first predetermined threshold, skip sending the first IO request to the first drive.