Cache Memory Region Segmentation for High Reusability Data Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cache memory systems, data with high reusability is often replaced with data of low reusability due to the LRU replacement algorithm, leading to decreased cache efficiency, especially in applications like scientific computing and image processing where data reusability is low.

Innovation Solution

The cache memory is divided into multiple regions, allowing different cache lines to be associated with different memory regions, preventing high-reusability data from being replaced by low-reusability data by using an address generation unit to generate cache addresses based on memory regions, thereby enhancing cache efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If LRU replacement algorithm is used, then cache replacement is simple to implement, but data with high reusability may be replaced with data having low reusability causing decreased cache efficiency

Engineering Contradiction:
Improvesimplicity of cache replacementVSAvoidcache efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The cache memory is divided into multiple independent cache regions, each associated with a specific memory region. This segmentation prevents data from different memory regions from competing for the same cache lines, thereby preventing high-reusability data from being replaced by low-reusability data while maintaining simple LRU replacement within each region.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different cache regions are dedicated to different memory regions, creating local optimization where each cache region independently manages its own LRU replacement policy. This local quality approach ensures that replacement decisions are made within homogeneous data contexts, improving overall cache efficiency without complicating the global replacement mechanism.

Inventive Principle:
Principle #3Local quality

2Productivity

If cache partitioning by instruction groups is used, then cache efficiency is improved, but the system becomes more complex and difficult to apply to general cases

Engineering Contradiction:
Improvecache efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory space is divided into multiple memory regions, and the cache memory is correspondingly divided into multiple cache regions. This segmentation approach improves cache efficiency by preventing unnecessary data replacement while avoiding the complexity of instruction group classification by using a simpler memory region-based association.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the basis for cache partitioning from instruction group characteristics to memory region addresses. By using the memory address itself to determine cache region mapping, the system achieves improved cache efficiency without requiring complex instruction analysis or classification logic.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If different ranges of cache lines are searched for different memory regions, then high-reusability data is protected from replacement, but address generation complexity increases

Engineering Contradiction:
Improvecache efficiencyVSAvoidaddress generation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The address generation unit generates different cache memory addresses for different memory regions by segmenting the address space. This segmentation is achieved through simple address translation or mapping logic that converts memory addresses to corresponding cache region addresses, maintaining relatively simple address generation while enabling differentiated cache search behavior.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The address generation unit acts as an intermediary that translates memory addresses to cache addresses while considering the memory region associations. This intermediary function enables the system to achieve differentiated cache search without requiring complex control logic in the main unit, as the address translation itself encodes the region-specific mapping information.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11216371B2Cache memory and method for controlling the same
Publication Date: 2022.01.04 MITSUBISHI ELECTRIC CORP
  • US11216371B2 patent drawing
  • US11216371B2 patent drawing
  • US11216371B2 patent drawing

AI summary

In a cache memory, a main unit stores memory address information which is associated with part of data stored in a memory space to be accessed, on a cache line-by-cache line basis. The memory space is divided into a plurality of memory regions. The address generation unit generates a cache memory address from a memory address specified by an external access request, based on a memory region among the plurality of memory regions which is associated with the memory address specified by the access request. A main unit is searched according to the cache memory address, thereby searching and replacing different ranges of cache lines for different memory regions.