Patent ID: 8645632

Claim:
A method for performing a speculative writestream transaction, comprising: at a home node, receiving a writestream ordered (WSO) request to start a first WSO transaction from a first processing subsystem, wherein the WSO request identifies a cache line to be written during the first WSO transaction, wherein during a WSO transaction, an entire cache line is written from a processing subsystem to the home node without obtaining write permission for the cache line in the processing subsystem and without storing a copy of the cache line in a local cache in the processing subsystem, and wherein the home node does not use a timer to track the age of an outstanding WSO transaction; sending an acknowledge signal to the first processing subsystem to enable the first processing subsystem to proceed with the first WSO transaction; during the first WSO transaction, receiving a second WSO request to start a second WSO transaction from a second processing subsystem, wherein the second WSO request identifies the same cache line as to be written during the first WSO transaction; and in response to receiving the second WSO request, sending an abort signal from the home node to the first processing subsystem to cause the first processing subsystem to abort the first WSO transaction; receiving a denial signal from the first processing subsystem in response to the abort signal, wherein the abort signal indicates that the first processing subsystem will not abort the first WSO transaction and that the first processing subsystem is proceeding with the first WSO transaction; subsequently receiving the cache line from the first processing subsystem at the home node; and writing the cache line to memory in the home node; wherein the first processing subsystem sends the denial signal when the WSO transaction is an oldest cache line write operation pending for the first processing subsystem or when the first processing subsystem has already sent the cache line to the home node to be written.