Memory-Host ECC Coordination for Error Status Feedback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory devices often introduce additional errors when correcting data errors, leading to miscommunication between memory devices and host devices, particularly in safety-critical environments, where different error detection/correction techniques can result in improper bit flipping and increased error counts, causing host devices to fail in error detection.
Innovation Solution
Implementing a coordinated error correction system where the memory device indicates detected errors to the host device, allowing the host to avoid using data with excessive errors and perform targeted 'scrubbing' procedures to correct errors, thereby maintaining data integrity and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory devices perform internal error correction, then data corruption is detected and corrected, but additional errors are introduced and miscommunication occurs between memory and host devices
Solution Approach 1:
The patent implements a feedback mechanism where the memory device sends error status information back to the host device. The host device receives indications of errors detected by the memory device's ECC circuitry and uses this feedback to coordinate its own error correction actions, preventing the host from incorrectly processing already-corrected data and thus avoiding introduction of additional errors.
Solution Approach 2:
The patent introduces an intermediary communication protocol between the memory device and host device. This intermediary mechanism transmits error status flags and correction indicators that mediate the interaction between the two devices, allowing the host to understand the memory device's error correction state and adjust its processing accordingly, thereby preventing miscommunication and additional error introduction.
2Reliability
If different error detection/correction techniques are used by memory and host devices, then each device can correct its own errors, but improper bit flipping occurs and error counts increase
Solution Approach 1:
The memory device provides feedback to the host device about which bits have been corrected and their original error states. This feedback allows the host device to refrain from applying its own correction algorithms to already-corrected bits, preventing improper bit flipping and maintaining bit accuracy despite using different ECC techniques.
Solution Approach 2:
The memory device performs error correction as a preliminary action before data transfer to the host device. By correcting errors in advance and communicating the correction status to the host, the patent prevents the host from performing redundant or conflicting correction operations that could cause improper bit flipping.
3Reliability
If host device performs error correction on all received data, then data integrity is maintained, but processing efficiency decreases due to unnecessary correction operations
Solution Approach 1:
The patent implements partial error correction action where the host device performs error correction only on data blocks that are indicated as containing errors by the memory device's feedback. For data blocks marked as error-free, the host skips correction operations entirely, thus maintaining data integrity for corrected blocks while improving overall processing efficiency by avoiding unnecessary corrections on clean data.
Solution Approach 2:
The memory device sends feedback indicating which data blocks contain errors and require correction. The host device uses this feedback information to selectively apply error correction only to the necessary data blocks, rather than processing all received data uniformly, thereby optimizing the balance between data integrity and processing efficiency.
Data Source
AI summary
Methods, systems, and devices for coordinated error correction are described. A memory device indicates, to an external device, that errors were detected in data that was stored by the memory device and requested by the external device based on a comparison between an error correction code stored when the data was written to a memory array and an error correction code generated when the data is read from the memory array. Based on a result of the comparison, an indication of whether the compared error correction codes match is provided to the external device. The external device uses the indication to detect errors in the received version of the data, to manage data storage in the memory device, or both.


