efficient memory management can be performed using a computer system that includes a client which requests access to a memory , a memory interface coupled to the client and to the memory , wherein the memory interface comprises an arbiter to arbitrate requests received from the client to access data stored in the memory , a look ahead structure for managing the memory , a request queue for queuing memory access requests , and wherein the look ahead structure is located before the arbiter so that the look ahead structure communicates with the memory through the arbiter . efficient memory management can also be performed by sending a memory access request from a client to a look ahead structure and to a request queue , wherein the look ahead structure comprises a row bank direction queue and a tiering logic , checking state of memory being requested using the tiering logic , prioritizing memory requests according to the memory state , selecting a location to be precharged with a precharge arbiter , selecting a location to be activated using an activate arbiter , selecting a location to read or write using a read / write arbiter , and precharging , activating and reading or writing according the selections according to availability of the memory .