IP Library Granted Patent US 11,797,446
Granted Patent B2
US 11,797,446 · App. 17/452,944 · Granted Oct 24, 2023

Multi purpose server cache directory

Inventors: Bulent Abali (Tenafly, NJ); Alper Buyuktosunoglu (White Plains, NY); Brian Robert Prasky (Campbell Hall, NY); Jang-Soo Lee (Poughkeepsie, NY); Deanna Postles Dunn Berger (Hyde Park, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F12/0806G06F12/0862G06F2212/1008
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,797,446
App. No.
17/452,944
Granted
Oct 24, 2023
Kind
B2
Abstract

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.

Claims (35)

1 . A method for providing a multi-purpose server cache directory in a computing environment by one or more processors comprising:

selectively enabling or disabling, by a cache directory, one of a plurality of operation modes 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.

2 . The method of claim 1 , further including selectively enabling or disabling a first operation mode, wherein the first operation mode:

compresses a selected number of data lines in the cache such that the cache array stores an increase in a number of the amount of cache lines; and

pairs one or more unused address tags from the plurality of address tags with each of the selected number of data lines that are cached.

3 . The method of claim 1 , further including selectively enabling or disabling a second operation mode, wherein the second operation mode compresses a selected number of data lines in the cache less than the plurality of address tags, wherein unused address tags are used for storing historical addresses, prefetching hints, and the data type and data status.

4 . The method of claim 1 , further including selectively enabling or disabling a third operation mode, wherein the third operation mode splits one or more unused address tags of the plurality of address tags into one or more truncated tags to increase a total number of the plurality of address tags, wherein the total number of the plurality of address tags are greater than a total number of the plurality of address tags use in a first operation mode.

5 . The method of claim 1 , further including detecting the computation phase, the data type, and the data pattern for selectively enabling or disabling a first operation mode, a second operation mode, and a third operation mode.

6 . The method of claim 1 , further including tracking activities associated with of the data lines using one or more unused address tags of the plurality of address tags.

7 . The method of claim 1 , further including using one or more unused address tags of the plurality of address tags for prefetch operations.

8 . A system for providing a multi-purpose server cache directory in a computing environment, comprising:

one or more computers with executable instructions that when executed cause the system to:

selectively enable or disable, by a cache directory, one of a plurality of operation modes 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.

9 . The system of claim 8 , wherein the executable instructions when executed cause the system to:

compress a selected number of data lines in the cache such that the cache array stores an increase in a number of the amount of cache lines; and

pair one or more unused address tags from the plurality of address tags with each of the selected number of data lines that are cached.

10 . The system of claim 8 , wherein the executable instructions when executed cause the system to selectively enable or disable a second operation mode, wherein the second operation mode compresses a selected number of data lines in the cache less than the plurality of address tags, wherein unused address tags are used for storing historical addresses, prefetching hints, and the data type and data status.

11 . The system of claim 8 , wherein the executable instructions when executed cause the system to selectively enable or disable a third operation mode, wherein the third operation mode splits one or more unused address tags of the plurality of address tags into one or more truncated tags to increase a total number of the plurality of address tags, wherein the total number of the plurality of address tags are greater than a total number of the plurality of address tags use in a first operation mode.

12 . The system of claim 8 , wherein the executable instructions when executed cause the system to detect the computation phase, the data type, and the data pattern for selectively enabling or disabling a first operation mode, a second operation mode, and a third operation mode.

13 . The system of claim 8 , wherein the executable instructions when executed cause the system to track activities associated with of the data lines using one or more unused address tags of the plurality of address tags.

14 . The system of claim 8 , wherein the executable instructions when executed cause the system to use one or more unused address tags of the plurality of address tags for prefetch operations.

15 . A computer program product for providing a multi-purpose server cache directory in a computing environment, the computer program product comprising:

one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instruction comprising:

program instructions to selectively enable or disable, by a cache directory, one of a plurality of operation modes 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.

16 . The computer program product of claim 15 , further including program instructions to:

compress a selected number of data lines in the cache such that the cache array stores an increase in a number of the amount of cache lines; and

pair one or more unused address tags from the plurality of address tags with each of the selected number of data lines that are cached.

17 . The computer program product of claim 15 , further including program instructions to:

selectively enable or disable a second operation mode, wherein the second operation mode compresses a selected number of data lines in the cache less than the plurality of address tags, wherein unused address tags are used for storing historical addresses, prefetching hints, and the data type and data status.

18 . The computer program product of claim 15 , further including program instructions to:

selectively enable or disable a third operation mode, wherein the third operation mode splits one or more unused address tags of the plurality of address tags into one or more truncated tags to increase a total number of the plurality of address tags, wherein the total number of the plurality of address tags are greater than a total number of the plurality of address tags use in a first operation mode.

19 . The computer program product of claim 15 , further including program instructions to:

detect the computation phase, the data type, and the data pattern for selectively enabling or disabling a first operation mode, a second operation mode, and a third operation mode; and

track activities associated with of the data lines using one or more unused address tags of the plurality of address tags.

20 . The computer program product of claim 15 , further including program instructions to use one or more unused address tags of the plurality of address tags for prefetch operations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2021
From: ABALI, BULENT; BUYUKTOSUNOGLU, ALPER; PRASKY, BRIAN ROBERT; LEE, JANG-SOO; BERGER, DEANNA POSTLES DUNN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057967/0252 →
Continuity (1)
Related Publication 20230133372A1 · May 4, 2023