Heterogeneous RAID Performance Balancing via Adaptive Stride Participation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Heterogeneous storage drives in RAID systems often perform at the level of the lowest-performing drive, rendering extra performance and capacity of other drives ineffective, necessitating a method to balance performance across drives of differing capacities and I/O performance.

Innovation Solution

Implementing a RAID system where data is striped such that lower-performing drives participate in a selected percentage of strides, with the percentage based on their performance relative to other drives, and utilizing a distributed spare to optimize data distribution and rebuild processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a RAID is implemented using a heterogeneous set of storage drives, then storage capacity and cost-effectiveness are improved, but I/O performance deteriorates to the level of the lowest-performing drive

Engineering Contradiction:
Improvestorage capacityVSAvoidI/O performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies local quality by assigning different participation ratios to different drives based on their individual performance characteristics. Each drive participates in a customized percentage of strides according to its I/O capability, allowing faster drives to handle more workload while slower drives participate in fewer strides. This resolves the contradiction by making the system's data distribution pattern adaptive to local drive qualities rather than treating all drives uniformly.

Inventive Principle:
Principle #3Local quality

2Productivity

If a homogeneous RAID is implemented using identical storage drives, then I/O performance is improved and predictable, but storage capacity utilization and cost-effectiveness deteriorate

Engineering Contradiction:
ImproveI/O performanceVSAvoidstorage capacity utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent changes the parameter of drive participation ratio from a fixed homogeneous value to a variable value that adapts to each drive's performance characteristics. By dynamically adjusting the percentage of strides each drive participates in based on its I/O performance, the system maintains predictable performance patterns while effectively utilizing heterogeneous storage capacity, thus resolving the contradiction between performance predictability and capacity utilization.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If data is striped across all storage drives in a heterogeneous RAID, then storage capacity is improved, but performance is limited by the lowest-performing drive

Engineering Contradiction:
Improvestorage capacityVSAvoidRAID performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent introduces dynamics into the data striping process by making drive participation flexible rather than static. The system dynamically determines which drives participate in which strides based on real-time performance monitoring and drive capabilities. This dynamic approach allows the RAID to fully utilize total storage capacity while preventing the lowest-performing drive from becoming a permanent bottleneck, as its participation can be adjusted based on workload demands and performance conditions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10175888B2Performance-balanced heterogeneous raid
Publication Date: 2019.01.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10175888B2 patent drawing
  • US10175888B2 patent drawing
  • US10175888B2 patent drawing

AI summary

A method for balancing performance in a redundant array of independent disks (RAID) made up of heterogeneous storage drives is disclosed. In one embodiment, such a method includes implementing a RAID on a set of storage drives. The set of storage drives includes a lower-performing storage drive that underperforms other storage drives in the set. In order to balance performance in the RAID, the method stripes data across the set of storage drives such that the lower-performing storage drive participates in only a selected percentage of strides. In certain embodiments, this percentage is selected based on an amount the lower-performing storage drive underperforms other storage drives in the set. A corresponding system and computer program product are also disclosed.