Declustered Parity Group Resizing for Balanced RAID Rebuilds

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 adding or removing devices while redistributing data blocks to maintain even parity group distribution and minimize the number of data blocks moved, ensuring balanced load across new devices.

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 distribution of data blocks across mass storage devices when devices are added or removed. Instead of using a static stripe width, the system recalculates and redistributes data blocks to maintain balanced I/O load across the array, allowing the configuration to adapt to changing storage capacity requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the distribution parameters of data blocks across the mass storage array when the number of devices changes. By modifying how data blocks are allocated and distributed rather than changing the physical stripe width, the system maintains optimal I/O performance while accommodating varying storage capacities.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If data blocks are redistributed to balance I/O load, then I/O performance is improved, but the number of data blocks to be moved increases

Engineering Contradiction:
ImproveI/O performanceVSAvoiddata block migration time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs partial redistribution of data blocks rather than complete reallocation. When mass storage devices are added or removed, only the necessary subset of data blocks is moved to achieve balanced I/O load, rather than redistributing the entire data set, thereby reducing migration time and overhead.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary calculations to determine the optimal distribution of data blocks before actual migration begins. By pre-planning the redistribution strategy and identifying which specific data blocks need to be moved, the system minimizes unnecessary data movement and optimizes the rebalancing process.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If stripe width is increased to add more devices, then storage capacity is improved, but reconstruction time increases

Engineering Contradiction:
Improvestorage capacityVSAvoidreconstruction time
Core Design Contradiction:
Quantity of substanceVSDuration of action of moving object

Solution Approach 1:

The system segments the mass storage array into multiple independent parity groups rather than using a single large stripe. Each parity group can be reconstructed independently, allowing parallel reconstruction operations that reduce overall reconstruction time while maintaining the ability to utilize multiple mass storage devices for increased capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically manages parity groups and their associated data blocks, allowing flexible allocation across mass storage devices. This dynamic management enables optimized reconstruction paths that minimize reconstruction time while accommodating varying storage capacities through adaptive data block distribution.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8904230B2Dynamically resizing a parity declustered group
Publication Date: 2014.12.02 NETAPP INC
  • US8904230B2 patent drawing
  • US8904230B2 patent drawing
  • US8904230B2 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.