In a memory device for connection to a computer system having a multiplicity of nodes, at least two of the nodes having a write-back cache, said caches and memory device adapted to store one or more data blocks, at most one of the at least two of the nodes having, at any one time, read-AND-write access to any one of the one or more data blocks stored in the memory device, each data block having associated therewith a coherency state, a computer implemented method of maintaining data block coherency among the memory device and said multiplicity of nodes, the method comprising the steps of:
- reserving memory space in the memory device for storing the coherency state of each data block;
- determining, for each data block, whether any one of the at least two nodes has read-AND-write access to said each data block, and further determining whether any one of the at least two nodes has requested read-AND-write access to said each data block;
- storing in the space reserved for the coherency state of each data block;
- the coherency state of SHARED-UNMODIFIED in response to none of the plurality of nodes having read-AND-write access to the data block;
- the coherency state of EXCLUSIVE-MODIFIED in response to one and only one node having read-AND-write access to the data block;
- the coherency state of FORWARD-EXCLUSIVE in response to the coherency state of the data block being EXCLUSIVE-MODIFIED and an other than the one and only one node requesting read-AND-write access to the data block;
- inhibiting all requests for read-AND-write or read-only access to a preselected data block in response to the coherency state of the preselected data block being FORWARD-EXCLUSIVE.