Cache Subunit Allocation for Spatial Locality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache management systems face inefficiencies due to mismatched cache line sizes and spatial locality, leading to suboptimal data caching, increased read/write delays, and wasted bandwidth, especially when spatial locality is either high or low.

Innovation Solution

Implementing a cache management method with multiple cache subunits, each with varying cache line lengths correlated to the strength of spatial locality, where cache lines are dynamically adjusted based on access patterns to optimize data storage and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a fixed-size cache line is used for all data, then the cache structure is simple, but cache resource utilization is poor when spatial locality varies

Engineering Contradiction:
Improvecache structureVSAvoidcache resource utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The cache is divided into multiple cache subunits, where each subunit contains cache lines of a specific size. This segmentation allows different types of data (based on spatial locality characteristics) to be stored in appropriately-sized cache lines, improving cache resource utilization without requiring a completely complex flexible structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different cache subunits are designed with different cache line sizes tailored to specific data access patterns. Cache subunits closer to the CPU contain smaller cache lines for data with low spatial locality, while subunits farther away contain larger cache lines for data with high spatial locality. This local optimization improves overall cache efficiency.

Inventive Principle:
Principle #3Local quality

2Speed

If larger cache lines are used to accommodate high spatial locality data, then data read speed improves, but cache line replacement frequency increases when cache capacity is limited

Engineering Contradiction:
Improvedata read speedVSAvoidcache line service life
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The cache is segmented into multiple subunits with different cache line sizes. Data with high spatial locality is stored in subunits with larger cache lines to improve read speed, while data with low spatial locality is stored in subunits with smaller cache lines. This prevents unnecessary cache line replacements and extends cache line service life.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache line size parameter is changed based on the spatial locality characteristics of the data. By adjusting the cache line size to match the actual data access patterns, the system optimizes both read speed and cache line retention, avoiding the trade-off between the two parameters.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If smaller cache lines are used to reduce replacement frequency, then cache line service life improves, but data read speed decreases when spatial locality is high

Engineering Contradiction:
Improvecache line service lifeVSAvoiddata read speed
Core Design Contradiction:
Loss of timeVSSpeed

Solution Approach 1:

The cache is divided into multiple subunits with different cache line sizes optimized for different data access patterns. This segmentation ensures that data with high spatial locality is stored in subunits with larger cache lines, maintaining high read speed, while data with low spatial locality is stored in subunits with smaller cache lines, extending cache line service life.

Inventive Principle:
Principle #1Segmentation

4Device complexity

If cache lines are allocated based on uniform spatial locality assumption, then the caching mechanism is simple, but bandwidth is wasted when spatial locality is low

Engineering Contradiction:
Improvecaching mechanismVSAvoidmemory bandwidth
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The caching mechanism uses different cache line sizes in different subunits based on the local characteristics of data access patterns. This local optimization ensures that memory bandwidth is used efficiently by allocating appropriate cache line sizes to match actual spatial locality, reducing wasted bandwidth without requiring complex dynamic adjustment mechanisms.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3089039B1Cache management method and device
Publication Date: 2020.05.20 HUAWEI TECH CO LTD
  • EP3089039B1 patent drawingFigure 1~2
  • EP3089039B1 patent drawingFigure 3~4
  • EP3089039B1 patent drawingFigure 5~6

AI summary

In the communications field, a cache management method and apparatus are disclosed, to resolve a problem of how to improve cache resource utilization. The provided method includes: receiving an access request, and determining data that is to be accessed and that needs to be accessed according to the access request (301); determining a strength level of spatial locality of the data to be accessed (302); and allocating, according to the strength level of the spatial locality of the data to be accessed, a cache subunit corresponding to the level to the data to be accessed (303). The present invention is applicable to the communications field, and is used to implement cache management.