Patent ID: 8756374

Claim:
A method for performing a store in a memory system, comprising: receiving a store for a first thread; creating an entry for the store in a store queue for the first thread, wherein creating the entry involves requesting a store-mark for a cache line for the store, wherein the store-mark indicates that one or more store queue entries are waiting to be committed to the cache line; receiving a response to the request for the store-mark, wherein the response indicates that the cache line is store-marked; upon receiving the response to the request for the store-mark, updating a set of ordered records for the first thread by inserting data for the store in the set of ordered records, wherein the set of ordered records include one or more store-marked stores for the first thread; and upon receiving a request to release the cache line, setting a flag for an unordered record for the cache line that comprises data for the cache line, wherein the flag indicates that, while the data remains in the unordered record and the flag is set, the data is not forwarded to a subsequent read-after-write request using the unordered record.