Patent ID: 8612689

Claim:
A method for caching data in a cache memory including logical pages, comprising: upon detecting that a first page is in a first list or a second list, moving the first page to a most recently used (MRU) position in the second list; upon detecting that the first page is in a first history list, performing adaptation by updating a first target size to a second target size for the first and second lists, performing replacement by moving the first page from the first history list to the MRU position in the second list, and fetching the first page to the cache memory; upon detecting that the first page is in a second history list, performing adaptation by updating the second target size to a third target size for the first and second lists, performing replacement by moving the first page from the second history list to the MRU position in the second list, and fetching the first page to the cache memory; upon detecting that the first page is in a stable history list, performing replacement by moving the first page from the stable history list to the MRU position in the second list; and fetching the first page to the cache memory.