Hierarchical Cache Maintenance via Eviction Data Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In hierarchical cache structures, cache maintenance operations across multiple levels are inefficient due to separate handling of evicted data and maintenance operations, leading to increased access requirements and idle time, particularly in integrated multi-core processors where evicted data is processed serially before maintenance can be forwarded to lower caches.

Innovation Solution

The solution involves passing maintenance indication data with evicted data from the first level cache to the second level cache, modifying the eviction handling operation to incorporate required cache maintenance, thereby reducing the need for separate cache maintenance operations and minimizing idle time by integrating maintenance within the eviction process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If separate handling of evicted data and cache maintenance operations is used, then the cache structure can be simpler to implement, but the number of accesses to lower caches increases and idle time increases

Engineering Contradiction:
Improvecache handling mechanismVSAvoidcache maintenance efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent combines the handling of evicted data with the execution of cache maintenance operations by integrating maintenance indication data with the evicted data itself. This merging allows the second level cache to perform both data storage and maintenance functions in a single operation, reducing the number of separate accesses and eliminating idle time between operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The evicted data structure is enhanced to serve multiple functions: it acts as both the data payload for storage and as the maintenance operation instructions. The maintenance indication data embedded within the evicted data enables the second level cache to autonomously perform maintenance tasks without requiring separate maintenance operation messages, thus improving productivity while maintaining reasonable structural complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Ease of operation

If serial processing of evicted data is used, then the cache maintenance operation can be performed sequentially, but idle time increases between eviction handling and maintenance forwarding

Engineering Contradiction:
Improveprocessing sequenceVSAvoididle time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent performs preliminary action by embedding the maintenance operation instructions within the evicted data structure itself. This allows the maintenance operation to be prepared and transmitted simultaneously with the data eviction process, eliminating the need for sequential processing and the associated idle time between eviction handling and maintenance forwarding.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuity of useful action by making the maintenance operation execution part of the same processing cycle as the data eviction. The second level cache processes both the data storage and maintenance tasks in a continuous operation without interruption, eliminating idle time while maintaining a clear sequential logic for implementation.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If multiple separate operations are used for eviction and maintenance, then each operation can be optimized independently, but the total number of accesses to the second level cache increases

Engineering Contradiction:
Improveoperation optimizationVSAvoidnumber of accesses
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges the eviction handling operation and the cache maintenance operation into a single integrated operation. By combining these previously separate operations, the system reduces the total number of accesses to the second level cache while still allowing each operation to be optimized through careful design of the combined operation structure.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The enhanced evicted data structure provides multi-functionality, serving both as the data payload and as the maintenance operation carrier. This universality allows a single access to the second level cache to accomplish multiple tasks that would otherwise require separate accesses, reducing the quantity of substance (number of accesses) while maintaining operational versatility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9442856B2Data processing apparatus and method for handling performance of a cache maintenance operation
Publication Date: 2016.09.13 ARM LTD
  • US9442856B2 patent drawing
  • US9442856B2 patent drawing
  • US9442856B2 patent drawing

AI summary

A data processing apparatus has data processing circuitry for performing data processing operations on data, and a hierarchical cache structure for storing at least a subset of the data for access by the data processing circuitry. The hierarchical cache structure has first and second level caches, and data evicted from the first level cache is routed to the second level cache under the control of second level cache access control circuitry. Cache maintenance circuitry performs a cache maintenance operation in both the first level cache and the second level cache. The access control circuitry is responsive to maintenance indication data to modify the eviction handling operation performed in response to the evicted data, so as to cause the required cache maintenance for the second level cache to be incorporated within the eviction handling operation.