Patent ID: 6976135

Claim:
In a data processing system, a method for ordering a plurality of memory access requests from a plurality of data processors, the method comprising: accepting the plurality of memory access requests in an initial order sequence; determining whether there are available target memory addresses associated with the plurality of memory access requests; determining whether each of the plurality of memory access requests are read requests or write requests; determining the age of each of the plurality of memory access requests; determining an order of precedence based on the available target memory addresses, whether the plurality of memory access requests are read requests or write requests, and the age of each of the plurality of memory access requests, wherein a first precedence is given to the memory access requests having available target memory addresses, a second precedence is given to the memory access requests that are read memory requests, and a third precedence is given to the memory access requests that are newer in age; reordering the initial order to a new order based on the order of precedence without regard to a status of the plurality of data processors; servicing the plurality of memory access requests; and reordering a data exchange resulting from the plurality of memory access requests in the initial order sequence.