Coherent Cache Directory Recovery From Uncorrectable Tag Errors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current error correction systems in coherent networks-on-chip face inefficiencies due to high ECC overhead and bandwidth demands, particularly when updating data strings, leading to system failures in the presence of uncorrectable errors, which is critical in autonomous systems where operational continuity is essential.
Innovation Solution
A system and method that minimizes ECC overhead and data access bandwidth by allowing efficient updating of ECCTOTAL through write operations only, using encoder units to convert between different protection schemes and perform consistency checks, enabling recovery from uncorrectable errors with minimal hardware additions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data strings are combined to reduce ECC overhead, then ECC overhead decreases, but bandwidth demand increases due to read-modify-write operations
Solution Approach 1:
The patent segments the ECC update operation into two parts: (1) write the updated data to memory, and (2) separately update the ECCTOTAL by XORing the new data with the old ECCTOTAL. This segmentation eliminates the need for read-modify-write operations, reducing bandwidth demand while maintaining reduced ECC overhead
Solution Approach 2:
The patent performs preliminary action by pre-calculating the XOR result between new data and old ECCTOTAL before writing to memory. This allows the ECCTOTAL to be updated in a single write operation without requiring subsequent read-modify-write cycles, thereby reducing bandwidth consumption
2Quantity of substance
If ECC is calculated for multiple ways, then ECC overhead percentage decreases, but update efficiency decreases due to entire data string access
Solution Approach 1:
The patent segments the ECC update process into independent operations: data writing and ECCTOTAL updating. This allows partial updates of only the affected portions rather than requiring access to the entire data string, thereby improving update efficiency while maintaining the benefit of combined-way ECC
Solution Approach 2:
The patent introduces ECCTOTAL as an intermediary value that summarizes the combined ECC state of multiple ways. This intermediary allows updates to be performed by simple XOR operations on the ECCTOTAL without requiring access to the entire underlying data string, thus improving update efficiency
3Reliability
If uncorrectable error occurs in tag array, then system reliability fails, but system restart is required causing operational interruption
Solution Approach 1:
The patent implements feedback by continuously monitoring for uncorrectable errors in tag arrays and automatically responding with recovery actions. When an error is detected, the system uses the directory to identify affected agents and performs targeted invalidation operations, enabling autonomous recovery without system interruption
Solution Approach 2:
The patent enables self-service by implementing automatic error recovery mechanisms that operate without external intervention. The system autonomously detects errors, queries the directory for affected agents, invalidates relevant cache lines, and restores operational state, thereby maintaining reliability without requiring system restart or human intervention
Data Source
AI summary
A system, and corresponding method, is described for correcting an uncorrectable error in a coherent system. The uncorrectable error is detecting using an error detecting code, such as parity or SECDED. The cache controller or agent calculates a set of possible addresses. The directory is queried to determine which one of the set of possible addresses is the correct address. The agent and/or cache controller is updated with the correct address or way. The invention can be implemented in any chip, system, method, or HDL code that perform protection schemes and require ECC calculation, of any kind. Embodiments of the invention enable IPs that use different protections schemes to reduce power consumption and reduce bandwidth access to more efficiently correct errors and avoid a system restart when an uncorrectable error occurs.


