Level-n Cache Segmentation for Address Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional cache architectures face performance degradation due to the need for larger data blocks and addresses, which exceed the capacity of on-chip caches, leading to increased cache misses and slower access times when data is stored in remote, larger off-chip memory.

Innovation Solution

Implementing a level-'n' cache system with an on-chip address cache that stores address portions for a subset of data blocks, allowing for a smaller, faster address cache that decouples from the main cache size, enabling larger data blocks to be stored off-chip while maintaining performance by providing direct access to the main cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the cache size is increased to store larger data blocks, then the number of cacheable data blocks increases, but the cache access time increases and power consumption increases

Engineering Contradiction:
Improvenumber of data blocksVSAvoidcache access time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The cache system is segmented into two distinct parts: an address cache that stores only address portions (metadata) and a main cache that stores the actual data blocks. This segmentation allows the address cache to remain small and fast while the main cache can be larger, resolving the contradiction between storing more data blocks and maintaining fast access times.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The address cache acts as an intermediary between the processor core and the main cache. By storing address portions and metadata in the address cache, the system can quickly determine whether data blocks exist in the main cache without requiring the processor to directly access the larger, slower main cache for every lookup operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If the cache size is increased to store larger data blocks, then the storage capacity increases, but the power consumption increases

Engineering Contradiction:
Improvestorage capacityVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The cache system is segmented into an address cache for storing address portions and a main cache for storing data blocks. This segmentation allows the address cache to remain small and consume less power while the main cache provides the necessary storage capacity for large data blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different parts of the cache system have different qualities optimized for their specific functions: the address cache is small and fast with low power consumption for quick address lookups, while the main cache is larger for storing substantial data blocks, with each component's characteristics locally optimized for its purpose.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If the address cache stores addresses for all data blocks in the main cache, then the address cache size must match the main cache size, but this increases the address cache complexity and power consumption

Engineering Contradiction:
Improveaddress coverageVSAvoidaddress cache size
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Only the essential address portions and metadata are extracted and stored in the address cache, rather than storing complete addresses for all data blocks. This extraction approach allows the address cache to be significantly smaller than the main cache while still providing effective address lookup functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The address cache stores address portions for a subset of data blocks rather than all data blocks in the main cache. This partial action approach is sufficient for the intended purpose of quick address validation and can be extended selectively based on performance requirements without requiring the address cache to match the main cache size.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3411798B1Cache and method
Publication Date: 2019.12.04 SWARM64
  • EP3411798B1 patent drawingFigure 1
  • EP3411798B1 patent drawingFigure 2
  • EP3411798B1 patent drawingFigure 3

AI summary

A level-'n' cache and method are disclosed. The level-'n' cache method comprises: in response to a data access request identifying an address of a data block to be accessed, interrogating an address cache of the level-'n' cache arranged to store address portions for a sub-set of data blocks stored in a main cache of the level-'n' cache to determine whether a cache hit occurs within the address cache for the address. In this way, providing the address cache which is separate from the main cache, with the address cache storing address portions relating to data blocks stored in the main cache, the amount of data required to be stored in the address cache is reduced, and decouples the size of the address cache from that of the main cache which enables the address cache to be sized independent of the size of the data blocks stored in the main cache. This provides for a cache of addresses which can be significantly smaller, faster and easily locatable with other components of a data processing apparatus, whilst allowing the data to be stored elsewhere in the main cache which can be larger, slower and more remotely-located from the other components of the data processing apparatus.