Stripe Garbage Collection Parity Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for garbage collection in RAID storage devices result in high performance overheads due to large data migration amounts, as all valid data needs to be migrated to another idle stripe before reclaiming the original stripe, leading to increased write operations.

Innovation Solution

A method that identifies stripes with and without garbage collection needs, computes parity data for non-reclaiming stripes, and constructs new stripes using only the non-reclaiming units, thereby reducing data migration and write operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all valid data in the stripe is migrated to another idle stripe before garbage collection, then the stripe can be fully reclaimed, but the data migration amount becomes large, increasing write operations and performance overheads

Engineering Contradiction:
Improvegarbage collection completenessVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The stripe is segmented into valid data portions and invalid data portions. Garbage collection is applied selectively only to portions that need it, rather than migrating the entire stripe. This segmentation allows the system to reclaim space where needed without unnecessary data movement, resolving the contradiction between complete garbage collection and performance overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing complete garbage collection on the entire stripe (excessive action), the patent applies partial garbage collection only to the necessary portions. This partial action approach achieves the required space reclamation while avoiding the performance penalty of migrating all valid data, thus resolving the contradiction.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If all valid data in the stripe is migrated to another idle stripe before garbage collection, then the stripe can be fully reclaimed, but the data migration amount becomes large, increasing write operations

Engineering Contradiction:
Improvegarbage collection completenessVSAvoiddata migration amount
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The stripe is divided into segments based on data validity. Only the segments containing invalid data undergo garbage collection, while segments with valid data remain intact. This segmentation reduces the quantity of data that needs to be migrated from the entire stripe to only the necessary portions, resolving the contradiction between garbage collection completeness and data migration amount.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and processes only the problematic portions (invalid data segments) from the stripe, leaving the valid data segments untouched. This extraction approach minimizes the data migration amount by focusing garbage collection efforts only where needed, rather than moving all data in the stripe.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If conventional garbage collection is performed on the stripe, then invalid data can be cleaned, but large data migration is required, leading to increased write operations on the storage device

Engineering Contradiction:
Improvedata cleanlinessVSAvoidwrite operations
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent applies partial garbage collection only to the extent necessary to clean invalid data, rather than performing excessive full-stripe migration. This partial action achieves data cleanliness while minimizing the number of write operations required, resolving the contradiction between data cleanliness and write operation loss.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent discards only the invalid data portions and recovers the space they occupy, rather than discarding and recovering the entire stripe. This selective approach maintains data cleanliness by removing invalid data while reducing write operations by preserving valid data in place.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP3859507B1Method for processing stripe in storage device and storage device
Publication Date: 2025.03.26 HUAWEI TECH CO LTD
  • EP3859507B1 patent drawingFigure 1~2
  • EP3859507B1 patent drawingFigure 3~4

AI summary

A method for processing a stripe in a storage device and a storage device are provided. The method includes: determining at least two stripes in the storage device that satisfy a garbage collection condition, where each of the at least two stripes includes a stripe unit requiring garbage collection and a stripe unit not requiring garbage collection; determining at least one stripe unit not requiring garbage collection from each stripe; computing parity data of data in the determined stripe units not requiring garbage collection; and storing the parity data into a first idle stripe unit, where the first stripe unit and the determined stripe units not requiring garbage collection are constructed into a new stripe in the storage device. In a scenario of performing garbage collection on a stripe, according to the method, a data migration amount can be effectively reduced, thereby reducing write operations on the storage device, and lowering performance overheads of the storage device.