ECC Memory Error Indication Using Modified Check Bits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in ensuring that corrupted data is not inadvertently processed by modifying error correction codes (ECC) to indicate data corruption, even when the error flag is not stored in memory, thus ensuring the integrity of data during transmission and storage.
Innovation Solution
A method and system that modify seven out of eight ECC bits to indicate data corruption, ensuring that even if one ECC bit is flipped back, the data is still detected as corrupted, using a memory controller with ECC generation, modification, and write modules to store and read data bits along with modified ECC bits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ECC bits are modified to indicate data corruption, then data integrity is improved, but the complexity of the ECC system increases
Solution Approach 1:
The patent applies preliminary action by modifying the ECC bits at the time of data writing, before the data is stored in memory. The memory controller detects corrupted data and proactively modifies the ECC bits to indicate corruption, so that when the data is later read, the corruption is already marked and can be easily detected without requiring complex real-time analysis during read operations.
Solution Approach 2:
The patent changes the state of ECC bits from their normal error-correction function to an error-indication function. By flipping specific ECC bits (e.g., the least significant bit or specific pattern of bits), the system transforms the ECC structure to carry dual purposes: maintaining error correction capability while simultaneously encoding corruption indication information that can be detected during read operations.
2Reliability
If error indication is made robust and indelible, then detection reliability is improved, but the number of ECC bits required increases
Solution Approach 1:
The patent applies partial action by modifying only specific ECC bits rather than all ECC bits. Typically, one or a few specific bits within the ECC structure are flipped to indicate corruption, while the remaining ECC bits maintain their original error-correction functionality. This approach achieves robust error indication without requiring an increase in the total number of ECC bits.
Solution Approach 2:
The patent makes the ECC bits multi-functional by having them serve both their traditional error-correction purpose and an additional error-indication purpose. The same ECC bits that are used for correcting bit errors also encode corruption information through specific bit patterns, eliminating the need for separate error indication bits and maximizing the utility of the existing ECC structure.
3Productivity
If corrupted data is stored in memory, then processing flow is maintained, but the risk of processing corrupted data increases
Solution Approach 1:
The patent introduces the modified ECC bits as an intermediary mechanism between data storage and data processing. The ECC bits act as a mediator that carries corruption information alongside the data, allowing the system to maintain processing flow by storing corrupted data while simultaneously providing a detection mechanism that prevents erroneous processing of the corrupted data.
Solution Approach 2:
The patent implements feedback by having the modified ECC bits provide continuous information about data integrity status. When data is read from memory, the ECC verification process detects the modified bits and generates feedback indicating corruption, which then triggers appropriate error handling procedures. This closed-loop feedback mechanism ensures that corrupted data is identified and handled appropriately while maintaining overall system productivity.
Data Source
AI summary
Some of the embodiments of the present disclosure provide a method including receiving data to be stored in a memory, the data including (i) data bits and (ii) a tag indicating that one or more of the data bits are corrupted; generating eight error correction code (ECC) bits corresponding to the data bits of the data; in response to the data including the tag indicating that one or more of the data bits are corrupted, modifying seven bits of the eight ECC bits to generate modified ECC bits, wherein the seven bits of the eight ECC bits are modified to indicate that one or more of the corresponding data bits are corrupted; and writing the data bits, along with the modified ECC bits, to the memory. Other embodiments are also described and claimed.


