Dirty Cacheline Duplication for Cache Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecache memory reliabilityVSAvoidECC complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #26Copying

2Reliability

If ECC complexity is increased to improve reliability, then reliability is improved, but overhead increases

Engineering Contradiction:
Improvecache memory reliabilityVSAvoidoverhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #26Copying

3Reliability

If a dirty cacheline is corrupted without a duplicate, then uncorrectable errors occur, but system failures result without additional ECC complexity

Engineering Contradiction:
Improveerror recovery capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice 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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9229803B2Dirty cacheline duplication
Publication Date: 2016.01.05 ADVANCED MICRO DEVICES INC
  • US9229803B2 patent drawing
  • US9229803B2 patent drawing
  • US9229803B2 patent drawing

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.