TCAM Cache Coherency Acceleration for SMP Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache coherency protocols in symmetric multiprocessing (SMP) systems face inefficiencies due to the need to access coherency directories for every cache line, leading to delayed responses and increased latency, especially when the majority of messages result in invalid cache line requests.

Innovation Solution

Implementing a ternary content addressable memory (TCAM) within node controllers to track data block usage, utilizing base and precision entries to quickly determine if a requested address is invalid, thereby reducing the need to access the coherency directory and accelerating cache coherency responses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If cache coherency protocols access coherency directories for every cache line, then cache coherency accuracy is maintained, but response latency increases and system efficiency decreases

Engineering Contradiction:
Improvecache coherency accuracyVSAvoidresponse latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent pre-loads coherency directory data into a cache structure before it is needed for processing. By anticipating future cache coherency requests and preparing the data in advance, the system eliminates the need to access the full coherency directory during actual cache line operations, thereby reducing response latency while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the large coherency directory into smaller, manageable segments or subsets that are loaded into cache. Instead of accessing the entire directory for every cache line request, the system only accesses the relevant segment, significantly reducing access time and improving system efficiency while preserving coherency accuracy.

Inventive Principle:
Principle #1Segmentation

2Reliability

If coherency directory access is required for every cache line request, then cache ownership validation is ensured, but system throughput decreases

Engineering Contradiction:
Improvecache ownership validationVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent creates a cached copy of the coherency directory data that resides in faster memory. This copy contains the necessary ownership validation information for frequently accessed cache lines. By using this cached copy instead of accessing the original coherency directory for every request, the system maintains reliable ownership validation while dramatically improving throughput.

Inventive Principle:
Principle #26Copying

3Measurement precision

If full coherency directory checks are performed, then cache line validity is confirmed, but processing speed decreases

Engineering Contradiction:
Improvecache line validityVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent implements partial checking by loading only the necessary portions of coherency directory data into cache based on prediction algorithms. Instead of performing complete directory checks for every cache line, the system performs partial validation using the cached data, which is sufficient for most cases. This approach maintains adequate validity confirmation while significantly improving processing speed.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11169921B2Ternary content addressable memory-enhanced cache coherency acceleration
Publication Date: 2021.11.09 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11169921B2 patent drawing
  • US11169921B2 patent drawing
  • US11169921B2 patent drawing

AI summary

A system and method for cache coherency within multiprocessor environments is provided. Each node controller of a plurality of nodes within a multiprocessor system receives a cache coherency protocol request from local processor sockets and other node controller(s). A ternary content addressable memory (TCAM) accelerator in the node controller determines if the cache coherency protocol request comprises a snoop request and, if it is determined to be a snoop request, searching the TCAM based on an address within the cache coherency protocol request. In response to detecting only one match between an entry of the TCAM and the received snoop request, sending a response to the requesting local processor a response without having to access a coherency directory.