Asynchronous Parity Computation in RAID Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional RAID systems face complexity and inefficiency in handling parallel I/O write operations and parity computation, leading to delayed acknowledgement of write operations and potential data loss if parity computation is not correctly synchronized.
Innovation Solution
Implementing an asynchronous parity computation method where data is written to both primary and secondary storage locations, with parity computation occurring independently of write operations, allowing for immediate acknowledgement and parallel handling of I/O operations, and using non-volatile storage for backup and redundancy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous parity computation is performed during write operations, then data redundancy is ensured, but I/O operation complexity and time are increased
Solution Approach 1:
The patent applies preliminary action by performing parity computation after data is already written to the array, rather than during the write operation. The system writes data to the array first, then computes parity in the background using previously read data and the new written data. This separates the write operation from the parity computation, eliminating the need for complex synchronous coordination while ensuring data redundancy is eventually established.
2Reliability
If parity computation is performed during write operations, then data redundancy is ensured, but write operation speed is reduced
Solution Approach 1:
The patent implements preliminary action by completing the data write operation to the array before initiating parity computation. The write operation returns immediately to the host, while parity computation proceeds in the background. This asynchronous approach eliminates the waiting time that would otherwise be required for synchronous parity computation, thereby improving write operation speed while still ensuring data redundancy is established.
3Reliability
If synchronous parity computation is implemented, then data consistency is maintained, but acknowledgement delay occurs
Solution Approach 1:
The patent applies preliminary action by separating the data write operation from the parity computation step. The system writes data to the array first, then computes parity in the background using the newly written data and previously stored data. This allows the write operation to be acknowledged to the host immediately without waiting for parity computation to complete, thereby eliminating acknowledgement delay while maintaining data consistency through the background parity computation process.
4Speed
If asynchronous parity computation is used, then I/O operation speed is improved, but data loss risk increases during computation
Solution Approach 1:
The patent applies preliminary action by first writing data to the array in a reliable manner before initiating asynchronous parity computation. The system ensures data is safely stored in the array with proper redundancy mechanisms in place before background parity computation begins. This sequencing ensures that even if parity computation fails or is interrupted, the data itself is already safely stored and can be recovered using standard RAID recovery procedures, thereby minimizing data loss risk while maintaining I/O speed improvements.
Data Source
AI summary
A computer storage management system for managing a first plurality of data storage units, the system including: (a) an asynchronous parity computation manager which, responsive to a write operation in which an incoming data portion is to be written into an individual storage unit from among the storage units, deposits the incoming value in the individual storage unit and stores a copy of the data element in a pre-parity storage area, and wherein asynchronously with depositing the incoming value in the individual storage unit, the asynchronous parity computation manager is operative to compute parity data corresponding to the incoming data portion and to other data portions which are associated with the incoming data portion and to store the parity data; and (b) a post-loss data recovery manager operative to recover lost data including determining whether at least one parity value associated with at least one data portion within said lost data is not current and, for at least one non-current parity, using information stored in the pre-parity storage area to generate, after said lost data has been lost, a current parity to replace said non-current parity and using said current parity to recover said lost data.


