# US 2023/0053882 A1 · Broadcast scope selection in a data processing system utilizing a memory topology data structure

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

- Number: US 2023/0053882 A1
- Document ID: US20230053882A1
- Status: Published application
- Kind: A1
- Application number: 17/394,117
- Filed: 2021-08-04
- Published: 2023-02-23
- Earliest claimed: 2021-08-04
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: MICHAEL S. SIEGEL; GUY L. GUTHRIE
- Web page: https://patentgrep.com/patent/US20230053882A1

## CPC

- G06F 13/1668: {Details of memory controller}
- G06F 13/4027: {using bus bridges (G06F13/4022 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A coherent data processing system includes a system fabric communicatively coupling a plurality of nodes arranged in a plurality of groups. A plurality of coherence agents are distributed among the nodes and are assigned responsibility for certain addresses. A topology data structure indicates by group and node differing physical locations within the data processing system of the plurality of coherence agents. A master accesses the topology data structure utilizing a request address to obtain a particular group and node of a particular coherence agent uniquely assigned the request address. The master initially issues, on the system fabric, a memory access request specifying the request address and utilizing a remote scope of broadcast that includes the particular node and excludes at least one other node in the particular group, where the particular node is a different one of the plurality of nodes than a home node containing the master.

## Claims

### Claim 1

A method of data processing in a coherent data processing system including a system fabric communicatively coupling a plurality of nodes arranged in a plurality of groups, wherein a plurality of coherence agents distributed among the nodes are assigned responsibility for certain addresses, said method comprising:
maintaining a topology data structure indicating, by group and node, differing physical locations within the data processing system of the plurality of coherence agents;
a master in the data processing system accessing the topology data structure utilizing a request address to obtain a particular group and particular node of a particular coherence agent among the plurality of coherence agents uniquely assigned the request address; and
based on the accessing, the master initially issuing, on the system fabric, a memory access request specifying the request address and utilizing a remote scope of broadcast that includes the particular node and excludes at least one other node in the particular group, wherein the particular node is a different one of the plurality of nodes than a home node containing the master.

### Claim 2 (depends on 1)

The method of claim 1, wherein the remote scope includes only the home node and the particular node.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
the topology data structure includes a plurality of entries each associated with a respective one of a plurality of values of an index portion of a request address; and
each of the plurality of entries includes a field including one or more bits for indicating group membership and one or more bits for indicating node membership.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
indicating, in a mode field associated with the topology data structure, a selected one of a plurality of different allocations of bits in the field between bits indicating group membership and bits indicating node membership.

### Claim 5 (depends on 1)

The method of claim 1, wherein:
the particular coherence agent is a memory controller; and
the memory access request is a memory write request that updates a system memory controlled by the memory controller.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
maintaining a predictor that indicates whether or not the master is to employ the remote scope of broadcast based on which coherence participants serviced prior memory access requests; and
the master initially issuing, on the system fabric, the memory access request utilizing the remote scope of broadcast comprises the master initially issuing the memory access request utilizing the remote scope of broadcast based on the predictor indicating to employ the remote scope of broadcast.

### Claim 7

A processing unit for a coherent data processing system including a system fabric communicatively coupling a plurality of nodes arranged in a plurality of groups, wherein a plurality of coherence agents distributed among the nodes are assigned responsibility for certain addresses, the processing unit comprising:
a processor core;
interconnect logic configured to couple the processing unit to the system fabric of the data processing system;
a topology data structure indicating, by group and node, differing physical locations within the data processing system of the plurality of coherence agents;
a master configured to perform:
accessing the topology data structure utilizing a request address to obtain a particular group and particular node of a particular coherence agent among the plurality of coherence agents uniquely assigned the request address; and
based on the accessing, initially issuing, on the system fabric, a memory access request specifying the request address and utilizing a remote scope of broadcast that includes the particular node and excludes at least one other node in the particular group, wherein the particular node is a different one of the plurality of nodes than a home node containing the master.

### Claim 8 (depends on 7)

The processing unit of claim 7, wherein the remote scope includes only the home node and the particular node.

### Claim 9 (depends on 7)

The processing unit of claim 7, wherein:
the topology data structure includes a plurality of entries each associated with a respective one of a plurality of values of an index portion of a request address; and
each of the plurality of entries includes a field including one or more bits for indicating group membership and one or more bits for indicating node membership.

### Claim 10 (depends on 9)

The processing unit of claim 9, further comprising:
a mode field associated with the topology data structure, wherein the mode field indicates a selected one of a plurality of different allocations of bits in the field between bits indicating group membership and bits indicating node membership.

### Claim 11 (depends on 7)

The processing unit of claim 7, wherein:
the particular coherence agent is a memory controller; and
the memory access request is a memory write request that updates a system memory controlled by the memory controller.

### Claim 12 (depends on 7)

The processing unit of claim 7, further comprising:
a predictor that indicates whether or not the master is to employ the remote scope of broadcast based on which coherence participants serviced prior memory access requests; and
wherein the master initially issues the memory access request utilizing the remote scope of broadcast based on the predictor indicating to employ the remote scope of broadcast.

### Claim 13 (depends on 7)

A data processing system, comprising:
a plurality of processing units in accordance with claim 7; and
the system fabric communicatively coupling the plurality of processing units.

### Claim 14

A design structure tangibly embodied in a machine-readable storage device for designing, manufacturing, or testing an integrated circuit, the design structure comprising:
a processing unit for a coherent data processing system including a system fabric communicatively coupling a plurality of nodes arranged in a plurality of groups, wherein a plurality of coherence agents distributed among the nodes are assigned responsibility for certain addresses, the processing unit including:
a processor core;
interconnect logic configured to couple the processing unit to the system fabric of the data processing system;
a topology data structure indicating, by group and node, differing physical locations within the data processing system of the plurality of coherence agents;
a master configured to perform:
accessing the topology data structure utilizing a request address to obtain a particular group and particular node of a particular coherence agent among the plurality of coherence agents uniquely assigned the request address; and
based on the accessing, initially issuing, on the system fabric, a memory access request specifying the request address and utilizing a remote scope of broadcast that includes the particular node and excludes at least one other node in the particular group, wherein the particular node is a different one of the plurality of nodes than a home node containing the master.

### Claim 15 (depends on 14)

The design structure of claim 14, wherein the remote scope includes only the home node and the particular node.

### Claim 16 (depends on 14)

The design structure of claim 14, wherein:
the topology data structure includes a plurality of entries each associated with a respective one of a plurality of values of an index portion of a request address; and
each of the plurality of entries includes a field including one or more bits for indicating group membership and one or more bits for indicating node membership.

### Claim 17 (depends on 16)

The design structure of claim 16, further comprising:
a mode field associated with the topology data structure, wherein the mode field indicates a selected one of a plurality of different allocations of bits in the field between bits indicating group membership and bits indicating node membership.

### Claim 18 (depends on 14)

The design structure of claim 14, wherein:
the particular coherence agent is a memory controller; and
the memory access request is a memory write request that updates a system memory controlled by the memory controller.

### Claim 19 (depends on 14)

The design structure of claim 14, further comprising:
a predictor that indicates whether or not the master is to employ the remote scope of broadcast based on which coherence participants serviced prior memory access requests; and
wherein the master initially issues the memory access request utilizing the remote scope of broadcast based on the predictor indicating to employ the remote scope of broadcast.
