System with multicast invalidations and split ownership and access right coherence mechanism
First Claim
1. A computer system comprising:
- a plurality of active devices including a first active device that includes a first cache;
a directory configured to indicate which of the plurality of active devices has an ownership responsibility for a given coherency unit;
an address network configured to convey address packets between the plurality of active devices and the directory;
a data network configured to convey data packets between the plurality of active devices;
wherein depending upon whether the directory indicates that at least one active device included in a first subset of the plurality of active devices has a shared access right to a first coherency unit, the directory is configured to send an invalidating address packet on the address network to each active device included in the first subset;
wherein the first active device is configured to transition an ownership responsibility for a first coherency unit cached in the first cache upon receipt of a first address packet and to transition an access right to the first coherency unit cached in the first cache upon receipt of a corresponding data packet, wherein the ownership responsibility transitions at a different time than the access right transitions.
2 Assignments
0 Petitions
Accused Products
Abstract
Various systems and methods for using a directory based coherency protocol in a system that employs a split ownership and access right cache coherence mechanism are disclosed. A computer system may include a directory, several active devices configured to access data stored, an address network configured to convey coherence requests point-to-point between the active devices and the directory, and a data network configured to convey data between the active devices. If at least one of a subset of the active devices has a shared access right to a requested coherency unit, the directory is configured to send an invalidating address packet to each of the active devices in the subset. The subset contains fewer than all of the active devices.
-
Citations
20 Claims
-
1. A computer system comprising:
-
a plurality of active devices including a first active device that includes a first cache;
a directory configured to indicate which of the plurality of active devices has an ownership responsibility for a given coherency unit;
an address network configured to convey address packets between the plurality of active devices and the directory;
a data network configured to convey data packets between the plurality of active devices;
wherein depending upon whether the directory indicates that at least one active device included in a first subset of the plurality of active devices has a shared access right to a first coherency unit, the directory is configured to send an invalidating address packet on the address network to each active device included in the first subset;
wherein the first active device is configured to transition an ownership responsibility for a first coherency unit cached in the first cache upon receipt of a first address packet and to transition an access right to the first coherency unit cached in the first cache upon receipt of a corresponding data packet, wherein the ownership responsibility transitions at a different time than the access right transitions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer system comprising:
-
a plurality of active devices, wherein each active device includes a cache configured to store data accessed by that active device;
a directory configured to indicate which of the active devices has an ownership responsibility for a given coherency unit;
an address network configured to convey address packets between the plurality of active devices and the directory;
a data network configured to convey data packets between the plurality of active devices;
wherein depending upon whether the directory indicates that at least one active device included in a first subset of the active devices has a shared access right to a first coherency unit, the directory is configured to send an invalidating address packet on the address network to the first subset of the active devices;
wherein a first active device of the plurality of active devices is configured to transition its access right to the first coherency unit in response to sending a data packet corresponding to the first coherency unit on the data network.
-
-
14. A method for maintaining coherency in a computer system comprising a plurality of active devices that each include a cache, the method comprising:
-
a first active device of the plurality of active devices sending a first address packet on an address network in order to gain an access right to a first coherency unit, wherein the first active device includes a first cache;
conveying the first address packet point-to-point through the address network to a directory;
depending upon whether the directory indicates that at least one of a first subset of the plurality of active devices has a shared access right to the first coherency unit, the directory sending an invalidating packet to the first subset of the plurality of the active devices; and
the first active device transitioning an ownership responsibility for the first coherency unit cached in the first cache upon receiving a second address packet and transitioning an access right to the first coherency unit cached in the first cache upon receiving a corresponding data packet;
wherein said transitioning the ownership responsibility occurs at a different time than said transitioning the access right. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer system comprising:
-
a plurality of means for accessing data including a first means for accessing data, wherein the first means for accessing data includes a first cache;
means for storing ownership information associated with one or more coherency units and for storing access information indicating that at least one of the plurality of means for accessing data included in a subset of the means for accessing data has a shared access right to a first coherency unit;
means for conveying coherence requests point-to-point between the plurality of means for accessing data and the means for storing ownership information;
means for conveying data between the plurality of means for accessing data;
wherein the means for storing ownership information conveys an invalidating coherence request to each of the means for accessing data included in the first subset of the means for accessing data dependent upon the access information for the first coherency unit;
wherein the first means transitions an ownership responsibility for the first coherency unit cached in the first cache upon receiving a first coherence request on the means for conveying coherence requests;
wherein the first means transitions an access right to the first coherency unit cached in the first cache upon receiving corresponding data on the means for conveying data;
wherein the access right transitions at a different time than the ownership responsibility transitions.
-
Specification