File System Driven RAID Rebuild for SSD Arrays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems face challenges with write amplification and read load due to internal SSD garbage collection, fragmented data, RAID-related operations, and reorganization of data and parity during changes in storage devices, which hinder efficient storage capacity expansion and user access.
Innovation Solution
A file system-driven RAID rebuild technique that organizes data into segments across SSDs, allowing for segment-by-segment RAID configuration and parity distribution, enabling immediate capacity expansion without redistributing parity and utilizing all SSDs as part of a segment pool without dedicated spares.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional RAID rebuild is performed after SSD failure, then data redundancy is restored, but write amplification increases due to redistribution of data and parity across all SSDs
Solution Approach 1:
The patent segments the storage system into multiple segments, each with its own local parity SSD. When a failure occurs, only the affected segment undergoes rebuild operations rather than redistributing data across the entire RAID array. This localized approach restores redundancy for the failed segment while avoiding write amplification from system-wide redistribution operations.
2Speed
If distributed parity RAID configuration is used to reduce read load, then read performance improves, but write amplification increases when storage devices are added or removed due to redistribution requirements
Solution Approach 1:
The storage system is divided into independent segments with local parity SSDs. Each segment can be reconfigured independently when storage devices are added or removed, eliminating the need for system-wide redistribution. This maintains the read performance benefits of distributed parity while avoiding write amplification during reconfiguration operations.
Solution Approach 2:
The patent implements dynamic segment formation where segments are created or modified based on current storage device availability. When SSDs are added or removed, the system dynamically reorganizes segments to utilize available resources without requiring redistribution of data across the entire array, thus avoiding write amplification while maintaining flexible read load distribution.
3Quantity of substance
If segment cleaning is performed to free SSD chunks for new segments, then storage capacity is released, but RAID configuration must be rebuilt affecting system availability
Solution Approach 1:
By organizing storage into independent segments with local parity, the patent enables isolated segment cleaning operations. When SSD chunks need to be freed for new segments, only the affected segment undergoes cleaning and potential rebuild, while other segments remain fully operational. This segmentation approach releases storage capacity locally without causing system-wide unavailability.
4Ease of repair
If dedicated spare SSDs are allocated for RAID groups, then failure recovery is simplified, but storage capacity is wasted and cannot be used for user data
Solution Approach 1:
The patent implements a universal pool of SSDs that serve multiple functions: data storage, parity storage, and failure recovery. Instead of dedicating specific SSDs as spares, any available SSD in the pool can be allocated to replace a failed SSD or form new segments. This multi-functional approach simplifies recovery operations while maximizing usable storage capacity, as all SSDs contribute to either data storage or redundancy rather than being idle spares.
Data Source
AI summary
Embodiments described herein are directed to a file system driven RAID rebuild technique. A layered file system may organize storage of data as segments spanning one or more sets of storage devices, such as solid state drives (SSDs), of a storage array, wherein each set of SSDs may form a RAID group configured to provide data redundancy for a segment. The file system may then drive (i.e., initiate) rebuild of a RAID configuration of the SSDs on a segment-by-segment basis in response to cleaning of the segment (i.e., segment cleaning). Each segment may include one or more RAID stripes that provide a level of data redundancy (e.g., single parity RAID 5 or double parity RAID 6) as well as RAID organization (i.e., distribution of data and parity) for the segment. Notably, the level of data redundancy and RAID organization may differ among the segments of the array.


