Cache Memory Randomized Eviction Policy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache memory systems face inefficiencies due to deterministic eviction policies that discard important data based on time, leading to increased memory access latency and reduced performance, as they fail to retain data that is frequently reused.

Innovation Solution

Implementing a cache memory system with randomized eviction policies and multi-occupancy, where data is randomly selected for eviction and reused data can occupy multiple cache lines, allowing for a higher probability of retaining important data over time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If deterministic eviction policies are used, then cache management is simple, but important data is discarded based on time leading to increased memory access latency

Engineering Contradiction:
Improvememory access latencyVSAvoidcache eviction policy complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent changes the eviction policy from deterministic time-based to probabilistic reuse-based. The cache controller monitors data reuse patterns and assigns retention probabilities dynamically, allowing frequently reused data to be retained longer while less important data is evicted, thereby reducing memory access latency without requiring complex deterministic tracking

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The cache system implements feedback mechanisms where the cache controller continuously monitors data access patterns and reuse counts. This feedback informs the eviction decision-making process, allowing the system to adaptively adjust which data to retain or evict based on actual usage patterns rather than predetermined time rules

Inventive Principle:
Principle #23Feedback

2Productivity

If data is evicted based on time, then cache structure is simple, but frequently reused data is lost reducing cache performance

Engineering Contradiction:
Improvecache performanceVSAvoiddata retention mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache system enables data to essentially advocate for its own retention through the reuse count mechanism. When data is accessed, the reuse count is incremented, and this self-updated information is used by the eviction policy to determine retention. This eliminates the need for complex external tracking of data importance while improving cache performance for frequently reused data

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The eviction policy transitions from static time-based rules to dynamic reuse-based probabilities. The retention probability of each cache line is dynamically adjusted based on its reuse count and current cache state, allowing the system to adapt to changing access patterns and prioritize retention of frequently reused data

Inventive Principle:
Principle #15Dynamics

3Speed

If prefetching is used to increase likelihood of desired data in cache, then memory access speed improves, but operational complexity increases

Engineering Contradiction:
Improvememory access speedVSAvoidprefetching system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the complexity of prefetching by removing it entirely and replacing it with a simpler reuse-based retention mechanism. Instead of attempting to predict future data needs through complex prefetching algorithms, the system simply retains data that has demonstrated actual reuse value, achieving fast access to needed data without the operational complexity of prediction systems

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11782830B2Cache memory with randomized eviction
Publication Date: 2023.10.10 MICRON TECHNOLOGY INC
  • US11782830B2 patent drawing
  • US11782830B2 patent drawing
  • US11782830B2 patent drawing

AI summary

This document describes apparatuses and techniques for cache memory with randomized eviction. In various aspects, a cache memory randomly selects a cache line for eviction and/or replacement. The cache memory may also support multi-occupancy whereby the cache memory enters data reused from another cache line to replace the data of the randomly evicted cache line. By so doing, the cache memory may operate in a nondeterministic fashion, which may increase a probability of data remaining in the cache memory for subsequent requests.