Memory Error Detection via Segmented Count Data Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for ensuring data integrity in safety-critical systems, such as railway applications, are inadequate in detecting memory errors and maintaining operational safety, as they require significant hardware resources and do not reliably prevent undetected changes to data.
Innovation Solution
A method where data is encoded with count data that characterizes test runs, allowing for error detection by checking if the count data identifies the current or most recent test run, ensuring that only error-free data is processed, and using cyclic checks to detect 'sleeping' errors, thereby enhancing safety levels (SEL-1 to SIL-4).
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple computing instances with voting process are used to detect memory errors, then error detection capability is improved, but hardware complexity increases significantly
Solution Approach 1:
The patent extracts the error detection function from the data section and places it in a separate test data section. This allows the voting mechanism to operate independently on test data without duplicating the entire application data across multiple computing instances, thereby reducing hardware complexity while maintaining error detection capability.
Solution Approach 2:
The data record is segmented into a data section and a test data section. The test data section contains counting data that is updated cyclically, allowing error detection through comparison of counting data across different test runs without requiring full redundancy of application data, thus reducing hardware requirements.
2Reliability
If cyclic test runs with count data verification are performed to detect sleeping errors, then reliability is improved, but processing time increases
Solution Approach 1:
The patent implements periodic test runs that cyclically update and verify counting data in the test data section. This periodic verification detects sleeping errors without requiring continuous monitoring of all application data, thereby limiting time loss to specific intervals while maintaining high reliability.
Solution Approach 2:
Instead of verifying all application data in each test run, the patent performs partial verification by checking only the counting data in the test data section. This partial action is sufficient to detect errors while significantly reducing the time required compared to full data verification.
3Measurement precision
If count data is stored in application data records to identify test runs, then error detection accuracy is improved, but data structure complexity increases
Solution Approach 1:
The data record is divided into a data section for application data and a separate test data section for counting data. This segmentation isolates the complexity of error detection mechanisms to a specific section, making the overall data structure more manageable while maintaining high error detection accuracy.
Solution Approach 2:
The test data section serves multiple functions: storing counting data for error detection, tracking test run identification, and enabling cyclic verification. This multi-functionality reduces the need for separate structures for each function, thereby managing data structure complexity while improving error detection accuracy.
Data Source
Figure 1
Figure 2~2A
Figure 2B
AI summary
The invention relates to a method for the computer-aided operation of a storage unit, in which data is stored in the storage unit and encoded before storage, retrieved from the storage unit, and decoded after retrieval. The storage unit is monitored for errors by performing a timed sequence of computer-aided test runs. For the initial encoding (COD) of the data, each required application data record (ADS), containing test data sections (PA), is generated or selected. For each application data record (ADS), the test data section (PA) is populated with count data (ZD) that identifies the test run currently being executed. Each application data record (ADS) is then encoded and stored.To check the data, during the ongoing test run, after retrieving and decoding (DEC) the application data records (ADS), an error is detected for each application data record (ADS) if the count data (ZD) does not identify either the currently running test run or the most recently completed test run. If no error is detected, the test data section (PA) of the relevant application data section is populated with count data (ZD) that identifies the currently running test run. The relevant application data record (ADS) is then re-encoded and stored if no error is detected. Furthermore, the invention comprises a method for executing application programs and a computer program product.