Systems and methods are provided for data caching. An exemplary method for
data caching may include establishing a FIFO queue and a LRU queue in a
cache memory. The method may further include establishing an auxiliary
FIFO queue for addresses of cache lines that have been swapped-out to an
external memory. The method may further include determining, if there is
a cache miss for the requested data, if there is a hit for requested data
in the auxiliary FIFO queue and, if so, swapping-in the requested data
into the LRU queue, otherwise swapping-in the requested data into the
FIFO queue.