Cache Memory Latency Allocation via Dynamic Way Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing memory hierarchy in computer systems faces challenges in optimizing cache performance, as larger caches improve access latency but consume more circuit area and sacrifice operating speed, necessitating a method to efficiently store binary information in fast or slow cache ways based on access latency and parameters.

Innovation Solution

A processor with a cache memory divided into fast and slow ways, where a decision unit determines the storage location for binary information based on predetermined access latency and associated parameters, allowing for dynamic allocation and updating of cache divisions to optimize latency and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If larger cache memory is implemented to store frequently accessed information, then cache access performance is improved, but circuit area consumption increases and operating speed decreases

Engineering Contradiction:
Improvecache access performanceVSAvoidcircuit area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The cache memory is segmented into multiple ways (sets), where each way can be independently configured as fast or slow. This segmentation allows the system to provide different access speeds for different data blocks, improving overall cache performance without requiring a uniformly large cache that would consume excessive circuit area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache system dynamically determines whether to store binary information in fast ways or slow ways based on access patterns and latency requirements. This dynamic allocation optimizes the use of available circuit area while maintaining high performance for frequently accessed data.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If larger cache memory is implemented, then more frequently accessed information can be stored, but operating speed is sacrificed due to greater access latency

Engineering Contradiction:
Improvecache capacityVSAvoidoperating speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

Different regions (ways) of the cache memory are assigned different access speed characteristics. Fast ways provide low-latency access for critical data, while slow ways provide additional capacity for less time-sensitive data. This local differentiation allows the system to maintain high operating speed for important operations while providing large total capacity.

Inventive Principle:
Principle #3Local quality

3Loss of time

If cache memory is divided into fast ways and slow ways, then average latency is reduced by prioritizing frequently accessed data, but device complexity increases

Engineering Contradiction:
Improveaverage cache latencyVSAvoidcache management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The cache system automatically determines whether to store data in fast or slow ways based on predetermined access latency requirements and parameters associated with the binary information. This self-service mechanism reduces the need for complex external control logic, as the cache manages its own data placement decisions to optimize average latency.

Inventive Principle:
Principle #25Self-service

4Reliability

If cache memory size is increased to improve performance, then more data can be cached, but the latency for accesses to larger memories increases

Engineering Contradiction:
Improvecache performanceVSAvoidmemory access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache is divided into multiple independent ways, allowing the system to segment data storage across different latency characteristics. This enables the system to maintain low latency for frequently accessed data in fast ways while using slow ways for additional capacity, thereby improving overall performance without uniformly increasing access latency across the entire cache.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8065485B2Method and apparatus for determining cache storage locations based on latency requirements
Publication Date: 2011.11.22 ORACLE AMERICAN INC
  • US8065485B2 patent drawing
  • US8065485B2 patent drawing
  • US8065485B2 patent drawing

AI summary

A method for determining whether to store binary information in a fast way or a slow way of a cache is disclosed. The method includes receiving a block of binary information to be stored in a cache memory having a plurality of ways. The plurality of ways includes a first subset of ways and a second subset of ways, wherein a cache access by a first execution core from one of the first subset of ways has a lower latency time than a cache access from one of the second subset of ways. The method further includes determining, based on a predetermined access latency and one or more parameters associated with the block of binary information, whether to store the block of binary information into one of the first set of ways or one of the second set of ways.