IP Library Granted Patent US 12,493,553
Granted Patent B2
US 12,493,553 · App. 17/821,609 · Granted Dec 9, 2025

Cross-core invalidation snapshot management

Inventors: Richard Joseph Branciforte (Austin, TX); Gregory William Alexander (Pflugerville, TX); Timothy Bronson (Round Rock, TX); Deanna Postles Dunn Berger (Hyde Park, NY); Akash V. Giri (Austin, TX); Aaron Tsai (Hyde Park, NY)
Assignee: International Business Machines Corporation
G06F12/0842G06F2212/62
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 12,493,553
App. No.
17/821,609
Granted
Dec 9, 2025
Kind
B2
Abstract

A lower-level cache managing cross-core invalidation (XI) snapshots in a shared-memory multiprocessing system, wherein the management of XI snapshots reduces an amount of required snapshots while allowing shared lower-level caches, comprising: the lower-level cache maintaining respective response sync state for at least one processor in a plurality of processors signifying that a line may have been changed by another processor since last fetched by a requesting processor.

Claims (61)

1 . A computer-implemented method comprising:

managing, by a lower-level cache and a higher-level cache, cross-core invalidation (XI) snapshots in a shared-memory multiprocessing system, wherein the management of XI snapshots reduces an amount of required snapshots while allowing shared lower-level caches, comprising:

maintaining, by the lower-level cache, a respective response sync state for at least one processor in a plurality of processors signifying that a line may have been changed by another processor since last fetched by a requesting processor.

2 . The computer-implemented method of claim 1 , further comprising:

responsive to processing a fetch for the line and the response sync state is set, providing, by the lower-level cache, a response sync indication to the higher-level cache; and

responsive to the fetch returning to the higher-level cache with the provided set response sync indication, executing, by the higher-level cache, an XI snapshot.

3 . The computer-implemented method of claim 2 , further comprising:

maintaining, by the lower-level cache, the respective response sync state for each processor in the plurality of processors signifying that the line may have been changed by another processor since last fetched by the requesting processor;

responsive to the line brought into the lower-level cache and not simultaneously returned to the higher-level cache, setting, by the lower-level cache, the response sync state; and

responsive to the line brought into the lower-level cache and delivered to a single computer processor, setting, by the lower-level cache, the response sync state for each processor in the plurality of processors excluding the requesting processor while unsetting the response sync state for the requesting processor.

4 . The computer-implemented method of claim 3 , further comprising:

responsive to the line being modified by one or more processors, setting, by the lower-level cache, the response sync state for each processor in the plurality of processors excluding the requesting processor.

5 . The computer-implemented method of claim 2 , further comprising:

a fetch address registers (FAR) address table (FAT) comprising a higher-level cache entry for every fetch returned from the lower-level cache, wherein the higher-level cache entry comprises a validation parameter and a lower-level cache identifier, wherein the higher-level cache entry is valid if an associated higher-level cache FAR is valid and the response sync indication was sent for that the associated higher-level cache FAR.

6 . The computer-implemented method of claim 5 , further comprising:

responsive to a hit in the lower-level cache in response to the fetch by the requesting processor, determining, by the lower-level cache, whether the fetch has a FAT hit based on a match of a lower-level cache identifier of the fetch and a lower-level cache identifier associated with the entry and whether the entry is valid;

responsive to the FAT hit and a valid entry, returning, by the lower-level cache, the lower-level cache fetch to the higher-level cache with a set response sync indication; and

responsive to a FAT miss and an invalid entry, returning, by the lower-level cache, the lower-level cache fetch to the higher-level cache with an unset or false response sync indication.

7 . The computer-implemented method of claim 2 , further comprising:

responsive to the requesting processor fetching and requesting authority (FEX) to store a line that was previously fetched, returning, by the lower-level cache, the response sync indication to the higher-level cache; and

responsive to the returned response sync indication, XI snapshotting, by the higher-level cache, to ensure the fetch does not consume stale data after store completion.

8 . The computer-implemented method of claim 5 , wherein the lower-level cache identifier is an absolute address, hashed absolute address, or lower-level cache location.

9 . A computer hardware product comprising:

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

program instructions to manage cross-core invalidation (XI) snapshots in a shared-memory multiprocessing system, wherein the management of XI snapshots reduces an amount of required snapshots while allowing shared lower-level caches, comprising:

program instructions to maintain a respective response sync state for at least one processor in a plurality of processors signifying that a line may have been changed by another processor since last fetched by a requesting processor.

10 . The computer hardware product of claim 9 , wherein the program instructions, stored on the one or more computer readable storage media, further comprise:

program instructions to, responsive to processing a fetch for the line and the response sync state is set, provide a response sync indication to the higher-level cache; and

program instructions to, responsive to the fetch returning to the higher-level cache with the provided set response sync indication, execute an XI snapshot.

11 . The computer hardware product of claim 10 , wherein the program instructions, stored on the one or more computer readable storage media, further comprise:

program instructions to maintain the respective response sync state for each processor in the plurality of processors signifying that the line may have been changed by another processor since last fetched by the requesting processor;

program instructions to, responsive to the line brought into the lower-level cache and not simultaneously returned to the higher-level cache, set the response sync state; and

program instructions to, responsive to the line brought into the lower-level cache and delivered to a single computer processor, set the response sync state for each processor in the plurality of processors excluding the requesting processor while unsetting the response sync state for the requesting processor.

12 . The computer hardware product of claim 11 , wherein the program instructions, stored on the one or more computer readable storage media, further comprise:

program instructions to, responsive to the line being modified by one or more processors, set the response sync state for each processor in the plurality of processors excluding the requesting processor.

13 . The computer hardware product of claim 10 , wherein the program instructions, stored on the one or more computer readable storage media, further comprise:

a fetch address registers (FAR) address table (FAT) comprising a higher-level cache entry for every fetch returned from the lower-level cache, wherein the higher-level cache entry comprises a validation parameter and a lower-level cache identifier, wherein the higher-level cache entry is valid if an associated higher-level cache FAR is valid and the response sync indication was sent for that the associated higher-level cache FAR.

14 . The computer hardware product of claim 10 , wherein the program instructions, stored on the one or more computer readable storage media, further comprise:

program instructions to, responsive to the requesting processor fetching and requesting authority (FEX) to store a line that was previously fetched, return the response sync indication to the higher-level cache; and

program instructions to, responsive to the returned response sync indication, XI snapshot to ensure the fetch does not consume stale data after store completion.

15 . A computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the stored program instructions comprising:

program instructions to manage cross-core invalidation (XI) snapshots in a shared-memory multiprocessing system, wherein the management of XI snapshots reduces an amount of required snapshots while allowing shared lower-level caches, comprising:

program instructions to maintain a respective response sync state for at least one processor in a plurality of processors signifying that a line may have been changed by another processor since last fetched by a requesting processor.

16 . The computer system of claim 15 , wherein the program instructions stored, on the one or more computer readable storage media, further comprise:

program instructions to, responsive to processing a fetch for the line and the response sync state is set, provide a response sync indication to the higher-level cache; and

program instructions to, responsive to the fetch returning to the higher-level cache with the provided set response sync indication, execute an XI snapshot.

17 . The computer system of claim 16 , wherein the program instructions stored, on the one or more computer readable storage media, further comprise:

program instructions to maintain the respective response sync state for each processor in the plurality of processors signifying that the line may have been changed by another processor since last fetched by the requesting processor;

program instructions to, responsive to the line brought into the lower-level cache and not simultaneously returned to the higher-level cache, set the response sync state; and

program instructions to, responsive to the line brought into the lower-level cache and delivered to a single computer processor, set the response sync state for each processor in the plurality of processors excluding the requesting processor while unsetting the response sync state for the requesting processor.

18 . The computer system of claim 17 , wherein the program instructions stored, on the one or more computer readable storage media, further comprise:

program instructions to, responsive to processing a fetch for the line and the response sync state is set, provide a response sync indication to the higher-level cache; and

program instructions to, responsive to the fetch returning to the higher-level cache with the provided set response sync indication, execute an XI snapshot.

19 . The computer system of claim 18 , wherein the program instructions stored, on the one or more computer readable storage media, further comprise:

program instructions to, responsive to the line brought into the lower-level cache and not simultaneously returned to the higher-level cache, set the response sync state; and

program instructions to, responsive to the line brought into the lower-level cache and delivered to a single computer processor, set the response sync state for each processor in the plurality of processors excluding the requesting processor while unsetting the response sync state for the requesting processor.

20 . The computer system of claim 16 , wherein the program instructions stored, on the one or more computer readable storage media, further comprise:

a fetch address registers (FAR) address table (FAT) comprising a higher-level cache entry for every fetch returned from the lower-level cache, wherein the higher-level cache entry comprises a validation parameter and a lower-level cache identifier, wherein the higher-level cache entry is valid if an associated higher-level cache FAR is valid and the response sync indication was sent for that the associated higher-level cache FAR.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2022
From: BRANCIFORTE, RICHARD JOSEPH; ALEXANDER, GREGORY WILLIAM; BRONSON, TIMOTHY; BERGER, DEANNA POSTLES DUNN; GIRI, AKASH V.; TSAI, AARON
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 060871/0634 →
Continuity (1)
Related Publication 20240070075A1 · Feb 29, 2024
References Cited (10)
US 8041894B2 · Krumm · 2011 [cited by applicant]
US 10795824B2 · Berger · 2020 [cited by applicant]
US 10949351B2 · Recktenwald · 2021 [cited by applicant]
US 20090240889A1 · Choy · 2009 [cited by examiner]
US 20170192895A1 · Li · 2017 [cited by examiner]
US 20190251030A1 · Recktenwald · 2019 [cited by examiner]
EP 3001308B1 · 2017 [cited by examiner]
TW 1506552B · 2015 [cited by examiner]
Brenza, JG, “Cross-Interrogate Directory for a Real, Virtual or Combined Real/Virtual Cache,” An IP.com Prior Art Database Technical Disclosure, IP.com No. IPCOM000042312D, IP.com Electronic Publication Date: Feb. 3, 20… [cited by applicant]
“IBM z16 puts innovation to work while unlocking the potential of your hybrid cloud transformation,” IBM United States Hardware Announcement 122-001, Apr. 5, 2022, 146 pages. https://www.ibm.com/common/ssi/ShowDoc.wss?d… [cited by applicant]