# US 10,310,982 B2 · Target cache line arbitration within a processor cluster

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,310,982 B2
- Document ID: US10310982B2
- Status: Granted
- Kind: B2
- Application number: 15/380,082
- Filed: 2016-12-15
- Published: 2018-06-21
- Granted: 2019-06-04
- Earliest claimed: 2016-12-15
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Deanna Postles Dunn Berger; Johnathon J. Hoste; Pak-kin Mak; Arthur J. O'Neill, Jr.; Robert J. Sonnelitter, III
- Web page: https://patentgrep.com/patent/US10310982B2

## CPC

- G06F 12/0833: {in combination with broadcast means (e.g. for invalidation or updating)}
- G06F 12/0824: {Distributed directories, e.g. linked lists of caches}
- G06F 2212/1024: Latency reduction
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method for managing cache memory in a distributed symmetric multiprocessing computer is described. The method may include receiving, at a first central processor (CP) chip, a fetch request from a first chip. The method may further include determining via address compare mechanisms on the first CP chip whether one or more of a second CP chip and a third CP chip is requesting access to a target line. The first chip, the second chip, and the third chip are within the same chip cluster. The method further includes providing access to the target line if both of the second CP chip and the third CP chip have accessed the target line at least one time since the first CP chip has accessed the target line.

## Claims

### Claim 1

A computer-implemented method for managing cache memory in a distributed symmetric multiprocessing computer, the method comprising:
receiving, via a storage controller, a fetch request from a first central processor (CP) chip;
determining whether one or more of a second CP chip and a third CP chip within a common chip cluster is requesting access to a target line; and
providing access to the target line if both of the second CP chip and the third CP chip have accessed the target line at least one time since an earlier fetch from the first CP chip has accessed the target line.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the first fetch request requests access to a target line managed by the storage controller and shared by the first CP chip, the second CP chip, and the third CP chip.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
loading, on a cache memory of the first CP chip, an outstanding fetch request that has not accessed the target line; and
broadcasting, to the second CP chip and the third CP chip, information indicative of the outstanding fetch requests.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, further comprising:
detecting, via the second CP chip, an extended valid tag;
accessing the target line based on the extended valid tag.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the extended valid tag is indicative of whether the first CP chip already has an outstanding fetch request that has not accessed the target line based on an extended valid tag.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein accessing the target line based on the extended valid tag comprises:
determining whether the extended valid tag is complete; and
accessing the target line only after the extended valid tag is complete or dropped.

### Claim 7 (depends on 4)

The computer-implemented method of claim 4, further comprising setting the extended valid tag stored on the first CP chip from second CP chip.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the first CP chip compares all requests from the second CP chip and the third CP chip against an extended valid tag; and
allows or prevents access to the target line to the second CP chip and the third CP chip.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein preventing or allowing access comprises:
preventing the second CP chip or the third CP chip making a second fetch request from broadcasting additional fetch requests for an off-chip target line until the one or more of the second CP chip and the third CP chip making the second fetch request resets an extended valid tag stored on the requesting chip.

### Claim 10 (depends on 9)

The computer-implemented method of claim 9, further comprising resetting the extended valid tag stored in the second CP chip and the third CP chip by the first CP chip after providing access to the target line.

### Claim 11

A system for managing cache memory in a distributed symmetric multiprocessing computer comprising:
a chip cluster comprising a first central processor (CP) chip, a second CP chip, and a third CP chip, wherein the first CP chip is configured to:
receive a fetch request from the first CP chip;
determine whether one or more of the second CP chip and the third CP chip within a common chip cluster is requesting access to a target line; and
provide access to the target line if both of the second CP chip and the third CP chip have accessed the target line at least one time since an earlier fetch from the first CP chip has accessed the target line.

### Claim 12 (depends on 11)

The system of claim 11, wherein the first fetch request requests access to a target line managed by a storage controller and shared by the first CP chip, the second CP chip, and the third CP chip.

### Claim 13 (depends on 11)

The system of claim 11, further comprising:
a cache memory on the first CP chip configured to load an outstanding fetch request that has not accessed the target line; and
broadcast, to the second CP chip and the third CP chip, information indicative of the outstanding fetch requests.

### Claim 14 (depends on 13)

The system of claim 13, wherein the second CP chip is configured to:
detect an extended valid tag; and
access the target line based on the extended valid tag.

### Claim 15 (depends on 14)

The system of claim 14, wherein the extended valid tag is indicative of whether the first CP chip already has an outstanding fetch request that has not accessed the target line based on an extended valid tag.

### Claim 16 (depends on 15)

The system of claim 15, wherein the second CP chip is configured to:
determine whether the extended valid tag is complete;
accessing the target line only after the extended valid tag is complete or dropped; and
access the target line based on the extended valid tag.

### Claim 17 (depends on 14)

The system of claim 14, wherein the second CP chip is configured to set the extended valid tag stored on the first CP chip.

### Claim 18 (depends on 11)

The system of claim 11, wherein the first CP chip is configured to compare all requests from the second CP chip and the third CP chip against an extended valid tag; and
allow or prevent access to the target line to the second CP chip and the third CP chip.

### Claim 19 (depends on 11)

The system of claim 11, wherein the first CP chip is configured to prevent or allow access by preventing the second CP chip or the third CP chip making a second fetch request from broadcasting additional fetch requests for an off-chip target line until the one or more of the second CP chip and the third CP chip making the second fetch request resets an extended valid tag stored on the requesting chip.

### Claim 20 (depends on 19)

The system of claim 19, wherein the first CP chip is further configured to reset the extended valid tag stored in the second CP chip and the third CP chip after providing access to the target line.
