Patent ID: 7000060

Claim:
A method of ordering interconnect transactions in a computer system having a plurality of nodes, comprising: (a) receiving an interconnect transaction from an interconnect interface, the interconnect interface operating according to an interconnect protocol; (b) identifying a transaction type of the interconnect transaction; (c) euqueueing the interconnect transaction as a queued transaction on a transaction ordering queue (TOQ), imposing a stricter ordering on the interconnect transaction than an interconnect-protocol-imposed ordering; (d) dequeuing the queued transaction from the TOQ as a dequeued transaction; (e) if the dequeued transaction is of a second transaction type, scheduling the dequeued transaction for a destination node of the plurality of nodes; (f) if the dequeued transaction is of a first transaction type and no transactions are active for any of the plurality of nodes other than the destination node, scheduling the dequeued transaction for the destination node; (g) if the dequeued transaction is of the first transaction type and any transactions are active for any of the plurality of nodes other than the destination node, blocking the dequeued transaction from scheduling until no transactions are active for any of the plurality of nodes other than the destination node; and (h) if the dequeued transaction is of the first transaction type and another transaction is active for the destination node but not for any of the plurality of nodes other than the destination node, scheduling the dequeued transaction for the destination node.