Cache Partitioning for FIFO Data Retention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data processing systems face inefficiencies in handling First-In-First-Out (FIFO) data traffic due to least recently used (LRU) cache management policies, which can lead to data eviction before it is read by the consumer, resulting in reduced cache hits and increased memory access, especially when the cache is undersized.

Innovation Solution

Implementing a caching agent with a FIFO traffic retention (FTR) policy that ages cache ways containing direct-to-cache (DTC) data and retains it until read or until a predetermined maximum age, allowing old data to be read after a longer latency, and using separate partitions with different caching algorithms for FIFO and temporal reuse traffic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If LRU or PLRU cache management policies are used, then recently used data is kept in cache, but FIFO data is evicted before being read by the consumer

Engineering Contradiction:
Improvecache hit rateVSAvoiddata retention until read
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache is divided into multiple partitions, with at least one partition specifically designated for FIFO traffic. This segmentation allows the system to apply different cache management policies to different types of traffic, ensuring that FIFO data receives specialized handling while other data can use traditional LRU/PLRU policies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache management system dynamically adapts its behavior based on traffic type. By detecting whether incoming data follows FIFO patterns or temporal reuse patterns, the system can apply appropriate retention policies - maintaining FIFO data until consumed while allowing LRU/PLRU policies for other traffic types.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If cache size is reduced to meet capacity constraints, then cache memory is saved, but data is evicted before being read

Engineering Contradiction:
Improvecache sizeVSAvoidcache hit rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

Different regions or partitions of the cache have different qualities and retention characteristics. The FIFO-specific partition provides enhanced data retention guarantees for FIFO traffic, while other partitions can be optimized for different access patterns. This allows the system to maintain high cache hit rates for FIFO data even when overall cache size is limited.

Inventive Principle:
Principle #3Local quality

3Productivity

If DTC IO is implemented, then memory access cost is reduced, but FIFO data is overwritten before reading

Engineering Contradiction:
ImproveIO performanceVSAvoiddata loss before read
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system performs preliminary actions by pre-establishing FIFO-specific cache partitions with guaranteed retention policies before FIFO data arrives. This preliminary configuration ensures that when DTC IO writes FIFO data to cache, the data is protected from eviction until the consumer reads it, preventing information loss while maintaining high IO performance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240168890A1Technology For Retaining Data In Cache Until Read
Publication Date: 2024.05.23 INTEL CORP
  • US20240168890A1 patent drawing
  • US20240168890A1 patent drawing
  • US20240168890A1 patent drawing

AI summary

A processor package comprises a caching agent that is operable to respond to a first sequence of direct-to-cache (DTC) write misses to a partition in a set in a cache by writing data from those write misses to the partition. When the partition comprises W ways, the caching agent is operable to write data from those write misses to all W ways in the partition. After writing data from those write misses to the partition, and before any data from the partition in the set has been read, the caching agent is operable to receive a second sequence of DTC write misses to the partition, and in response, complete those write misses while retaining the data from the first sequence in at least W-1 of the ways in the partition. Other embodiments are described and claimed.