Patent ID: 7660951

Claim:
A method, comprising: preserving atomic access requests from one or more processors to an arbiter without intervention from another request, wherein the arbiter includes a separate FIFO buffer for each bank within memory modules of a memory system, wherein at least one of the separate FIFO buffets has a depth that is equal to a number of outstanding requests and stores a type of access, an address and a data block height in addition to a number of the one or more processors when each of the one or more processors is not limited to only one outstanding request; wherein the arbiter further includes a selection algorithm to choose one of the one or more processors requesting access to the memory system to be a winner, and to load an encoded value associated with the winner into all of the FIFO buffers associated with memory banks to be accessed by the request before choosing another winner wherein read and write requests are interleaved into different windows; and wherein the arbiter further includes a function that accesses all of the data within one memory bank for a memory access request of the processor associated with an encoded value that is at a to of a FIFO buffer associated with a memory bank before accessing data within a memory bank for another general purpose processor and, thereby, access for a given block is atomic, and the access spans multiple banks, multiple addresses, and multiple memory modules of the memory system.