A memory read request is received at a port from a device, wherein the
port is connected to the device by a packet-based link. The memory read
request is enqueued into a small request queue or a large request queue
based on an amount of data requested in the memory read request. Memory
read requests are interleave dequeued between the small request queue and
the large request queue based on an interleave granularity.