Software Error-Correcting Data Structures for Bit Error Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for detecting and correcting bit errors in memory devices, such as those in intelligent electronic devices, often require additional hardware that reduces reliability and increases costs, and are inflexible, unable to handle different data sizes effectively.
Innovation Solution
A software method that uses error checking codes, such as Hamming Codes and CRC parity checks, to detect and correct bit errors without altering the data format, allowing for quick access to unencoded data, implemented through firmware programming in microcontrollers or FPGAs, which can be applied to various memory devices and communication platforms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If additional electronic hardware circuits are used to detect and correct data errors, then data accuracy is improved, but device complexity and cost increase
Solution Approach 1:
The patent replaces physical hardware circuits with software-based error detection and correction methods. The compiler generates software code that performs error checking and correction algorithms, eliminating the need for additional electronic circuits while maintaining data accuracy. This substitution of mechanical/electrical systems with software solutions directly resolves the contradiction between reliability improvement and device complexity reduction.
2Reliability
If additional electronic hardware circuits are used to detect and correct data errors, then data accuracy is improved, but manufacturing cost increases
Solution Approach 1:
The invention substitutes hardware circuits with software implementations that are already embedded in the compiler and processor. This eliminates additional manufacturing costs for extra electronic components, circuits, and assembly processes, while still providing error detection and correction functionality through software algorithms.
3Reliability
If traditional error correction methods are used, then data errors are corrected, but flexibility is reduced as they are designed for one data size only
Solution Approach 1:
The patent implements dynamic error correction through software that can adapt to different data sizes and formats. The compiler-generated code can handle variable-length data structures and adjust error correction parameters accordingly, providing flexibility that fixed hardware circuits cannot achieve. This dynamic software-based approach resolves the contradiction between error correction capability and data size flexibility.
4Reliability
If hardware circuits perform encoding and decoding, then error detection and correction is achieved, but processing delays increase
Solution Approach 1:
The patent performs error detection and correction operations during the data storage and retrieval processes themselves, rather than as separate encoding/decoding steps. The software integrated into the compiler and processor handles error checking as part of the normal data flow, minimizing additional processing delays while maintaining error correction capability.
Data Source
AI summary
Methods to detect and correct bit errors in data include the steps of specifying to a compiler a storage area with a variable wherein the variable includes a data value corresponding to its data size and an error checking code, calculating an error checking code value indicative of the corresponding data structure value, storing the variable with the error checking code value, retrieving the variable upon demand, detecting an error on the data value using the error checking code value, and correcting the error upon detection of an error on the data value. Further steps may include storing and retrieving the data structure directly onto the storage area without additional encoding and decoding circuitry, encoding and decoding the data structure without altering the data structure format during storing and retrieving from the storage area, or detecting and correcting double bit errors. Software for the methods is provided on or in a computer readable medium.


