Cache Line Invalidity Detection via Data Pattern Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing size of DRAM caches, such as High Bandwidth Memory (HBM) and LPDDR5, leads to challenges in memory management due to the large amount of metadata required for tag, valid, and dirty bits, making it impractical to store these on a processor die and too slow to access off-die.

Innovation Solution

A sector-based cache organization is implemented, where a data pattern is used to mark cache lines as invalid instead of a validity bit, reducing the need for storage space and improving access times by storing this pattern in invalid memory locations, allowing for efficient management of cache entries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional validity bits are used to mark cache lines, then cache entry validity can be tracked, but the tag area required for on-die storage increases significantly with larger cache sizes

Engineering Contradiction:
Improvecache entry validity trackingVSAvoidtag area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent merges the validity bit function with the cache line data itself by using a data pattern (such as all zeros or a specific sentinel value) to indicate invalidity. Instead of storing a separate validity bit for each cache line, the validity status is encoded within the cache line data pattern, thereby eliminating the need for additional tag area while maintaining reliable validity tracking.

Inventive Principle:
Principle #5Merging (Combining)

2Quantity of substance

If off-die memory is used to store metadata, then storage capacity is sufficient, but access time becomes too slow for efficient cache operation

Engineering Contradiction:
Improvemetadata storage capacityVSAvoidmetadata access time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent extracts the validity information from separate metadata storage and embeds it directly within the cache line data structure. By taking out the validity bit requirement and replacing it with a data pattern encoded in the cache line itself, the system eliminates the need for separate metadata access, thereby reducing access time while maintaining sufficient storage capacity for large cache sizes.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If cache size is increased to improve performance, then more data can be cached, but the amount of metadata required for management becomes impractical

Engineering Contradiction:
Improvecache capacityVSAvoidmetadata management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent merges the validity tracking function into the cache line data pattern itself, eliminating the need for separate validity bits. This approach allows cache capacity to be increased without proportionally increasing metadata requirements, as the data pattern encoding provides implicit validity information without adding management complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10176099B2Using data pattern to mark cache lines as invalid
Publication Date: 2019.01.08 INTEL CORP
  • US10176099B2 patent drawing
  • US10176099B2 patent drawing
  • US10176099B2 patent drawing

AI summary

An apparatus includes a cache controller, the cache controller to receive, from a requestor, a memory access request referencing a memory address of a memory. The cache controller may identify a cache entry associated with the memory address, and responsive to determining that a first data item stored in the cache entry matches a data pattern indicating cache entry invalidity, read a second data item from a memory location identified by the memory address. The cache controller may then return, to the requestor, a response comprising the second data item.