A method and apparatus for reordering memory requests for page coherency.
Various data streams are frequently found in separate areas of physical
memory (i.e. each data stream is found in a separate memory "page").
Because these requests from different streams become intermixed, a
certain amount of latency results from the resulting page "breaks." These
page breaks occur when consecutive requests are from different data
streams, requiring accesses to different memory pages. When several
separate streams of data are requested by a client, page coherency
between requests diminishes. A reordering device regains lost page
coherency, thereby reducing the amount of latency and increasing overall
system performance.