Solid State Storage Parity Recovery for Partial Stripe Errors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In flash-based/solid-state storage systems, existing data redundancy schemes like RAID require waiting for a full stripe to be written before parity data can be used for recovery, leading to delays in addressing data access errors in partially written stripes.
Innovation Solution
The system proactively writes parity data to non-volatile flash media upon detecting a data access error in a partial stripe, allowing immediate data recovery without waiting for the full stripe to be completed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If parity data is written only after a full stripe is completed, then storage overhead is minimized, but data recovery time increases when errors occur in partially written stripes
Solution Approach 1:
The system performs preliminary action by proactively writing parity data to non-volatile flash media as soon as a data access error is detected in a partial stripe, rather than waiting for the full stripe to be completed. This preliminary parity write enables immediate data recovery while minimizing the time loss associated with error recovery.
2Productivity
If parity data is written immediately upon error detection, then data recovery is accelerated, but storage overhead increases due to premature parity writes
Solution Approach 1:
The system implements feedback by monitoring data access operations and detecting errors in real-time. When a data access error is detected, the system triggers a feedback mechanism that proactively writes the pending parity data to non-volatile flash media, enabling accelerated data recovery while managing storage overhead through error-driven parity writes rather than continuous writing.
3Reliability
If traditional RAID parity writing is used, then storage reliability is maintained, but system resilience to partial stripe errors is reduced
Solution Approach 1:
The system applies dynamics by adapting the parity writing strategy based on actual error conditions. Instead of a static approach where parity is written only after full stripe completion, the system dynamically responds to data access errors by proactively writing parity data to non-volatile flash media, thereby enhancing system resilience to partial stripe errors while maintaining data reliability.
Data Source
AI summary
Systems and methods are disclosed for recovering from a data access error encountered in data stripes implemented in a data redundancy scheme (e.g., RAID) in a solid state storage device. In one embodiment, the storage device holds parity data in a temporary, volatile memory such as a RAM and writes the parity data to the non-volatile memory when a full stripe's worth of new write data has been written to the non-volatile memory. In one embodiment, upon detecting that a data access error has occurred in a partially written stripe, the storage device initiates a write of the parity data for the partially written stripe to the non-volatile memory and executes a RAID recovery procedure using the newly written parity data to attempt to recover from the detected error. This approach allows for a recovery from the data access error without waiting for the full stripe to be written.


