Distributed Storage Reclamation of Parity Chunks in RAID Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems, especially in RAID configurations like RAID-5 and RAID-6, a significant portion of storage space is not reclaimed despite data and applications no longer using it, as conventional methods fail to reclaim parity chunks, leading to inefficiencies in storage space utilization.

Innovation Solution

The solution involves identifying fully or partially reclaimable stripes across multiple hosts in a distributed storage system, allowing for the reclamation of both data and parity chunks, thereby improving storage efficiency by issuing specific commands to reclaim storage space that is no longer in use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional storage reclamation methods are used, then data chunks can be reclaimed, but parity chunks cannot be reclaimed, resulting in storage space inefficiency

Engineering Contradiction:
Improvestorage space utilizationVSAvoidstorage reclamation efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the storage reclamation process into two distinct phases: (1) identifying fully-reclaimable stripes where all data chunks are no longer in use, and (2) selectively reclaiming both data chunks and parity chunks in these fully-reclaimable stripes. This segmentation enables the system to differentiate between partially-used and completely-unused storage blocks, allowing parity chunk reclamation only when safe.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by treating different storage regions differently based on their reclamation status. Fully-reclaimable stripes receive aggressive reclamation (both data and parity chunks), while partially-used stripes receive conservative treatment (data chunks only). This localized approach maximizes storage efficiency in safe regions while maintaining data integrity in active regions.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If parity chunks are reclaimed along with data chunks, then storage efficiency improves, but data integrity may be compromised if reclamation occurs prematurely

Engineering Contradiction:
Improvereclaimable storage spaceVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent performs preliminary identification of fully-reclaimable stripes before executing parity chunk reclamation. The system first determines which stripes contain only obsolete data chunks (no active references), then proceeds to reclaim both data and parity chunks in these pre-validated stripes. This preliminary assessment ensures data integrity is maintained while enabling aggressive reclamation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the system continuously monitors stripe usage status and adjusts reclamation decisions accordingly. By tracking reference counts and access patterns, the system receives feedback on which stripes are safe for full reclamation, dynamically adapting the reclamation strategy to maintain reliability while maximizing space recovery.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10901649B2Storage reclamation for distributed storage systems
Publication Date: 2021.01.26 VMWARE INC
  • US10901649B2 patent drawing
  • US10901649B2 patent drawing
  • US10901649B2 patent drawing

AI summary

Example methods and systems are provided for storage reclamation from a distributed storage system in a virtualized computing environment. The method may comprise: detecting a request to reclaim a target address range associated with the distributed storage system; and mapping the target address range to multiple data chunks. The method may also comprise: in response to identifying a fully-reclaimable stripe spanning across the multiple storage resources, reclaiming particular data chunks associated with the fully-reclaimable stripe, and parity chunk(s) associated with the fully-reclaimable stripe.