IP Library › Granted Patent US 8,972,664
Granted Patent B2
US 8,972,664 · App. 13/793,708 · Granted Mar 3, 2015

Multilevel cache hierarchy for finding a cache line on a remote node

Inventors: Timothy C. Bronson (Round Rock, TX); Garrett M. Drapala (Poughkeepsie, NY); Michael A. Blake (Wappingers Falls, NY); Craig R. Walters (Highland, NY); Pak-Kin Mak (Poughkeepsie, NY)
Assignee: International Business Machines Corporation
G06F12/0811G06F12/123G06F12/0817G06F12/0884
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 8,972,664
App. No.
13/793,708
Granted
Mar 3, 2015
Kind
B2
Abstract

Embodiments relate to accessing a cache line on a multi-level cache system having a system memory. Based on a request for exclusive ownership of a specific cache line at the local node, requests are concurrently sent to the system memory and remote nodes of the plurality of nodes for the specific cache line by the local node. The specific cache line is found in a specific remote node. The specific remote node is one of the remote nodes. The specific cache line is removed from the specific remote node for exclusive ownership by another node. Based on the specified node having the specified cache line in ghost state, any subsequent fetch request is initiated for the specific cache line from the specific node encounters the ghost state. When the ghost state is encountered, the subsequent fetch request is directed only to nodes of the plurality of nodes.

Claims (13)

1. A computer implemented method for accessing a cache line on a multi-level cache system having a plurality of nodes comprising a local node and a plurality of remote nodes, the method comprising:

based on a request for exclusive ownership of a specific cache line at the local node, concurrently sending requests to the system memory and the plurality of remote nodes for the specific cache line by the local node;

finding the specific cache line in a specific cache of a specific remote node, the specific remote node being one of the plurality of nodes;

sending the specific cache line from the specific remote node to the local node;

saving the specific cache line in a local cache of the local node;

setting a directory state of the specific cache line to a ghost state in a respective cache directory in any cache of the plurality of remote nodes having the specific cache line, the ghost state indicating that the specific cache line has previously been removed for exclusive ownership by the local node, wherein a set of available directory states for a cache directory includes an invalid state and the ghost state, wherein the ghost state is distinct from the invalid state, and wherein the ghost state includes an identifier of the local node;

based on any remote node having the specific cache line in the ghost state, the ghost state indicating exclusive ownership of the specific cache line by the local node, for any subsequent fetch request for the specific cache line from any remote node, the subsequent fetch request is directed only to other nodes of the plurality of nodes without a concurrent fetch request to system memory for the specific cache line.

2. The method as claimed in claim 1 wherein the plurality of nodes are level four (L4) caches.

3. The method as claimed in claim 1 wherein the subsequent fetch is one of a read only fetch and an exclusive fetch.

4. The method as claimed in claim 1 wherein the exclusive fetch sent from the local node is responsive to a cache miss on the local node.

5. The method as claimed in claim 1 wherein the specific cache line corresponds to a specific row located in a least recently used (LRU) array, wherein a plurality of rows in the LRU array are tracked by age from most a recently used (MRU) row to a LRU row.

6. The method as claimed in claim 1 wherein the plurality of nodes are part of the multilevel cache hierarchy.

7. The method as claimed in claim 1 wherein the plurality of nodes are connected to one another and the system memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2013
From: BRONSON, TIMOTHY C.; DRAPALA, GARRETT M.; BLAKE, MICHAEL A.; WALTERS, CRAIG R.; MAK, PAK-KIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029964/0612 →
Continuity (2)
Continuation 13495373 · Jun 13, 2012
Related Publication 20130339609A1 · Dec 19, 2013