Cache Memory Reference Count Inhibits Premature Data Replacement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache memory systems face excessive data replacement issues due to premature release of lock bits, leading to replacement of prefetched data that has not been used multiple times, which affects processor performance by increasing memory latency.

Innovation Solution

A data processing apparatus with a cache memory unit that includes a data array structure with reference counts for each entry, where the prefetch unit inhibits replacement until the reference count reaches zero, ensuring that prefetched data is not replaced until it is used by the fetch operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If prefetch is performed excessively early, then memory latency can be hidden, but prefetched data may be replaced with subsequently prefetched data

Engineering Contradiction:
Improvememory latencyVSAvoiddata retention
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent applies preliminary action by performing prefetch operations in advance before the processor actually needs the data. The prefetch unit proactively loads data from main memory to cache memory ahead of time, allowing the processor to access already-prefetched data without experiencing memory latency. This is achieved through the fetch unit that independently initiates prefetch operations based on predicted future data needs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through the reference count mechanism that tracks how many times prefetched data has been accessed by the processor. When data is prefetched, a reference count is initialized. Each time the processor accesses the data, the reference count is decremented. When the reference count reaches zero, the data becomes eligible for replacement. This feedback loop ensures that data which is frequently accessed retains its cache position, while data that is not accessed can be safely replaced.

Inventive Principle:
Principle #23Feedback

2Reliability

If lock bit is set to prevent replacement of prefetched data, then data retention is improved, but device complexity increases

Engineering Contradiction:
Improvedata retentionVSAvoidcache control structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by using a reference count parameter instead of a simple binary lock bit. The reference count provides a graduated mechanism where data can be retained based on its access frequency rather than a simple locked/unlocked state. This parameter-based approach replaces the complex lock bit mechanism with a more flexible counting system that automatically manages data retention based on actual usage patterns.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements self-service through the automatic reference count decrementing mechanism. Each time the processor accesses prefetched data, the reference count is automatically decremented without requiring external control logic. The cache replacement policy automatically uses this reference count information to determine which data to replace, eliminating the need for complex external control structures and lock bit management.

Inventive Principle:
Principle #25Self-service

3Reliability

If reference count mechanism is implemented, then excessive data replacement is suppressed, but manufacturing precision requirements increase

Engineering Contradiction:
Improvedata replacement controlVSAvoidreference count management
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent applies segmentation by dividing the cache memory into multiple entries, each with its own independent reference count. This allows each cached data item to be managed independently based on its own access pattern. The segmentation of the cache into ways and sets enables parallel management of multiple reference counts, distributing the complexity across many simple independent counters rather than requiring complex centralized control logic.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9235523B2Data processing apparatus and control method thereof
Publication Date: 2016.01.12 CANON KK
  • US9235523B2 patent drawing
  • US9235523B2 patent drawing
  • US9235523B2 patent drawing

AI summary

A cache memory device includes a data array structure including a plurality of entries identified by indices and including, for each entry, data acquired by a fetch operation or prefetch operation and a reference count associated with the data. The reference count holds a value obtained by subtracting a count at which the entry has been referred to by the fetch operation, from a count at which the entry has been referred to by the prefetch operation. As for an entry created by the prefetch operation, a prefetch device inhibits replacement of the entry until the value of the reference count of the entry becomes 0.