Circuits, methods, and apparatus for reordering memory access requests in
a manner that reduces the number of page misses and thus increases
effective memory bandwidth. An exemplary embodiment of the present
invention uses an exposed FIFO structure. This FIFO is an n-stage bubble
compressing FIFO that preserves the order of requests but allows
bypassing to avoid page misses and their resulting delays. A specific
embodiment exploits DRAM page locality by maintaining a set of history
registers that track the last bank and row usage. Embodiments of the
present invention may limit the number of times a request may be bypassed
by incrementing an associated bypass counter each time the request is
bypassed. Further, to avoid continuous page misses that may occur if
requests alternate between two rows, a hold-off counter may be
implemented.