Cache Memory Dirty Bit Transfer for Eviction Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Exclusive cache systems in data processing apparatuses experience increased evictions, leading to performance adverse effects, particularly when evicting cache lines to main memory, as they typically mark all evicted cache lines as dirty, resulting in unnecessary evictions and latency.

Innovation Solution

Implementing a data processing apparatus with a hierarchy of cache memories where the n-th level cache memory passes an indication of associated dirty values to the n+1-th level cache memory upon eviction, ensuring only modified cache lines are marked as dirty, thereby reducing unnecessary evictions and latency by maintaining accurate dirty/clean status during linefill processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If exclusive cache behaviour is employed to increase effective cache size, then cache hit rate is improved, but the number of evictions increases causing performance degradation

Engineering Contradiction:
Improvecache hit rateVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the state parameter of cache lines by accurately tracking their dirty/clean status. When a cache line is evicted from L1 to L2 cache, the dirty bit information is preserved and transferred to L2 cache. This parameter change allows the system to distinguish between modified and unmodified cache lines, enabling selective eviction only when necessary, thus reducing unnecessary evictions while maintaining the benefits of exclusive cache behavior.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If all evicted cache lines are marked as dirty in exclusive cache systems, then data consistency is maintained, but unnecessary evictions to main memory occur increasing latency

Engineering Contradiction:
Improvedata consistencyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the dirty bit information from the eviction process and transfers it separately to the L2 cache. This extraction allows the system to identify which cache lines are actually dirty and only evict those to main memory, while clean cache lines can be discarded without writing back to main memory. This resolves the contradiction by maintaining data consistency for dirty lines while avoiding unnecessary latency for clean lines.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a feedback mechanism where the dirty bit status is tracked and fed back through the cache hierarchy. When a cache line is evicted from L1 to L2, the dirty bit information is passed along. This feedback enables L2 cache and subsequent levels to make informed decisions about whether to write back to main memory, thus maintaining data consistency while minimizing unnecessary memory operations and latency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7434007B2Management of cache memories in a data processing apparatus
Publication Date: 2008.10.07 ARM LTD
  • US7434007B2 patent drawing
  • US7434007B2 patent drawing
  • US7434007B2 patent drawing

AI summary

The present invention provides a data processing apparatus and method for managing cache memories. The data processing apparatus comprises a processing unit for issuing an access request seeking access to a data value, and a hierarchy of cache memories for storing data values for access by the processing unit. The hierarchy of cache memories comprises at least an n-th level cache memory and n+1-th level cache memory which at least in part employ exclusive behavior with respect to each other. Each cache memory comprises a plurality of cache lines, at least one dirty value being associated with each cache line, and each dirty value being settable to indicate that at least one data value held in the associated cache line is more up-to-date than a corresponding data value stored in a main memory. When employing exclusive behavior, the n-th level cache memory is operable, on eviction of a cache line from the n-th level cache memory to the n+1-th level cache memory, to additionally pass an indication of the at least one associated dirty value from the n-th level cache memory to the n+1-th level cache memory. This has been found to reduce the frequency of evictions of lines from the n+1-th level cache memory when employing exclusive behaviour.