Patent ID: 8838882

Claim:
A computer-implemented method comprising: arranging blocks of memory of a non-volatile computer-readable medium in queues, each queue having a promotion level, a head, a tail, a leading portion of memory blocks starting at the head of the queue and a trailing portion of memory blocks ending at the tail of the queue, each queue receiving data into a memory block associated with the head of the queue, the memory blocks being rotated from the head of the queue to the tail of the queue in successive order upon receiving data with first-in-first-out data eviction; arranging the queues in a hierarchy based on their promotion levels, starting with a bottom promotion level up to a top promotion level, the hierarchy of queues receiving data first in the head of a queue having the bottom promotion level; and copying data accessed in a trailing portion of a first queue into a memory block associated with the head of a second queue, the second queue having one promotion level greater than a promotion level of the first queue in the hierarchy of queues, when the data has an access frequency greater than a threshold access frequency.