DRAM remote access cache in local memory in a distributed shared memory system
First Claim
1. A memory controller for a node in a multi-node computer system, the memory controller comprising:
- logic configured to determine if an address corresponding to a request received by the memory controller on an intranode interconnect is a remote address mapped to remote memory in another node of the multi-node computer system or a local address mapped to a memory in the node that includes the memory controller, wherein a first portion of the memory in the node is allocated to store copies of remote data and a remaining portion stores local data; and
a control unit coupled to the logic, wherein the control unit is configured to write writeback data to a location in the first portion, wherein the writeback data corresponds to a writeback request from the intranode interconnect that has an associated remote address detected by the logic, wherein the control unit is configured to determine the location responsive to the associated remote address and one or more indicators that identify the first portion in the memory, and wherein the writeback request is generated by a cache in the node in response to evicting the writeback data from the cache.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a memory controller for a node in a multi-node computer system comprises logic and a control unit. The logic is configured to determine if an address corresponding to a request received by the memory controller on an intranode interconnect is a remote address or a local address. A first portion of the memory in the node is allocated to store copies of remote data and a remaining portion stores local data. The control unit is configured to write writeback data to a location in the first portion. The writeback data corresponds to a writeback request from the intranode interconnect that has an associated remote address detected by the logic. The control unit is configured to determine the location responsive to the associated remote address and one or more indicators that identify the first portion in the memory.
39 Citations
20 Claims
-
1. A memory controller for a node in a multi-node computer system, the memory controller comprising:
-
logic configured to determine if an address corresponding to a request received by the memory controller on an intranode interconnect is a remote address mapped to remote memory in another node of the multi-node computer system or a local address mapped to a memory in the node that includes the memory controller, wherein a first portion of the memory in the node is allocated to store copies of remote data and a remaining portion stores local data; and
a control unit coupled to the logic, wherein the control unit is configured to write writeback data to a location in the first portion, wherein the writeback data corresponds to a writeback request from the intranode interconnect that has an associated remote address detected by the logic, wherein the control unit is configured to determine the location responsive to the associated remote address and one or more indicators that identify the first portion in the memory, and wherein the writeback request is generated by a cache in the node in response to evicting the writeback data from the cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A node comprising:
-
an intranode interconnect;
a cache coupled to the intranode interconnect, wherein the cache is configured to evict a remote cache line of data and to generate a writeback request on the intranode interconnect, the writeback request comprising the remote cache line and a remote address identifying the remote cache line;
an interface circuit coupled to the intranode interconnect and configured to couple the node to at least one other node via an internode interconnect, the remote address mapped to a remote memory in the at least one other node; and
a memory controller coupled to the intranode interconnect and configured to couple to a memory, wherein the memory controller is configured, responsive to the writeback request and the remote address, to write the remote cache line to a first portion of the memory in the node that is allocated to store copies of remote data, wherein a remaining portion of the memory stores local data, and wherein a location in the first portion, to which the remote cache line is written, is determined responsive to the remote address and one or more indicators that identify the first portion in the memory. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
evicting a cache line from a cache in a node;
determining that the cache line is remote to the node; and
writing the cache line to a first portion of a memory in the node responsive to the determining, wherein the first portion of the memory is allocated to store copies of remote cache lines, wherein the writing comprises determining a location within the first portion responsive to an address of the cache line and one or more indicators identifying the first portion in the memory. - View Dependent Claims (18, 19, 20)
-
Specification