Memory copy in mesh networks
Aspects of the disclosure are directed to configuring one or more system level caches to perform memory copy in a mesh network. The system level caches can perform a write to a write destination or perform a write to another system level cache that performs the write to the write destination. The system level caches allow for avoiding redundant traffic, as data no longer needs to be sent to and from a CPU when performing memory copy.
1 . A method for copying data in a mesh network comprising:
receiving, by one or more processors, a copy request from a request node of the mesh network to copy data to a destination;
sending, by the one or more processors, a read without snoop request to a first subordinate node of the mesh network, wherein the first subordinate node and the request node are different nodes;
receiving, by the one or more processors, the data from the first subordinate node;
sending, by the one or more processors, a write without snoop request to a second subordinate node of the mesh network to write the data with a new write address;
receiving, by the one or more processors, an acknowledgement from the second subordinate node that the data can be written to the second subordinate node;
based on receiving the acknowledgement from the second subordinate node, sending, by the one or more processors, the data to the second subordinate node; and
sending, by the one or more processors, an acknowledgement to the request node that the copy request has been performed.
2 . The method of claim 1 , wherein the copy request comprises a read to write request.
3 . The method of claim 1 , wherein the first subordinate node comprises one or more read addresses.
4 . The method of claim 1 , wherein the second subordinate node comprises one or more write addresses.
5 . The method of claim 1 , further comprising receiving, by the one or more processors, an acknowledgement from the first subordinate node that the data has been read.
6 . The method of claim 5 , wherein the data from the first subordinate node and the acknowledgement that the data has been read are received in a combined transaction.
7 . The method of claim 1 , further comprising:
sending, by the one or more processors, a write without snoop request to a home node of the mesh network to write the data with a new write address;
receiving, by the one or more processors, an acknowledgement from the home node that the data can be written to the home node; and
sending, by the one or more processors, the data to the home node.
8 . The method of claim 1 , wherein the first subordinate node is a second request node.
9 . The method of claim 1 , wherein the one or more processors comprise a system level cache.
10 . A system comprising:
one or more processors; and
one or more storage devices coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations for copying data in a mesh network, the operations comprising:
receiving a copy request from a request node of the mesh network to copy data to a destination;
sending a read without snoop request to a first subordinate node of the mesh network, wherein the first subordinate node and the request node are different nodes;
receiving the data from the first subordinate node;
sending a write without snoop request to a second subordinate node of the mesh network to write the data with a new write address;
receiving an acknowledgement from the second subordinate node that the data can be written to the second subordinate node;
based on receiving the acknowledgement from the second subordinate node, sending the data to the second subordinate node; and
sending an acknowledgement to the request node that the copy request has been performed.
11 . The system of claim 10 , wherein the copy request comprises a read to write request.
12 . The system of claim 10 , wherein the first subordinate node comprises one or more read addresses.
13 . The system of claim 10 , wherein the second subordinate node comprises one or more write addresses.
14 . The system of claim 10 , wherein the operations further comprise receiving an acknowledgement from the first subordinate node that the data has been read.
15 . The system of claim 14 , wherein the data from the first subordinate node and the acknowledgement that the data has been read are received in a combined transaction.
16 . The system of claim 10 , wherein the operations further comprise:
sending a write without snoop request to a home node of the mesh network to write the data with a new write address;
receiving an acknowledgement from the home node that the data can be written to the home node; and
sending the data to the home node.
17 . The system of claim 10 , wherein the first subordinate node is a second request node.
18 . The system of claim 10 , wherein the one or more processors comprise a system level cache.
19 . A non-transitory computer readable medium for storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations for copying data in a mesh network, the operations comprising:
receiving a copy request from a request node of the mesh network to copy data to a destination;
sending a read without snoop request to a first subordinate node of the mesh network, wherein the first subordinate node and the request node are different nodes;
receiving the data from the first subordinate node;
sending a write without snoop request to a second subordinate node of the mesh network to write the data with a new write address;
receiving an acknowledgement from the second subordinate node that the data can be written to the second subordinate node;
based on receiving the acknowledgement from the second subordinate node, sending the data to the second subordinate node; and
sending an acknowledgement to the request node that the copy request has been performed.
20 . The non-transitory computer readable medium of claim 19 , wherein the operations further comprise receiving an acknowledgement from the first subordinate node that the data has been read.