Patent ID: 8850120

Claim:
A method for performing a store in a memory system, comprising: performing the store for a first thread, wherein performing the store comprises: creating an entry for the store in a store queue for the first thread; and attempting to store-mark a cache line for the store by sending a store-mark request to the memory system, wherein the store-mark request comprises requesting a store-mark on the cache line for the store, and wherein the store-mark indicates that one or more store queue entries are waiting to be committed to the cache line; upon receiving a response to the store-mark request, updating state information in an entry for the store-mark request in a structure for storing thread-level state information for store-marking; and when the response to the store-mark request indicates that the store-mark request failed because a second thread holds a store-mark on the cache line, and when an ordered pointer points to the entry for the store-mark request in the structure, sending a forward-progress-read-to-own (FPRTO) request for the cache line to the second thread to force the second thread to release the store-mark so that the first thread can store-mark the cache line.