Two-Level Cache Shadow Tag Updates for DMA Coherence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In digital data processors with a two-level memory subsystem, maintaining coherence between the central processing unit (CPU) and direct memory access (DMA) units leads to increased traffic and stalls due to the need for frequent updates of shadow tags in the level two controller, which are not necessary for all level one data cache updates.

Innovation Solution

Implementing a shadow copy of the level one data cache tag memory in the level two controller to track the status of level one data cache lines, updating shadow tags only on a subset of updates, thereby reducing unnecessary traffic and stalls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If shadow tags are updated on all level one data cache updates, then cache coherence is maintained, but extra traffic and CPU stalls increase

Engineering Contradiction:
Improvecache coherenceVSAvoidCPU performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by updating shadow tags only for a subset of level one cache updates - specifically only when the cache line is allocated to level two directly addressable memory. Updates for external memory lines are omitted, reducing unnecessary traffic while maintaining coherence for the critical subset of memory operations that require it.

Inventive Principle:
Principle #16Partial or excessive action

2Loss of information

If shadow tags are updated on all level one data cache updates, then coherence tracking is complete, but interface traffic increases

Engineering Contradiction:
Improvecoherence tracking accuracyVSAvoidinterface traffic
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating the update behavior based on the target memory location. Shadow tags are updated with full coherence tracking for level two directly addressable memory lines, while updates for external memory lines are suppressed. This localized differentiation reduces overall interface traffic while maintaining tracking accuracy where it matters most for DMA coherence.

Inventive Principle:
Principle #3Local quality

3Reliability

If shadow tags are updated on all level one data cache updates, then coherence is maintained, but CPU stalls increase

Engineering Contradiction:
Improvememory coherenceVSAvoidCPU stall time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent reduces CPU stalls by applying partial action - updating shadow tags only when necessary for level two directly addressable memory coherence rather than on every level one cache update. This selective approach minimizes the frequency of update operations that could cause CPU stalls while maintaining coherence for the critical subset of memory operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8656105B2Optimizing tag forwarding in a two level cache system from level one to lever two controllers for cache coherence protocol for direct memory access transfers
Publication Date: 2014.02.18 TEXAS INSTRUMENTS INC
  • US8656105B2 patent drawing
  • US8656105B2 patent drawing
  • US8656105B2 patent drawing

AI summary

A second level memory controller uses shadow tags 711 to implement snoop read and write coherence. These shadow tags are generally used only for snoops intending to keep L2 SRAM coherent with the level one data cache. Thus updates for all external cache lines are ignored. The shadow tags are updated on all level one cache allocates and all dirty and invalidate modifications to data stored in L2 SRAM. These interactions happen on different interfaces, but the traffic on that interface includes level one data cache accesses to both external and level two directly addressable lines. These interactions create extra traffic on these interfaces and creating extra stalls to the CPU. Thus in this invention shadow tags are updated only on a subset of less than all updates of the level one tags.