IP Library › Granted Patent US 10,831,664
Granted Patent B2
US 10,831,664 · App. 15/625,223 · Granted Nov 10, 2020

Cache structure using a logical directory

Inventors: Christian Jacobi (West Park, NY); Ulrich Mayer (Weil im Schoenbuch, DE); Martin Recktenwald (Schoenaich, DE); Anthony Saporito (Highland, NY); Aaron Tsai (Poughkeepsie, NY)
Assignee: International Business Machines Corporation
G06F12/0831G06F12/0811G06F12/0864G06F12/0895G06F12/1009G06F12/1027G06F12/1063G06F2212/1028G06F2212/1041G06F2212/283G06F2212/621G06F2212/65G06F2212/68G06F2212/681G06F2212/684
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 10,831,664
App. No.
15/625,223
Granted
Nov 10, 2020
Kind
B2
Abstract

Disclosed herein is a method for operating access to a cache memory via an effective address comprising a tag field and a cache line index field. The method comprises: splitting the tag field into a first group of bits and a second group of bits. The line index bits and the first group of bits are searched in the set directory. A set identifier is generated indicating the set containing the respective cache line of the effective address. The set identifier, the line index bits and the second group of bits are searched in the validation directory. In response to determining the presence of the cache line in the set based on the second searching, a hit signal is generated.

Claims (16)

1. An apparatus for controlling access to a cache line via an effective address comprising a tag field and a cache line index field, wherein the tag field comprises a first group of bits and a second group of bits; the apparatus comprising:

a primary cache directory being logically addressed and logically tagged wherein a given entry in the primary cache directory stores a valid bit, a portion of an effective address and a set index;

a set directory being logically indexed using line index bits of the cache line index field and logically tagged using the first group of bits;

a validation directory being logically indexed using the line index bits and set bits and logically tagged using the second group of bits;

the set directory being configured for receiving the line index bits and the first group of bits of the effective address, and generating a set identifier indicating the set containing the respective cache line of the effective address;

the validation directory being configured for receiving the set identifier, the line index bits and the second group of bits of the effective address, returning a set identifier indicating the set in which the cache line is, selecting a valid bit value of the valid bit values whose associated set index matches the set identifier, and generating a hit signal if the valid bit value indicates a valid state.

2. A computer program product comprising a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code configured to implement all of steps of:

determining a first group of bits and a second group of bits of the tag field;

providing a set directory logically indexed using line index bits of the cache line index field and logically tagged using the first group of bits;

providing a validation directory logically indexed using the line index bits and set bits and logically tagged using the second group of bits;

first searching for the line index bits and the first group of bits of the effective address in the set directory, and generating a set identifier indicating the set containing the respective cache line of the effective address;

second searching for the set identifier, the line index bits and the second group of bits of the effective address in the validation directory, wherein only one set identifier is capable of being searched for at once;

in response to determining the presence of the cache line in the set based on the second searching, generating a hit signal; and

wherein a given entry in the primary cache directory stores a valid bit, a portion of the effective address and a set index, the method further comprising: in parallel to the first searching, searching the line index bits in the primary cache directory, resulting in a valid bit value for each found entry in the primary cache directory, selecting a valid bit value of the valid bit values whose associated set index matches the set identifier, wherein the generating of the hit signal is performed if the valid bit value indicates a valid state.

3. The computer program product of claim 2 further comprising steps of: in response to receiving a request for invalidating an entry of the validation directory, setting accordingly a valid bit of the corresponding entry in the primary cache directory.

4. The computer program product of claim 3 further comprising the steps of: providing a first auxiliary data structure in association with the primary cache directory, wherein each entry of the first auxiliary data structure comprises bits of the effective address which reflect information indicated in TLB purge requests of the multiprocessor system, identifying an entry in the first auxiliary data structure that corresponds to the received request, the identified entry indicating the primary cache directory entry.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2026
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KIDON IP CORPORATION
Reel/Frame 074125/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2026
From: KIDON IP CORPORATION
To: CAPROCK INTEGRATED TECHNOLOGIES LLC
Reel/Frame 073866/0504 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2026
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KIDON IP CORPORATION
Reel/Frame 074975/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2017
From: JACOBI, CHRISTIAN; MAYER, ULRICH; RECKTENWALD, MARTIN; SAPORITO, ANTHONY; TSAI, AARON
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042837/0134 →
Continuity (1)
Related Publication 20180365152A1 · Dec 20, 2018