CACHE CLEANUP AND LATCHING
First Claim
1. A computer-implemented method, comprising:
- maintaining a low priority cleanup queue that is configured to list low priority removal candidates to be removed from a cache, with the low priority removal candidates being sorted in an order of priority for removal;
maintaining a high priority cleanup queue that is configured to list high priority removal candidates to be removed from the cache; and
in response to receiving a request for one or more candidates for removal from the cache;
if the high priority cleanup queue lists any high priority removal candidates, returning one or more candidates from the high priority cleanup queue; and
if no more high priority removal candidates remain in the high priority cleanup queue, then returning one or more low priority removal candidates from the low priority cleanup queue in the order of priority for removal.
1 Assignment
0 Petitions
Accused Products
Abstract
A low priority queue can be configured to list low priority removal candidates to be removed from a cache, with the low priority removal candidates being sorted in an order of priority for removal. A high priority queue can be configured to list high priority removal candidates to be removed from the cache. In response to receiving a request for one or more candidates for removal from the cache, one or more high priority removal candidates from the high priority queue can be returned if the high priority queue lists any high priority removal candidates. If no more high priority removal candidates remain in the high priority queue, then one or more low priority removal candidates from the low priority queue can be returned in the order of priority for removal. Write-only latches can also be used during write operations in a cache lookup data structure.
85 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
maintaining a low priority cleanup queue that is configured to list low priority removal candidates to be removed from a cache, with the low priority removal candidates being sorted in an order of priority for removal; maintaining a high priority cleanup queue that is configured to list high priority removal candidates to be removed from the cache; and in response to receiving a request for one or more candidates for removal from the cache; if the high priority cleanup queue lists any high priority removal candidates, returning one or more candidates from the high priority cleanup queue; and if no more high priority removal candidates remain in the high priority cleanup queue, then returning one or more low priority removal candidates from the low priority cleanup queue in the order of priority for removal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system comprising:
-
means for receiving a request for one or more candidates for removal from a cache; means for returning one or more candidates for removal from the cache in response to the request, the means for returning comprising; means for returning one or more candidates for removal that are identified as being expired; means for determining when all candidates for removal that are identified as being expired have been returned; and means for returning candidates for removal according to a priority policy when all candidates for removal that are identified as being expired have been returned. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. One or more computer-readable storage media having computer-executable instructions embodied thereon that, when executed, perform acts comprising:
-
performing a write operation on an existing cache unit that is pointed to by an existing committed pointer in a cache directory slot; and latching the slot to prevent other write operations on the cache unit; allowing one or more read operations on the cache unit during the write operation; and unlatching the slot after the write operation is complete. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification