Data Block Remapping for Faster SSD Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage devices face limitations in error correcting code capability, particularly when errors exceed the correction capability of the error correcting code, leading to unsuccessful decoding operations and increased latency due to the need for secondary error correcting code operations.
Innovation Solution
A remix operation is performed to change the logical to physical association of a data block, redistributing errors to allow the first tier of error correcting code operations to correct previously uncorrectable errors, thereby reducing the frequency of secondary error correcting code operations and latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional error correcting code operations are used to correct errors in data blocks, then error correction capability is maintained within code limits, but latency increases and computational resources are consumed when errors exceed correction capability
Solution Approach 1:
The system performs preliminary actions by proactively changing logical to physical associations of data blocks before errors occur or when error patterns are detected. This preemptive remapping redistributes errors to correctable patterns, avoiding the need for secondary error correcting code operations and reducing latency.
Solution Approach 2:
The system dynamically changes the logical to physical associations of data blocks based on detected error patterns. This dynamic remapping allows the storage system to adapt to changing error conditions, redistributing errors to patterns that can be corrected by the first tier error correcting code operations.
2Productivity
If first tier error correcting code operations are used, then decoding speed is maintained, but errors exceeding correction capability result in unsuccessful decoding requiring secondary operations
Solution Approach 1:
The system performs preliminary remapping of data blocks to redistribute errors before decoding attempts. By proactively changing logical to physical associations, errors are positioned in patterns that fall within the correction capability of the first tier error correcting code, ensuring successful decoding at high speed without requiring slower secondary operations.
Solution Approach 2:
The system changes the parameter of logical to physical association to transform uncorrectable error patterns into correctable ones. This parameter change allows the same error correcting code to successfully correct errors that would otherwise exceed its correction capability, maintaining both speed and reliability.
3Reliability
If secondary error correcting code operations are performed to correct uncorrectable errors, then error correction capability is enhanced, but computational resources and processing time increase
Solution Approach 1:
The system performs preliminary remapping to prevent the need for complex secondary error correcting code operations. By redistributing errors to correctable patterns before decoding, the system avoids the computational overhead of secondary operations while maintaining the same effective error correction capability.
Solution Approach 2:
The system creates a copy of the data block with different logical to physical associations. This copied representation with remapped errors allows the first tier error correcting code to correct errors that would be uncorrectable in the original mapping, avoiding the need for computationally intensive secondary operations.
Data Source
AI summary
A first tier of error correcting code operations on a data block may be performed. The first tier of error correcting code operations on the data block may be determined to be associated with an unsuccessful correction of an error of the data block. Responsive to determining that the first tier of error correcting code operations on the data block are associated with the unsuccessful correction of the error of the data block, a remix operation on the data block to change a logical to physical association of the data block from a first logical association to a second logical association may be performed.


