System Memory Cache Filtering Using Policy Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current CPU cache management systems lack efficient mechanisms to filter and allocate cache lines based on utilization levels, leading to suboptimal performance due to unnecessary loading of underutilized cache lines, which increases bandwidth consumption and reduces cache efficiency.

Innovation Solution

The implementation of a method that uses policy identifiers to control cache operations, including cache line filtering and allocation, where cache lines with utilization levels below a threshold are prevented from being loaded into the system memory cache, utilizing techniques such as bloom filters and blacklist mechanisms to identify and exclude underutilized cache lines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If cache lines are loaded into system memory cache without filtering, then cache capacity is utilized, but bandwidth consumption increases and cache efficiency decreases

Engineering Contradiction:
Improvebandwidth consumptionVSAvoidcache efficiency
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent applies preliminary action by implementing cache line filtering before loading cache lines into the system memory cache. The filter determines whether to load a cache line based on predicted utilization, preventing underutilized cache lines from being loaded in the first place. This proactive approach reduces unnecessary bandwidth consumption and improves cache efficiency by ensuring only potentially useful cache lines are loaded.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If all cache lines are loaded into system memory cache, then cache capacity is utilized, but unnecessary cache lines waste cache capacity

Engineering Contradiction:
Improvecache utilizationVSAvoidcache capacity waste
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent implements self-service through feedback mechanisms where the system monitors actual cache line utilization and uses this information to refine filtering decisions. The filter learns from past cache line usage patterns and adjusts its predictions, allowing the system to automatically optimize cache capacity utilization without external intervention. This improves cache utilization while reducing waste by continuously adapting to actual usage patterns.

Inventive Principle:
Principle #25Self-service

3Loss of energy

If cache line filtering is implemented, then bandwidth consumption is reduced, but system complexity increases

Engineering Contradiction:
Improvebandwidth consumptionVSAvoidcache management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent applies the cheap short-living objects principle by using relatively simple filtering mechanisms that do not require complex, expensive hardware structures. The filter uses straightforward prediction algorithms and data structures that can be implemented with minimal additional hardware complexity. This approach reduces bandwidth consumption through filtering while keeping the increase in system complexity manageable and cost-effective.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS10089239B2Memory system architecture
Publication Date: 2018.10.02 GOOGLE LLC
  • US10089239B2 patent drawing
  • US10089239B2 patent drawing
  • US10089239B2 patent drawing

AI summary

Provided are methods, systems, and apparatus for managing and controlling memory caches, in particular, system level caches outside of those closest to the CPU. The processes and representative hardware structures that implement the processes are designed to allow for detailed control over the behavior of such system level caches. Caching policies are developed based on policy identifiers, where a policy identifier corresponds to a collection of parameters that control the behavior of a set of cache management structures. For a given cache, one policy identifier is stored in each line of the cache.