One embodiment of a distributed memory module cache includes tag memory and associated
logic implemented at the memory controller end of a memory channel. The memory
controller is coupled to at least one memory module by way of a point-to-point
interface. The data cache and associated logic are located in one or more buffer
components on each of the memory modules.