Memory Error Handling via Parity Check and Confidence Assessment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory errors in computing systems, particularly soft errors caused by particle interactions, can disrupt normal operation and require system reboot or costly error correction codes, leading to computational delays and increased system size and cost.
Innovation Solution
An error handling technique that allows execution to continue despite memory errors by suppressing interrupts, generating error notifications, and determining a confidence level for computational results, enabling the system to tolerate sporadic errors while flagging critical failures for immediate attention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error correction codes are implemented to handle memory errors, then reliability is improved, but device complexity and cost increase
Solution Approach 1:
The patent employs inexpensive parity check circuits instead of complex error correction codes. When memory errors are detected through parity checks, the system performs simple data rewriting operations rather than using sophisticated correction mechanisms. This approach treats error handling as a disposable, simple recovery process rather than requiring permanent complex correction infrastructure.
Solution Approach 2:
The patent extracts the error detection and handling functionality from the main computational flow by implementing separate parity check circuits and error handling logic. This allows the main system to operate with full speed while error checking occurs in parallel through dedicated hardware components, reducing the impact on overall system complexity.
2Reliability
If error correction codes are used to handle memory errors, then reliability is improved, but productivity decreases due to computational delays
Solution Approach 1:
The patent implements periodic parity checking at specific checkpoints during computation rather than continuous error correction. The system performs parity checks at defined intervals and only interrupts execution when errors are actually detected. This periodic approach maintains high productivity during normal operation while providing reliability assurance at critical points.
Solution Approach 2:
The patent allows computational execution to continue without interruption even when potential errors are present, rushing through the computation and only stopping to handle errors after completion or at checkpoints. This skipping approach minimizes the impact on execution speed by avoiding repeated error checking and correction interruptions during the computational process.
3Reliability
If system execution is halted to handle memory errors, then reliability is improved, but productivity decreases due to computational delays
Solution Approach 1:
The patent performs preliminary parity checking of memory data before computational operations to detect errors early. By checking data integrity in advance and only halting execution when actual errors are found, the system minimizes unnecessary interruptions while maintaining reliability through proactive error detection at critical checkpoints.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach minimizes the impact of memory errors on execution speed, maintains system throughput, and improves robustness by allowing continued operation with error notifications and immediate corrective actions for critical errors.
Implementation Method 1
an alpha particle (e.g., from cosmic rays), which carries a positive charge and kinetic energy, can hit a memory cell and cause the cell to change state to a different value. When an alpha particle interacts with the semiconductor substrate, electron-hole pairs can be generated.
Data Source
AI summary
An error handling technique for a computing device includes detecting a memory error during execution of the program instructions to generate a computational result, and generating an error message containing information about the memory error. The error message can be stored in a notification memory space, and be made available for access, for example, by a host system. The execution of the program instructions is allowed to continue to generate the computational result despite detecting the memory error. When the computation result becomes available, a confidence level of the computational result can be determined based on which program instruction or which computational stage resulted in the memory error. The confidence level can be used to assess whether the computational result is acceptable.


