A memory system includes a main memory controller supplying data in
response to transactions received by the main memory controller. A
plurality of modules each include a cache memory for storing data supplied
by the main memory controller. The modules request data from the main
memory controller by sending module generated transactions to the main
memory controller. A cache tag array includes a cache tag corresponding to
each data line stored in memory, there being a one-to-one correspondence
between the cache tags and the data lines. The data lines together with
their associated cache tags are combined and arranged in a plurality of
sequential data chunks, the cache tags included in an initial portion of
the data chunks (i.e, a first sequence of bits) followed by inclusion of
the data lines in a subsequent portion of the data chunks (i.e., the
usable bit positions following inclusion of all of the cache tag bits.)
Each of the chunks may further include appropriate ECC bits. By this
arrangement, all of the cache tags are transferred between the main memory
controller and the plurality of modules prior to transfer of the bits
constituting the data lines so that any coherency operations may be
initiated without waiting to receive the remaining data of the data line.