Cache Line De-duplication via Hardware Pattern Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for detecting and managing duplicated cache lines in memory are inefficient, often relying on software scans which are costly and resource-intensive, whereas hardware detection offers a more economical and efficient approach.

Innovation Solution

Implementing a system that detects cache line data patterns using digital logic gates and hardware-trained patterns, building a link-list between multiple physical addresses and their common data values to de-duplicate cache lines, utilizing a cache line filter table and overflow table to manage duplicate content.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If software is used to scan memory and detect duplicated cache lines, then duplication detection can be achieved, but the cost is very expensive and resource-intensive

Engineering Contradiction:
Improveduplication detection accuracyVSAvoidcomputational cost
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent replaces software-based duplication detection with hardware-based detection using digital logic gates (XOR, AND, OR gates) that operate in parallel to compare cache line data patterns. This substitution of mechanical/software computation with hardware logic circuits dramatically reduces computational cost and energy consumption while maintaining detection accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent creates hardware copies of cache line data patterns through parallel comparison circuits that simultaneously check multiple cache lines against each other. These hardware copies enable rapid duplication detection without requiring sequential software processing, reducing the computational burden while achieving the same detection function.

Inventive Principle:
Principle #26Copying

2Productivity

If hardware is used to detect data patterns in memory, then detection efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvedetection efficiencyVSAvoidhardware circuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the memory system into multiple cache sets, each with its own dedicated comparison circuits. This segmentation allows parallel processing of duplication detection across different cache sets, improving overall detection efficiency while managing hardware complexity by localizing the circuitry to specific cache regions rather than requiring a monolithic complex circuit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent designs the hardware detection circuitry to perform multiple functions: comparing cache line data patterns, generating duplication detection signals, and interfacing with cache control logic. This multi-functionality reduces the need for separate dedicated circuits for each task, thereby improving detection efficiency without proportionally increasing overall device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If duplicate cache lines are stored in memory, then memory capacity is充分利用, but memory usage efficiency decreases due to redundancy

Engineering Contradiction:
Improvememory capacity utilizationVSAvoidredundant data storage
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The patent implements a self-service mechanism where the hardware detection circuit automatically identifies duplicate cache lines and generates signals to prevent their storage. The system serves itself by using the stored data patterns to detect and eliminate redundancies without requiring external software intervention, thereby reducing memory usage inefficiency while maintaining full capacity utilization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent discards redundant duplicate cache line data by preventing their storage in memory through hardware-generated invalidation signals. When duplicates are detected, the system recovers memory space by ensuring only unique data patterns are stored, thereby eliminating wasteful redundancy while maintaining optimal memory capacity utilization for actual unique data.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP3204859B1Methods and systems for cache lines de-duplication
Publication Date: 2020.12.02 GOOGLE LLC
  • EP3204859B1 patent drawingFigure 1
  • EP3204859B1 patent drawingFigure 2
  • EP3204859B1 patent drawingFigure 3

AI summary

Provided are methods and systems for de-duplicating cache lines in physical memory by detecting cache line data patterns and building a link-list between multiple physical addresses and their common data value. In this manner, the methods and systems are applied to achieve de-duplication of an on-chip cache. A cache line filter includes one table that defines the most commonly duplicated content patterns and a second table that saves pattern numbers from the first table and the physical address for she duplicated cache line. Since a cache line duplicate can be detected during a write operation, each write can involve table lookup and comparison. If there is a hit in the table, only the address is saved instead of the entire data string.