ECC and Hamming-Weight Encoding for Memory Tearing Errors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data corruption due to tearing errors occurs when power is interrupted during writing or erasing operations in memory devices, such as RFID chips and IoT systems, leading to unreliable data storage.
Innovation Solution
Implementing a method that encodes data with an error correcting code (ECC) and Hamming weight, where the ECC has a minimum Hamming distance of at least 4t+1 to correct up to t bit errors and detect up to 3t bit errors, and concatenating the encoded data with multiple copies of the inverted Hamming weight to enhance error detection and correction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is written to memory without enhanced error correction, then storage speed and simplicity are maintained, but data integrity deteriorates when power interruption occurs during write/erase operations
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing the Hamming weight of the data before the actual write operation. This pre-computed metadata is stored alongside the encoded data, enabling rapid error detection and correction without adding complex real-time computation during the write process. The Hamming weight serves as a preliminary checksum that facilitates tearing error detection.
Solution Approach 2:
The patent segments the error correction mechanism into distinct components: (1) traditional ECC encoding for bit-level errors, (2) Hamming weight calculation for unidirectional error detection, and (3) a combined decoding process that leverages both. This segmentation allows each component to specialize in detecting specific error types while maintaining overall system manageability and reducing the complexity of implementing a single monolithic error correction system.
2Reliability
If traditional ECC with minimum Hamming distance of 2t+1 is used, then up to t bit errors can be corrected, but detection of unidirectional tearing errors is insufficient
Solution Approach 1:
The patent makes the Hamming weight check multi-functional by designing it to simultaneously detect unidirectional tearing errors and contribute to overall error correction. The same Hamming weight metadata serves dual purposes: (1) detecting power interruption tearing errors through comparison with expected values, and (2) providing additional constraints for the ECC decoder to resolve ambiguous error patterns. This multi-functionality avoids the need for separate dedicated tearing error detection mechanisms.
3Reliability
If power interruption protection is implemented without Hamming weight encoding, then encoding overhead is reduced, but detection of tearing errors is insufficient
Solution Approach 1:
The patent applies parameter changes by transforming the data representation through Hamming weight encoding. Instead of storing raw data or using conventional ECC alone, the system encodes data with an additional parameter - the Hamming weight - which captures the unidirectional error characteristics. This parameter transformation enables the detection of tearing errors without requiring substantial increases in overall encoding overhead, as the Hamming weight can be efficiently computed and stored.
Data Source
AI summary
A method for encoding data to be stored in a memory, including: encoding the data to be stored in memory with an error correcting code (ECC) as first encoded data, wherein the ECC is configured to have a minimum Hamming distance of at least 4t+1 in order to correct up to t bit errors and detect up to 3t bit errors where t≥1; determining a Hamming weight of the first encoded data; encoding the determined Hamming weight, wherein for all higher Hamming weights the encoding should have at least 2t+1 bit-positions that change from 1 to 0 per Hamming weight; concatenating the first encoded data and the encoded Hamming weight as concatenated data; and storing the concatenated data in the memory.


