Dirty Cacheline Duplication for Cache Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current error-correction codes (ECC) in cache memory systems improve reliability but increase overhead in die area and computational complexity, and when a cacheline becomes dirty and corrupted, the lack of a duplicate leads to uncorrectable errors and system failures without additional ECC complexity.
Innovation Solution
Duplicating dirty cachelines in cache memory when they are modified, allowing recovery from uncorrectable errors by referencing the duplicate if the original becomes corrupted.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error-correction codes (ECC) are used to improve reliability, then reliability is improved, but overhead in die area and computational complexity increases
Solution Approach 1:
The patent creates a duplicate copy of the dirty cacheline at a different physical location in the cache memory. This copy serves as a backup that can be used if the original cacheline becomes corrupted. The copying approach provides redundancy without requiring complex ECC schemes, as the duplicate cacheline can be used to recover from uncorrectable errors in the original.
2Reliability
If ECC complexity is increased to improve reliability, then reliability is improved, but overhead increases
Solution Approach 1:
Instead of using more complex ECC schemes that would require additional bits and computational resources, the patent uses a simpler approach by maintaining a duplicate cacheline. This duplicate serves as a backup that can be used for error recovery, providing reliability improvement without the overhead associated with complex ECC.
3Reliability
If a dirty cacheline is corrupted without a duplicate, then uncorrectable errors occur, but system failures result without additional ECC complexity
Solution Approach 1:
The patent maintains a duplicate cacheline as a backup for the dirty cacheline. When the original dirty cacheline becomes corrupted with an uncorrectable error, the system can recover by using the duplicate cacheline instead, preventing system failure without requiring complex error handling mechanisms.
Solution Approach 2:
The duplicate cacheline is created in advance, before any corruption occurs. This preliminary action ensures that when an uncorrectable error occurs in the original dirty cacheline, a valid backup is already available for immediate use, enabling error recovery without complex real-time error handling.
Data Source
AI summary
A method of managing memory includes installing a first cacheline at a first location in a cache memory and receiving a write request. In response to the write request, the first cacheline is modified in accordance with the write request and marked as dirty. Also in response to the write request, a second cacheline is installed that duplicates the first cacheline, as modified in accordance with the write request, at a second location in the cache memory.


