Cache Replacement Using Active Line Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache replacement policies in segmented memory architectures do not effectively utilize information about the number of active cache lines, leading to suboptimal performance as they may replace segments with more active lines while retaining segments with fewer active lines, thus compromising hit rate and latency.

Innovation Solution

Implementing a cache replacement policy that tracks the number of active cache lines associated with each segment, in conjunction with LRU information, to determine the optimal segment to replace during cache misses, ensuring that segments with more active lines are prioritized for retention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional cache replacement policies are used, then device complexity is reduced, but hit rate deteriorates and latency increases

Engineering Contradiction:
Improvehit rateVSAvoidcache replacement policy complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter used for cache replacement decisions from conventional policies (LRU, MRU, random) to a new parameter: the number of active cache lines per segment. By tracking and comparing this specific parameter across segments, the system achieves superior hit rates while maintaining manageable complexity through hardware-efficient counting mechanisms.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements feedback by continuously monitoring the number of active cache lines in each segment and using this information to guide replacement decisions. The counter-based feedback mechanism provides real-time information about segment utilization, allowing the cache to dynamically adjust replacement choices to maximize hit rate.

Inventive Principle:
Principle #23Feedback

2Loss of time

If segments with fewer active lines are retained, then device complexity is reduced, but latency increases

Engineering Contradiction:
ImprovelatencyVSAvoidsegment tracking complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The cache system performs self-service by automatically tracking its own state through hardware counters that monitor active cache lines per segment. This self-monitoring capability enables the system to make optimal replacement decisions without external intervention, reducing latency by ensuring frequently accessed segments are retained while avoiding the complexity of sophisticated external management systems.

Inventive Principle:
Principle #25Self-service

3Reliability

If more comprehensive segment tracking is implemented, then hit rate is improved, but device complexity increases

Engineering Contradiction:
Improvecaching performanceVSAvoidcounter and tracking structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the cache into segments, each with its own active line counter. This segmentation allows independent tracking and management of different cache regions, improving caching performance for segmented workloads while keeping the overall complexity manageable through modular counter structures that can be implemented efficiently in hardware.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8806137B2Cache replacement using active cache line counters
Publication Date: 2014.08.12 BEIJING XIAOMI MOBILE SOFTWARE CO LTD
  • US8806137B2 patent drawing
  • US8806137B2 patent drawing
  • US8806137B2 patent drawing

AI summary

An apparatus for performing data caching comprises at least one cache memory including multiple cache lines arranged into multiple segments, each segment having a subset of the cache lines associated therewith. The apparatus further includes a first plurality of counters, each of the counters being operative to track a number of active cache lines associated with a corresponding one of the segments. At least one controller included in the apparatus is operative to receive information relating to the number of active cache lines associated with a corresponding segment from the first plurality of counters and to implement a cache segment replacement policy for determining which of the segments to replace as a function of at least the information relating to the number of active cache lines associated with a corresponding segment.