A method, apparatus, and computer program product includes identifying a
plurality of memory transactions to be sent over a memory bus to a memory
having a plurality of memory banks, each memory transaction addressed to
one of the memory banks, the memory bus incapable of transmitting the
plurality of memory transactions simultaneously; identifying a plurality
of bank readiness signals, each bank readiness signal indicating the
readiness of one of the memory banks to accept a memory transaction; and
selecting one of the memory transactions for transmission over the memory
bus based on the bank readiness signals.