A bus bridge and memory controller circuit for use in a computer system having a processor and cache memory, each coupled to a first bus, and a bus agent coupled to a second bus, the bus bridge and memory controller circuit coupled to the first bus and the second bus, the computer system further including a main memory coupled to the bus bridge and memory controller circuit, the bus bridge and memory controller circuit comprising:
- state machine circuitry for enabling read and write access to the main memory from the first bus and the second bus and for initiating and performing a plurality of snoop ahead transactions to the cache memory over the first bus during memory access transactions originated over the second bus and targeted for the main memory;
- buffer circuitry for buffering write data received over the second bus and targeted for the main memory;
- and
- circuitry for storing, for each of the plurality of snoop ahead transactions, a snoop status indication for indicating if a respective one of the plurality of snoop ahead transactions corresponding to a respective one of the memory access transactions has completed.