SECDED Integrity Checking for Memory Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data protection methods are inadequate in detecting and correcting errors, particularly in integrated circuits and memories, where malicious tampering and increasing data transmission frequencies pose challenges for error detection and correction.
Innovation Solution
A method and system utilizing a single error correction and double error detection code to generate check bit values, allowing for the detection and correction of single errors and indication of uncorrectable errors in data and integrity vector bit values, incorporating an encoder and decoder to process and verify data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional error detection and correction codes are used, then single errors can be detected and corrected, but multi-bit errors and integrity violations cannot be reliably detected
Solution Approach 1:
The code is segmented into data bits and integrity vector bits, with separate error detection mechanisms for each. The integrity vector is processed independently to detect malicious tampering, while data bits use traditional SECDED for error correction. This segmentation allows specialized detection for different error types without requiring a completely complex unified code.
Solution Approach 2:
The integrity vector serves multiple functions: it acts as both data to be protected and as a mechanism to detect integrity violations. By encoding the integrity vector alongside data bits and processing them through the same SECDED code, the system achieves multi-functional error detection including single-bit errors, multi-bit errors, and integrity tampering without requiring separate dedicated structures.
2Productivity
If data transmission frequency is increased, then productivity improves, but error detection and correction becomes increasingly difficult
Solution Approach 1:
The integrity vector is prepared and encoded in advance alongside the data bits before transmission or storage. This preliminary encoding establishes a baseline for detecting tampering or errors that occurs during transmission, allowing rapid error detection without requiring complex real-time analysis during high-speed data operations.
Solution Approach 2:
The SECDED code provides immediate feedback through check bits that indicate whether errors are present in the data or integrity vector. This feedback mechanism enables rapid error detection and correction decisions to be made during high-speed data transmission, maintaining productivity while ensuring error detection capability.
3Object-affected harmful factors
If integrated circuits are protected from physical tampering, then security improves, but existing error detection methods are insufficient to detect malicious modifications
Solution Approach 1:
The integrity vector acts as an intermediary between the data and the error detection mechanism. By encoding the integrity vector alongside data bits and processing them through SECDED, any malicious modification to the integrity vector itself will be detected as an error, providing a layer of protection against tampering that traditional error detection methods cannot achieve.
Solution Approach 2:
The system applies preliminary error detection and correction coding to both data and integrity vectors before storage or transmission. This preliminary protection prevents malicious tampering from going undetected, as any modification to the integrity vector will manifest as detectable errors in the encoded form, counteracting potential security threats before they can succeed.
Data Source
AI summary
Systems and methods for error detection and correction with integrity checking are provided. A method includes first processing both data vector bit values and integrity vector bit values using a single error correction and double error detection (SECDED) code to generate check bit values, where the SECDED code is configured to allow both: (1) a detection and correction of a single error in the data vector values, or (2) an indication of an uncorrectable error, where the uncorrectable error corresponds to more than a single error in the data vector bit values or a single error or a multi-bit error in the integrity vector bit values. The method further includes second processing the check bit values and indicating an uncorrectable error for more than a single error in the data vector bit values or for a single error or a multi-bit error in the integrity vector bit values.


