Storage System Rebuild via Parallel Extent Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face challenges in efficiently rebuilding data after a storage device failure, leading to potential data loss and prolonged rebuild times due to the need to traverse and allocate extents across multiple storage devices, which can result in low rebuild efficiency and increased risk of further data loss.

Innovation Solution

A method and device for managing a storage system that utilizes an address mapping to identify failed storage devices, creates a rebuild list, and rebuilds the system in parallel, optimizing the rebuild process by selecting free extents from storage devices with lighter workloads and using a metadata bitmap to differentiate used and unused stripes, thereby improving rebuild performance and reducing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional sequential rebuild method is used, then data reliability is maintained, but rebuild time is prolonged and rebuild efficiency is low

Engineering Contradiction:
Improverebuild efficiencyVSAvoidrebuild time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The rebuild process is segmented into parallel operations: identifying stripes containing extents on failed storage devices, creating a rebuild list, and simultaneously rebuilding multiple stripes rather than sequentially. This segmentation enables concurrent processing of rebuild tasks across different storage devices, significantly improving rebuild efficiency while reducing total rebuild time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary identification of all stripes that contain extents on failed storage devices before the actual rebuild begins. By pre-creating a rebuild list that contains all stripes requiring reconstruction, the system prepares the rebuild roadmap in advance, allowing parallel execution of multiple rebuild operations without delays caused by dynamic discovery during the rebuild process.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all stripes are rebuilt after failure, then data completeness is ensured, but system resources are wasted on unused stripes

Engineering Contradiction:
Improvedata completenessVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system extracts and identifies only the specific stripes that contain extents on failed storage devices, separating them from the entire stripe set. By using address mapping to precisely identify which stripes are affected by the failure, the system extracts only the necessary rebuild tasks into a rebuild list, excluding unused stripes from the rebuild process entirely.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing a complete rebuild of all stripes in the storage system, the system performs a partial rebuild only on the subset of stripes that actually contain data on failed storage devices. This partial action approach ensures data completeness for affected stripes while avoiding unnecessary resource consumption on stripes that are not impacted by the failure.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of manufacture

If extents are allocated without considering workload, then allocation simplicity is maintained, but load balance across storage devices deteriorates

Engineering Contradiction:
Improveallocation simplicityVSAvoidload balance
Core Design Contradiction:
Ease of manufactureVSStability of the object's composition

Solution Approach 1:

The system incorporates feedback mechanisms by monitoring the workload status of storage devices during the rebuild process. When allocating free extents for rebuilt stripes, the system queries the current workload of candidate storage devices and uses this feedback information to make intelligent allocation decisions, selecting storage devices with lighter workloads to receive new extents, thereby maintaining load balance across the storage system.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11232005B2Method, device, and computer program product for managing storage system
Publication Date: 2022.01.25 EMC IP HLDG CO LLC
  • US11232005B2 patent drawing
  • US11232005B2 patent drawing
  • US11232005B2 patent drawing

AI summary

A storage system includes stripes, extents included in one stripe among the stripes reside on storage devices in the storage system, respectively, and the storage system includes an address mapping between the stripe and storage devices where the extents reside. Regarding one extent, a storage device where the extent resides is determined among the storage devices based on the address mapping. The stripe is added to a rebuild list of the storage system in accordance with determining the storage device is a failed storage device, the rebuild list comprising a stripe that is to be rebuilt in the storage system. The storage system is rebuilt based on stripes in the rebuild list. Accordingly, the performance of a rebuild operation may be improved, and the time for the rebuild operation may be reduced. Further, there is provided a corresponding device and computer program product for managing a storage system.