Mapped RAID Credit Mechanism for I/O Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies in managing I/O requests due to unbalanced I/O loads across storage devices in a Mapped RAID group, leading to potential data loss and performance bottlenecks during rebuild operations.

Innovation Solution

A credit-based mechanism is implemented to determine the threshold number of credits for each storage device in a Mapped RAID group, allowing I/O requests to be processed only if all involved devices have sufficient credits, and queuing requests if any device lacks the required credits, thereby preventing overloading and ensuring balanced I/O distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If I/O requests are processed without credit checking, then I/O performance may be higher, but storage devices may become overloaded leading to data loss

Engineering Contradiction:
Improvedata loss preventionVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary credit checking before processing I/O requests to determine if storage devices have sufficient capacity. This advance verification prevents overloading while maintaining high I/O performance by only queuing requests when devices are truly at capacity, not as a routine bottleneck.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The credit-based mechanism acts as an intermediary layer between I/O requests and storage devices. Credits serve as a mediator that tracks and regulates the load on each device, preventing direct overloading while allowing efficient processing when capacity exists.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If credit threshold is set high, then device overloading is prevented, but I/O requests are frequently queued reducing throughput

Engineering Contradiction:
Improvedevice overload preventionVSAvoidI/O throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The credit threshold is not a fixed value but dynamically adjusted based on device type (HDD vs. SSD), device capacity, and current system conditions. This dynamic approach allows the system to prevent overloading while maximizing throughput by adapting thresholds to actual device capabilities and workload patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the credit parameter based on storage device characteristics. Different device types (HDD, SSD, NVL) receive different initial credit values, and credits are adjusted based on device capacity and performance characteristics, optimizing both reliability and throughput for each device type.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If credits are allocated equally to all storage devices, then simplicity is maintained, but performance imbalance occurs across different device types

Engineering Contradiction:
Improvecredit allocation simplicityVSAvoidI/O performance balance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

Instead of uniform credit allocation, the system applies local quality by assigning different credit values based on each device's specific characteristics. HDDs receive different initial credits than SSDs, and credits are adjusted according to individual device capacity and performance, optimizing I/O distribution across heterogeneous storage devices.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10235082B1System and method for improving extent pool I/O performance by introducing disk level credits on mapped RAID
Publication Date: 2019.03.19 EMC IP HLDG CO LLC
  • US10235082B1 patent drawing
  • US10235082B1 patent drawing
  • US10235082B1 patent drawing

AI summary

A method, computer program product, and computer system for receiving, by a computing device, an I/O request for data. A number of storage devices of a plurality of storage devices in a Mapped RAID group that will be used to process the I/O request may be determined. It may be determined whether each storage device of the number of storage devices in the Mapped RAID group that will be used to process the I/O request has a respective threshold number of credits to process the I/O request. If each storage device of the number of storage devices in the Mapped RAID group that will be used to process the I/O request has the respective threshold number of credits, the I/O request may be processed. If at least one storage device of the number of storage devices in the Mapped RAID group that will be used to process the I/O request lacks the respective threshold number of credits, the I/O request may be queued.