Storage Array Rebuild Through Incremental Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The storage device rebuild process in data storage systems, such as RAID or erasure coding architectures, is time-consuming and computationally intensive, leading to significant performance losses and increased latency, which can be mitigated by throttling the rebuild process but at the cost of extended rebuild time.

Innovation Solution

Integrating the storage device rebuild process into ongoing garbage collection operations in a periodic and incremental manner, reducing processing load and data traffic, and utilizing overprovisioned capacity for temporary storage during the rebuild process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the storage device rebuild process is performed at normal speed, then the rebuild time is reduced, but the system performance loss and latency increase significantly

Engineering Contradiction:
Improverebuild timeVSAvoidsystem performance
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The rebuild process is segmented into multiple parallel threads, where each thread handles a portion of the data reconstruction. This allows the rebuild operation to be divided into manageable chunks that can be processed concurrently, reducing overall rebuild time while distributing the performance impact across multiple operations rather than a single bottleneck process

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements periodic throttling of the rebuild process, alternating between active rebuild phases and pause phases. During active phases, data is reconstructed at higher speeds; during pause phases, normal host traffic is restored. This periodic action balances the competing demands of completing the rebuild efficiently while maintaining acceptable system performance during intervals

Inventive Principle:
Principle #19Periodic action

2Productivity

If the rebuild process is throttled down to 20% of normal level, then system performance is maintained, but rebuild time increases by 5 times

Engineering Contradiction:
Improvesystem performanceVSAvoidrebuild time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The rebuild process uses dynamic throttling where the rebuild speed is adjusted in real-time based on current system conditions, host traffic patterns, and progress metrics. Rather than maintaining a fixed 20% throttle level, the system can accelerate during low-traffic periods and decelerate during high-traffic periods, optimizing the balance between rebuild speed and performance impact adaptively

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary identification of I/O-intensive operations before they occur, allowing proactive scheduling of rebuild activities during predicted low-traffic windows. This anticipatory approach enables the system to prepare and execute rebuild operations at optimal times, reducing both the impact on performance and the total rebuild duration

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the entire dataset is read during rebuild, then complete data reconstruction is achieved, but processing load and data traffic increase significantly

Engineering Contradiction:
Improvedata reconstruction completenessVSAvoidprocessing load
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The dataset is divided into multiple segments or chunks that are processed independently by different threads. Each thread reads and reconstructs only its assigned portion of the data, rather than all data being read by a single process. This segmentation reduces the processing load on any single thread and allows parallel execution, improving overall efficiency while maintaining complete data reconstruction

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of reading and processing the entire original dataset sequentially, the system creates and processes multiple copies or partitions of the data in parallel. Each thread works on a copy of the relevant data portion, enabling simultaneous processing without requiring any single thread to handle the complete dataset, thereby reducing individual processing loads while achieving full reconstruction

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20190278675A1Failed Storage Device Rebuild Method
Publication Date: 2019.09.12 WESTERN DIGITAL TECHNOLOGIES INC
  • US20190278675A1 patent drawing
  • US20190278675A1 patent drawing
  • US20190278675A1 patent drawing

AI summary

Methods and systems for rebuilding a failed storage device in a data storage system. For example, a method including identifying a first garbage collection group (GCG) in a storage array for garbage collection; extracting valid data and redundancy information from functioning storage devices in the storage array associated with the first GCG; reconstructing data of a failed storage device associated with the first GCG based on the extracted valid data and redundancy information from the functioning storage devices associated with the first GCG; consolidating the extracted valid data from the functioning storage devices and the reconstructed data of the failed storage device associated with the first GCG; writing the consolidated extracted valid data from the functioning storage devices and the reconstructed data of the failed storage device associated with the first GCG to a second GCG in the storage array; and reclaiming the first GCG identified for garbage collection.