Multi-purpose server cache directory with dynamic operation modes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache directories in computing systems are limited in their ability to dynamically enable and disable multiple functions based on computation phases, data types, and data patterns, which restricts their versatility and efficiency in caching data.

Innovation Solution

A multi-purpose server cache directory that selectively enables or disables operation modes based on computation phases, data types, and data patterns, utilizing a cache directory with more address tags than data lines, allowing for data compression, historical address storage, and truncated tags to enhance cache performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the cache directory uses traditional one-to-one mapping between address tags and data lines, then the cache structure is simple, but the cache capacity and versatility are limited

Engineering Contradiction:
Improvecache capacityVSAvoidcache directory structure
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The cache directory is designed to perform multiple functions: it serves as both a traditional cache directory for address tagging and as a data storage structure through compressed data lines. The directory can dynamically switch between storing only addresses, storing compressed data, or storing both addresses and data, making it a multi-functional component that increases cache capacity without proportionally increasing complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent implements nesting by embedding compressed data within the cache directory structure itself. Compressed data lines are stored within the directory entries, and truncated tags are nested within full tags. This nested structure allows the directory to hold more information (both addresses and data) within the same physical space, effectively doubling cache capacity

Inventive Principle:
Principle #7Nested doll (Nesting)

2Adaptability or versatility

If the cache directory stores more address tags than data lines, then the cache can store more historical addresses and improve prefetching, but the hardware complexity increases

Engineering Contradiction:
Improvecache operation modesVSAvoidcache directory hardware
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cache directory implements dynamic operation modes that can be selectively enabled or disabled based on computation phases, data types, and data patterns. The system can dynamically switch between: (1) traditional address-only mode, (2) compressed data mode, (3) truncated tag mode, and (4) hybrid modes. This dynamic adaptability allows the same hardware structure to serve different functions without requiring separate dedicated hardware for each mode

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes key parameters of the cache directory: increasing the number of address tags beyond the number of data lines, implementing variable compression ratios for data lines, and using truncated tags with varying lengths. These parameter changes enable the directory to adapt to different workload characteristics and optimize performance for specific computation phases while managing hardware complexity through standardized structural changes

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If the cache uses data compression to increase capacity, then the cache can store more data, but the access time and complexity increase

Engineering Contradiction:
Improvecache capacityVSAvoiddata access time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

Data is compressed in advance during the write operation and stored in the compressed format in the cache directory. When data is read, the compressed form is already prepared and can be quickly decompressed if needed, or the full data can be retrieved from external memory using the stored address. This preliminary compression action avoids the time penalty of real-time compression during read operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates compressed copies of data that are stored in the cache directory alongside or instead of full data copies. These compressed copies serve as space-efficient representations that can be quickly processed. The system can work with these compressed copies directly or use them to quickly locate and retrieve full data from external memory, reducing access time compared to storing only full copies in limited cache space

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11797446B2Multi purpose server cache directory
Publication Date: 2023.10.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11797446B2 patent drawing
  • US11797446B2 patent drawing
  • US11797446B2 patent drawing

AI summary

A multi-purpose server cache directory in a computing environment is provided. One of a plurality of operation modes may be selectively enabled or disabled, by a cache directory, based on a computation phase, data type, and data pattern for caching data in a cache having a plurality of address tags in the cache directory greater than a number of data lines in a cache array.