Stripe Garbage Collection Parity Migration
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
Figure 1~2
Figure 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.