Storage Controller Cache Recovery from Uncorrectable Errors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems face challenges in recovering data from uncorrectable errors in non-volatile memory, particularly when multi-bit errors occur, as existing error correction codes cannot correct these errors, leading to potential data loss and system malfunction.
Innovation Solution
A storage system and method that includes a controller configured to cache data from non-volatile memory, determine uncorrectable errors, and replace the cached data with updated data re-read from the non-volatile memory, using pattern analysis to predict and correct multi-bit errors, thereby ensuring data integrity and system reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error correction code (ECC) parity bits are used to protect mapping data in volatile memory, then data integrity is improved, but multi-bit errors still cannot be corrected leading to potential data loss
Solution Approach 1:
The system performs preliminary actions by periodically re-reading mapping data from non-volatile memory and comparing it with the cached copy in volatile memory before errors become critical. This proactive approach allows detection and correction of multi-bit errors that ECC cannot handle, preventing data loss before it occurs.
Solution Approach 2:
The system implements a feedback mechanism where mapping data is continuously monitored by comparing the cached version with periodic re-reads from non-volatile memory. When discrepancies are detected (indicating uncorrectable errors), the system triggers corrective actions by re-loading the data from non-volatile memory, creating a closed-loop error prevention system.
2Reliability
If mapping data is continuously re-read from non-volatile memory to detect errors, then error detection capability is improved, but system performance and productivity deteriorate
Solution Approach 1:
Instead of continuous monitoring, the system employs periodic re-reading of mapping data from non-volatile memory at scheduled intervals or under specific conditions (such as when errors are suspected). This periodic approach maintains error detection capability while significantly reducing the performance overhead compared to continuous verification.
Solution Approach 2:
The system uses self-service mechanisms where the cached mapping data in volatile memory serves as a reference to validate periodically re-read data. This self-validation approach enables error detection without requiring external verification systems, minimizing performance impact while maintaining reliability.
3Productivity
If uncorrectable errors in cached mapping data are not addressed, then system operation continues, but data integrity and reliability worsen
Solution Approach 1:
When uncorrectable errors are detected through comparison between cached and re-read mapping data, the system triggers a feedback-driven corrective action by re-loading the affected mapping data from non-volatile memory into volatile memory. This ensures data integrity is restored while minimizing disruption to overall system operation.
Solution Approach 2:
The system discards corrupted mapping data detected in the volatile memory cache and recovers by re-loading fresh copies from non-volatile memory. This discard-and-recover approach ensures that corrupted data does not propagate further, maintaining system reliability while allowing continuous operation.
Data Source
AI summary
A storage system caches, in volatile memory, data read from non-volatile memory. After detecting an uncorrectable error in the data cached in the volatile memory, the storage system replaces the cached data with data re-read from the non-volatile memory and updated to reflect any changes made to the data after it was stored in the non-volatile memory. The storage system can also analyze a pattern in data adjacent to the uncorrectable error and predict corrected data based on the pattern.


