Accessing Memory And Processor Caches Of Nodes In Multi-Node Configurations
AssigneeFujitsu Limited
InventorsJames C. Wilson, Wolf-Dietrich Weber
Life of this patent
Estimating the term…
Abstract
A method for communicating between nodes of a plurality of nodes is disclosed. Each node includes a plurality of processors and an interconnect chipset. The method issues a request for data from a processor in a first node and passes the request for data to other nodes through an expansion port (or scalability port). The method also starts an access of a memory in response to the request for data and snoops a processor cache of each processor in each node. The method accordingly identifies the location of the data in either the processor cache or memory in the node having the processor issuing the request or in a processor cache or memory of another node.
Claims15
In an interconnect system having a plurality of nodes, each node having a plurality of processors, a method to request data comprising:
- issuing the request for the data from a local node;
- starting an access to a local memory in the local node;
- snooping a first processor cache of each processor in the local node to determine if the requested data is in the first processor cache of a processor in the local node and obtaining a copy of the data from the first processor cache in response to the requested data being in the first processor cache of the processor in the local node;
- snooping a second processor cache of each processor in a plurality of remote nodes with pipelining and obtaining a copy of the data from the second processor cache of a processor in the plurality of remote nodes in response to the requested data being in the second processor cache of the processor in the plurality of remote nodes;
- and
- retrieving the data from the local memory in response to the data not being in the processor cache of the local node or the plurality of remote nodes.
In an interconnect system having at least three nodes, each node having a plurality of processors, a method to request data comprising:
- issuing the request for the data from a local node;
- conducting, in response to the request for the data, a look-up of a directory in a protocol engine to determine if an address for the data is in a remote node and retrieving the data from the remote node in response to the address of the data being in the directory;
- and
- snooping a processor cache of each processor in the local node in response to the address for the data not being in the directory and retrieving the data from a processor cache of a processor in the local node in response to the data being located in that processor cache.
An interconnect system comprising:
- a means for issuing the request for the data from a local node;
- a means for conducting, in response to the request for the data, a look-up of a directory in a protocol engine to determine if an address for the data is in a remote node and retrieving the data from the remote node in response to the address of the data being in the directory;
- and
- a means for snooping a processor cache of each processor in the local node in response to the address for the data not being in the directory and retrieving the data from a processor cache of a processor in the local node in response to the data being located in that processor cache.
The system of 8, further comprising a means for retrieving the data from a remote memory of a remote node in response to determining that the data is located in the remote node.
A processor readable storage medium having processor readable code for programming a processor to perform, in an interconnect system having a plurality of nodes, each node having a plurality of processors, a method to request data comprising:
- issuing the request for the data from a local node;
- starting an access to a local memory in the local node;
- snooping a first processor cache of each processor in the local node to determine if the requested data is in the first processor cache of a processor in the local node and obtaining a copy of the data from the first processor cache in response to the requested data being in the first processor cache of the processor in the local node;
- snooping a second processor cache of each processor in a plurality of remote nodes with pipelining and obtaining a copy of the data from the second processor cache of a processor in the plurality of remote nodes in response to the requested data being in the second processor cache of the processor in the plurality of remote nodes;
- and
- retrieving the data from the local memory in response to the data not being in the processor cache of the local node or the plurality of remote nodes.
Dependencies are inferred from the claim text.