Patent ID: 7664905

Claim:
A method of reordering memory access requests, comprising: receiving a stream of requests to access a memory, the memory having a plurality of banks, each bank having a plurality of pages; buffering the requests into a plurality of bins, wherein buffering is based on a bank to be accessed by a request; and outputting requests from one or more of the bins to an arbiter coupled to the memory, wherein the output requests occur at least one time in an order such that data within one bank is being accessed while at least one other bank is undergoing a page switch to prepare the at least one other bank to be accessed for another one of the requests received by the arbiter, and wherein outputting requests comprises: outputting one or more requests, accessing a first page of a first bank, from a first bin until a second request accessing a second page is detected in the first bin; and subsequent to detecting the second request, outputting one or more requests from a second bin.