RAID Parity Management for Partial Stripe Write Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing RAID systems face challenges in ensuring data storage and rebuilding, particularly in partially filled stripes, where write performance is compromised due to insufficient memory and uneven data distribution, leading to increased write workload and reduced performance.
Innovation Solution
The method involves computing parity for input/output commands, determining if a stripe is full, and storing data and parity accordingly in a main hyper erase unit (HEU) or re-computing and writing parity into buffering HEU pages when the stripe is not full, using a translation layer to manage access addresses and metadata to record rebuilding information, ensuring even distribution across disks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a partially filled stripe is used to store data, then the storage flexibility is improved, but the write performance deteriorates due to increased write workload and random access operations
Solution Approach 1:
The patent pre-calculates and stores parity information for partially filled stripes in advance, so that when disk failures occur, the rebuilding process can proceed without performing complex real-time calculations, thereby maintaining high write performance while supporting storage flexibility
Solution Approach 2:
The system uses the existing distributed ECC/parity information already stored in the RAID array to automatically rebuild data on failed disks, eliminating the need for external backup systems or manual intervention, thus improving write performance without sacrificing storage flexibility
2Device complexity
If all ECCs are stored in one disk per stripe, then the storage structure is simplified, but the reliability deteriorates when that disk fails
Solution Approach 1:
The patent segments the ECC/parity information and distributes it across multiple disks within each stripe, rather than concentrating all ECCs on a single disk. This segmentation ensures that if one disk fails, the remaining disks still contain sufficient parity information to rebuild the failed disk, thereby improving reliability while maintaining a relatively simple storage structure
Solution Approach 2:
The patent assigns different ECC/parity information to different disks within each stripe, creating local quality variations. Each disk stores specific parity information relevant to its position in the stripe, which allows the system to maintain both structural simplicity and high reliability through localized data protection
3Device complexity
If RAM has insufficient space for buffering, then the system complexity is reduced, but the write performance deteriorates due to increased write workload
Solution Approach 1:
The patent utilizes the third dimension of time by pre-calculating and storing parity information during idle periods or low-write periods, effectively transforming the memory space-time tradeoff. This allows the system to maintain high write performance during peak operations without requiring large RAM buffers, as the parity calculations are performed in advance
Data Source
AI summary
According to one exemplary embodiment, a method for storing and rebuilding data computes a corresponding parity after receiving an Input/Output command, and based on the parity, determines whether a final stripe corresponding to the Input/Output command is a full stripe. When the final stripe is a full stripe, a plurality of data and a parity corresponding to the Input/Output command are stored into a main hyper erase unit (HEU) in a disk storage system. When the final stripe is not a full stripe, a final parity is re-computed and written into at least two parity pages of a buffering HEU.


