Declustered RAID Resizing for Balanced Parity and I/O Load

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RAID group resizing methods face challenges in balancing I/O load across disks during reconstruction, especially when adding or removing mass storage devices, leading to sub-optimal read performance and uneven distribution of parity groups.

Innovation Solution

A storage server dynamically resizes an array of mass storage devices by redistributing data blocks to maintain even distribution across the array, minimizing the imbalance of parity groups and load balancing across new devices, allowing for efficient addition or removal of devices while maintaining optimal performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If mass storage devices are added to increase storage capacity, then storage capacity is improved, but I/O load balance deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidI/O load balance
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The system dynamically adjusts the data distribution strategy when mass storage devices are added. Instead of using a static stripe width, the system recalculates the optimal stripe width based on the new array configuration and redistributes data blocks accordingly. This dynamic adaptation ensures that I/O load remains balanced across all disks even as the array grows, resolving the contradiction between increasing storage capacity and maintaining I/O load balance.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If stripe width is increased to accommodate more devices, then storage capacity is improved, but read performance deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidread performance
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The system changes the stripe width parameter dynamically based on the number of active mass storage devices. When devices are added or removed, the system recalculates the optimal stripe width to maintain efficient read performance. This parameter adjustment ensures that the stripe width remains optimal for the current array configuration, preventing read performance deterioration while still accommodating increased storage capacity.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If data is redistributed to balance parity groups, then I/O load balance is improved, but reconstruction time increases

Engineering Contradiction:
ImproveI/O load balanceVSAvoidreconstruction time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary data redistribution when mass storage devices are added or removed, proactively balancing the parity groups before reconstruction operations are needed. By anticipating future reconstruction scenarios and pre-balancing the data distribution, the system minimizes the actual reconstruction time when failures occur, as the data is already optimally positioned for efficient reconstruction.

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If static declustering is used to simplify data distribution, then device complexity is reduced, but adaptability to different RAID schemes deteriorates

Engineering Contradiction:
Improvedata distribution complexityVSAvoidRAID scheme flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system implements a universal data distribution mechanism that can adapt to multiple RAID schemes and configurations. Instead of having separate static declustering algorithms for each RAID type, the system uses a single dynamic distribution strategy that automatically adjusts based on the RAID scheme being used. This universal approach maintains low device complexity while providing high adaptability to different RAID schemes and configurations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8453036B1System and method for dynamically resizing a parity declustered group
Publication Date: 2013.05.28 NETAPP INC
  • US8453036B1 patent drawing
  • US8453036B1 patent drawing
  • US8453036B1 patent drawing

AI summary

A storage server resizes an array of mass storage devices and distributes data blocks stored in the array of mass storage devices evenly in a declustered organization across the resized array of mass storage devices. Resizing the array of mass storage devices may include adding a new mass storage device to the array or removing a mass storage device from the array. During resizing a data block is moved from one mass storage device to another mass storage device to minimize the imbalance of parity groups shared by the new mass storage devices in the array, as well as minimize the number of data blocks to be moved to uniformly balance the load across the new mass storage device.