1. A computer apparatus, comprising: a processor; memory connected to the processor, at least a portion of the memory comprising a cache; and computer executable program code configured to execute on the processor, wherein the computer executable program code is configured to: receive an input/output operation; identify a cache window associated with data to be accessed pursuant to the input/output operation; remove the cache window from a prior temporal queue; and add the cache window to a current temporal queue comprising a plurality of cache window lists, each of the plurality of cache window lists configured to store one or more pointers to one or more cache windows.