A memory system including a bus 10, 11, a memory 17, a memory controller
16, a first device 13 having a cache, and a second device 15, all
connected to the bus, wherein the memory controller includes a buffer 20
for temporarily storing cache data and write data that the second device
writes in the memory. The buffer of the memory controller temporarily
stores cached data and the write data to be written on write access to
the memory by the second device, which enables maintenance of data
coherency while avoiding a write access retry by the second device.