US 7,321,956 B2
Method and apparatus for directory-based coherence with distributed directory management utilizing prefetch caches
Michael Karl Gschwind, Chappaqua, N.Y. (US); Charles Ray Johns, Austin, Tex. (US); and Thoung Quang Truong, Austin, Tex. (US)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Filed on Mar. 25, 2004, as Appl. No. 10/809,579.
Prior Publication US 2005/0216672 A1, Sep. 29, 2005
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 13/00 (2006.01); G06F 12/00 (2006.01)
U.S. Cl. 711—145  [711/137; 711/141; 711/147] 21 Claims
OG exemplary drawing
 
1. A system, comprising:
a memory comprising:
a plurality of data items and a plurality of directory information items, each data item uniquely associated with one of the plurality of directory information items;
wherein each of the plurality of data items is configured in accordance with one of a plurality of access modes;
wherein each of the plurality of directory information items comprises indicia of the access mode of its associated data item;
a multiplexer coupled to the memory and comprising a multiplex ratio;
a plurality of buffers coupled to the multiplexer and to the memory;
wherein the multiplex ratio is a function of the number of buffers in the plurality of buffers; and
a plurality of multiplexer/demultiplexers (MDMs), each MDM uniquely coupled to a different one of the plurality of buffers;
a plurality of processing elements coupled to the memory, wherein each of the processing elements uniquely couples in a point-to-point connection to a different one of the plurality of MDMs;
wherein each of the processing elements is configured to transmit a data request to its associated MDM, the data request identifying one of the plurality of data items and an access mode;
wherein each of the processing elements further comprises a prefetch page cache, the prefetch page cache configured to store a subset of the plurality of data items and the plurality of directory information items;
wherein the memory is configured to transmit a data response to each of the processing elements in response to a data request, the data response comprising the identified data item and its associated directory information, independent of whether the associated directory information indicates an access mode compatible with the requested access mode; and
wherein each of the processing elements is further configured:
to receive the data response and to compare the associated directory information with the access mode of the data request; and
in the event that the associated directory information and the access mode of the data request are not compatible, to initiate coherence actions for the requested data item.