Patent ID: 8015363

Claim:
A process for making a cache memory of a processor consistent with a memory shared by another processor also provided with a cache memory according to a cache consistency management protocol with at least modified, shared and invalid states of data in the cache memory, comprising: receiving by the processor a request to write data to an address in its cache memory marked as being in the shared state; writing the data to the address in the cache memory of the processor and marking this address as being in the modified state; writing by the processor said data and said address into first and second associated fields of a data table; marking by the processor of a third associated field in the data table in a first state indicating that said request to write data to the address is in a waiting for execution state, wherein said third field may be modified to a second state indicating data invalidity in response to an intervening memory operation performed by said another processor; sending by the processor of the address in the cache to said another processor in accordance with a snooping protocol; later receiving by the processor an indication that the processor is to perform said received request to write data to the address in its cache memory; checking a state of the third field of the data table and: if the third field is in the first state indicating that said request to write data to the address remains in the waiting for execution state, erasing by the processor of the data and address from the data table, said snooping protocol informing said another processor to mark the address in its cache as being in the invalid state; if the third field is in the second state indicating data invalidity in response to the intervening memory operation performed by said another processor, performing by the processor of an external write operation to the shared memory and erasing of the data and address from the data table.