A memory controller including a line preloader and a cache coupled to the line preloader, the memory controller for processing data in a computer system, the computer system comprising a plurality of processors, the memory controller comprising:
- a data array, the data array comprising a plurality of data entries, each data entry comprising an owner bit for each of the plurality of processors, wherein the owner bit indicates that a corresponding processor is currently accessing the cache;
- and
- a tag array, the tag array comprising a plurality of tag entries, wherein each of the plurality of tag entries comprises a tag, a least recently used bit and a pointer for pointing to one of the plurality of data entries.