Decoupled Cache Coherence Directory Architecture for Many-Core Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The scalability of cache coherence protocols becomes increasingly challenging with the rapid increase in the number of cores on a chip, particularly due to power and area issues when applying directory coherence to many-core domains.

Innovation Solution

A cache coherence directory architecture, called SelectDirectory, decouples the tag array and data array, allocating data entries only for actively shared blocks, and de-allocating them when blocks become temporarily private or get evicted, thereby reducing directory size without degrading performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If directory coherence protocol is applied to many-core domain, then cache coherence is maintained, but power consumption and area increase significantly

Engineering Contradiction:
Improvecache coherenceVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent segments the directory structure into two independent arrays: tag array and data array. The tag array stores tag information for all cache blocks, while the data array stores sharing information only for actively shared blocks. This segmentation allows the system to maintain coherence tracking for all blocks while reducing the size of the data array, thereby lowering power consumption and area without compromising coherence reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic allocation of data entries in the data array based on the sharing state of cache blocks. Data entries are allocated only when blocks become actively shared and deallocated when blocks become temporarily private. This dynamic behavior allows the directory to adapt to changing sharing patterns, maintaining necessary coherence information while minimizing the active directory size, thus reducing power consumption and area.

Inventive Principle:
Principle #15Dynamics

2Reliability

If directory coherence protocol is applied to many-core domain, then cache coherence is maintained, but area increases significantly

Engineering Contradiction:
Improvecache coherenceVSAvoiddirectory area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent segments the directory structure into two independent arrays: tag array and data array. The tag array stores tag information for all cache blocks, while the data array stores sharing information only for actively shared blocks. This segmentation allows the system to maintain coherence tracking for all blocks while reducing the size of the data array, thereby lowering power consumption and area without compromising coherence reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different storage strategies to different types of cache blocks based on their sharing characteristics. For temporarily private blocks, only tag information is stored in the tag array. For actively shared blocks, additional data entries are allocated in the data array to track sharing information. This local quality approach ensures that area is used efficiently by storing detailed sharing information only where necessary.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If data entries are allocated for all cache blocks, then sharing information is always available, but directory size increases

Engineering Contradiction:
Improvesharing information availabilityVSAvoiddirectory size
Core Design Contradiction:
Ease of operationVSVolume of stationary object

Solution Approach 1:

The patent implements dynamic allocation of data entries in the data array based on the sharing state of cache blocks. Data entries are allocated only when blocks become actively shared and deallocated when blocks become temporarily private. This dynamic behavior allows the directory to adapt to changing sharing patterns, maintaining necessary coherence information while minimizing the active directory size, thus reducing power consumption and area.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of directory entry allocation from static (always allocated) to dynamic (allocated based on sharing state). By monitoring the sharing state parameter and adjusting data entry allocation accordingly, the system ensures sharing information is available when needed while minimizing directory size when blocks are private.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10503642B2Cache coherence directory architecture with decoupled tag array and data array
Publication Date: 2019.12.10 HUAWEI TECH CO LTD
  • US10503642B2 patent drawing
  • US10503642B2 patent drawing
  • US10503642B2 patent drawing

AI summary

A data processing method includes allocating a tag entry in a tag array for a data block; allocating a data entry in a data array for the data block when the data block is actively shared; and de-allocating the data entry when the data block is temporarily private or gets evicted in the data array.