Cuckoo Cache Eviction Without Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional caches require additional storage capacity for metadata to implement LRU and LFU eviction strategies, leading to inefficient use of space, especially when the cache is full and must evict data.

Innovation Solution

The cuckoo cache system eliminates the need for metadata by using an array of buckets with unique index values, where each entry is a key-value pair, and new items are written to one of two assignable buckets, allowing for efficient retention of data entries by moving them to alternate buckets when full, employing a modified LRU eviction strategy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If metadata is stored in the cache to implement LRU and LFU eviction strategies, then eviction functionality is improved, but storage capacity is reduced

Engineering Contradiction:
Improveeviction functionalityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the metadata storage function from the cache itself and relocates it to external structures. Counters tracking usage frequency are stored outside the cache buckets, allowing the cache to maintain full capacity for actual data while still implementing LFU eviction based on external counter information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces external counter structures as intermediaries between the cache and the eviction decision-making process. These counters mediate the tracking of usage frequency without consuming cache space, enabling the cache to distinguish between data storage and usage tracking functions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If cache capacity is increased to store more data, then storage capacity is improved, but the proportion of metadata overhead increases

Engineering Contradiction:
Improvedata storage capacityVSAvoidmetadata overhead proportion
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

By extracting metadata storage from the cache structure itself and placing it in external counter arrays, the patent enables the cache to scale its data storage capacity without proportionally increasing metadata overhead. The metadata lives separately and does not consume bucket space.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent separates the metadata dimension from the data storage dimension by using external counter structures. This dimensional separation allows independent scaling of cache capacity without being constrained by proportional metadata growth within the same storage space.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If LRU or LFU eviction strategies are implemented using metadata, then data retention accuracy is improved, but space efficiency deteriorates

Engineering Contradiction:
Improvedata retention accuracyVSAvoidspace efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

External counter structures act as intermediaries that accurately track usage frequency without consuming cache space. The counters provide reliable LFU information for eviction decisions while the cache buckets remain entirely available for data storage, maintaining both accuracy and space efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the cache system into distinct functional components: data storage buckets and external usage-tracking counters. This segmentation allows each component to optimize for its specific function without compromising the other, achieving accurate eviction tracking with minimal space overhead.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10877902B2Cuckoo caching
Publication Date: 2020.12.29 VMWARE INC
  • US10877902B2 patent drawing
  • US10877902B2 patent drawing
  • US10877902B2 patent drawing

AI summary

A cuckoo cache has plural buckets of plural cells each. The cells within a bucket are ranked to approximate relative usage recency. New items can be inserted into empty cells; when a bucket is full, room for a new item can be made by laterally transferring an older item to an alternative bucket. When empty cells and lateral transfers are unavailable, an item is selected for eviction based on the usage recency rank of the containing cell. When a match is found, depending on the embodiment, the hit item can be promoted within its bucket, to its alternative bucket, or to a separate tier of the cuckoo cache. The items can be key-value pairs. No metadata is required to track usage recency so that the cuckoo cache can be a very space efficient tool for finding cached values by their keys.