IP Library › Granted Patent US 10,599,567
Granted Patent B2
US 10,599,567 · App. 15/727,169 · Granted Mar 24, 2020

Non-coherent read in a strongly consistent cache system for frequently read but rarely updated data

Inventors: Jane H. Bartik (Poughkeepsie, NY); Nicholas C. Matsakis (Poughkeepsie, NY); Chung-Lung K. Shum (Wappingers Falls, NY); Craig R. Walters (Highland, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F12/0815G06F12/084G06F12/0842G06F12/0808G06F12/0811G06F12/0828G06F2212/602
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,599,567
App. No.
15/727,169
Granted
Mar 24, 2020
Kind
B2
Abstract

A technique relates to enabling a multiprocessor computer system to make a non-coherent request for a cache line. A first processor core sends a non-coherent fetch to a cache. In response to a second processor core having exclusive ownership of the cache line in the cache, the first processor core receives a stale copy of the cache line in the cache based on the non-coherent fetch. The non-coherent fetch is configured to obtain the stale copy for a predefined use. Cache coherency is maintained for the cache, such that the second processor core continues to have exclusive ownership of the cache line while the first processor core receives the stale copy of the cache line.

Claims (21)

1. A computer program product for enabling a multiprocessor computer system to make a non-coherent request for a cache line in a cache, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions readable by the multiprocessor computer system to cause the multiprocessor computer system to perform a method comprising:

sending by a first processor core a non-coherent fetch to the cache; and

in response to a second processor core having exclusive ownership of the cache line in the cache, receiving by the first processor core a stale copy of the cache line in the cache based on the non-coherent fetch concurrently with maintaining cache coherency, such that the second processor core continues to have the exclusive ownership of the cache line in the cache, the exclusive ownership being different from a shared state, while the first processor core receives the stale copy of the cache line;

wherein the non-coherent fetch is configured to obtain the stale copy for a predefined use; and

wherein the predefined use is a single use for the stale copy.

2. The computer program product of claim 1 , wherein the predefined use limits use of the stale copy by the first processor core to comparing a value of the stale copy to a predefined value.

3. The computer program product of claim 1 , wherein the cache is a shared cache system.

4. The computer program product of claim 1 , wherein the predefined use permits the second processor core to store the stale copy in a local cache.

5. The computer program product of claim 4 , wherein a cache line of the local cache having the stale copy is marked invalid, such that any subsequent fetch to the local cache for the stale copy results in a cache miss based on the predefined use.

6. The computer program product of claim 1 , wherein, when the second processor core makes updates to the cache line, the stale copy received by the first processor core is different from the cache line updated by the second processor core.

7. A multiprocessor computer system making a non-coherent request for a cache line in a cache, the multiprocessor computer system comprising:

processing circuitry; and

a storage medium readable by the processing circuitry and storing instructions that, when executed by the processing circuitry, cause the processing circuitry to perform a method comprising:

sending by a first processor core a non-coherent fetch to the cache; and

in response to a second processor core having exclusive ownership of the cache line in the cache, receiving by the first processor core a stale copy of the cache line in the cache based on the non-coherent fetch concurrently with maintaining cache coherency, such that the second processor core continues to have the exclusive ownership of the cache line in the cache, the exclusive ownership being different from a shared state, while the first processor core receives the stale copy of the cache line;

wherein the non-coherent fetch is configured to obtain the stale copy for a predefined use; and

wherein the predefined use is a single use for the stale copy.

8. The multiprocessor computer system of claim 7 , wherein the predefined use limits use of the stale copy by the first processor core to comparing a value of the stale copy to a predefined value.

9. The multiprocessor computer system of claim 7 , wherein the cache is a shared cache system.

10. The multiprocessor computer system of claim 7 , wherein the predefined use permits the second processor core to store the stale copy in a local cache.

11. The multiprocessor computer system of claim 10 , wherein a cache line of the local cache having the stale copy is marked invalid, such that any subsequent fetch to the local cache for the stale copy results in a cache miss based on the predefined use.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2017
From: BARTIK, JANE H.; MATSAKIS, NICHOLAS C.; SHUM, CHUNG-LUNG K.; WALTERS, CRAIG R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043807/0505 →
Continuity (1)
Related Publication 20190108125A1 · Apr 11, 2019