US11907138B2ActiveUtilityA1
Multimedia compressed frame aware cache replacement policy
Est. expiryDec 31, 2041(~15.5 yrs left)· nominal 20-yr term from priority
Inventors:Hiral NanduSubbarao PalacharlaGeorge PatsilarasAlain ArtieriSimon Peter William BoothVipul GandhiGirish BhatYen-Kuan WuYounghoon Kim
G06F 12/123G06F 9/30101G06F 12/127G06F 12/122
52
PatentIndex Score
0
Cited by
11
References
30
Claims
Abstract
Various embodiments include methods and devices for implementing a criterion aware cache replacement policy by a computing device. Embodiments may include updating a staling counter, writing a value of a local counter to a system cache in association with a location in the system cache for with data, in which the value of the local counter includes a value of the staling counter when (i.e., at the time) the associated data is written to the system cache, and using the value of the local counter of the associated data to determine whether the associated data is stale.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for implementing a criterion aware cache replacement policy by a computing device, comprising:
updating a staling counter;
writing a value of a local counter to a system cache in association with a location in the system cache for associated data, wherein the value of the local counter includes a value of the staling counter when the associated data is written to the system cache;
calculating a replacement value using a value of the staling counter and the value of the local counter of the associated data;
determining whether all replacement values for a plurality of associated data in a portion of the system cache are equal to one another; and
determining whether the replacement value exceeds a staling threshold in response to determining that not all of the replacement values for the plurality of associated data in the portion of the system cache are equal to one another, wherein the associated data is determined to be stale in response to determining that the replacement value exceeds the staling threshold.
2. The method of claim 1 , wherein updating the staling counter comprises:
receiving a signal from a client of the computing device configured to indicate whether to update the staling counter;
determining whether to update the staling counter based on the signal; and
updating the staling counter in response to determining to update the staling counter.
3. The method of claim 2 , wherein the signal is a register write command, and wherein:
receiving the signal from the client of the computing device comprises reading a value from a register set by the client; and
determining whether to update the staling counter based on the signal comprises determining whether to update the staling counter based on the value from the register.
4. The method of claim 3 , further comprising setting the value at the register by the client of the computing device based on a time-based criterion.
5. The method of claim 3 , further comprising setting the value at the register by the client of the computing device based on an event based criterion.
6. The method of claim 1 , further comprising receiving a memory write command, wherein writing the value of the local counter to the system cache in association with the location in the system cache for the associated data occurs before updating the staling counter, wherein the associated data is data of the write memory command.
7. The method of claim 1 , further comprising:
receiving a memory access command; and
writing data of the memory access command to the system cache at a location for which the replacement value exceeds the staling threshold, wherein the data of the memory access command written to the system cache is the associated data.
8. The method of claim 1 , further comprising:
receiving a memory write command;
invalidating data at a location for which the replacement value exceeds the staling threshold; and
writing data of the memory write command to the system cache at a location having the invalidated data, wherein the data of the memory write command written to the system cache is the associated data.
9. The method of claim 1 , further comprising:
receiving a memory write access command; and
writing data of the memory write access command to the system cache at a location according to another cache replacement policy in response to determining that no replacement value exceeds the staling threshold.
10. The method of claim 1 , wherein calculating the replacement value using the value of the staling counter and the value of the local counter of the associated data comprises calculating a difference between the value of the staling counter and the value of the local counter.
11. A computing device, comprising:
a memory control device configured to:
update a staling counter;
write a value of a local counter to a system cache in association with a location in the system cache for associated data, wherein the value of the local counter includes a value of the staling counter when the associated data is written to the system cache;
calculate a replacement value using a value of the staling counter and the value of the local counter of the associated data;
determine whether all replacement values for a plurality of associated data in a portion of the system cache are equal to one another; and
determine whether the replacement value exceeds a staling threshold in response to determining that not all of the replacement values for the plurality of associated data in the portion of the system cache are equal to one another, wherein the associated data is determined to be stale in response to determining that the replacement value exceeds the staling threshold.
12. The computing device of claim 11 , wherein the memory control device is further configured to update the staling counter by:
receiving a signal from a client of the computing device configured to indicate whether to update the staling counter;
determining whether to update the staling counter based on the signal; and
updating the staling counter in response to determining to update the staling counter.
13. The computing device of claim 12 , wherein:
the signal is a register write command; and
the memory control device is further configured to:
receive the signal from the client of the computing device by reading a value from a register set by the client; and
determine whether to update the staling counter based on the signal by determining whether to update the staling counter based on the value from the register.
14. The computing device of claim 13 , further comprising a client configured to set the value at the register based on a time-based criterion.
15. The computing device of claim 13 , further comprising a client configured to set the value at the register based on an event based criterion.
16. The computing device of claim 11 , wherein the memory control device is further configured to:
receive a memory write command; and
write the value of the local counter to the system cache in association with the location in the system cache for the associated data before updating the staling counter, wherein the associated data is data of the write memory command.
17. The computing device of claim 11 , wherein the memory control device is further configured to:
receive a memory access command; and
write data of the memory access command to the system cache at a location for which the replacement value exceeds the staling threshold, wherein the data of the memory access command written to the system cache is the associated data.
18. The computing device of claim 11 , wherein the memory control device is further configured to:
receive a memory write command;
invalidate data at a location for which the replacement value exceeds the staling threshold; and
write data of the memory write command to the system cache at a location having the invalidated data, wherein the data of the memory write command written to the system cache is the associated data.
19. The computing device of claim 11 , wherein the memory control device is further configured to:
receive a memory write access command; and
write data of the memory write access command to the system cache at a location according to a cache replacement policy that is different from a criterion aware cache replacement policy in response to determining that no replacement value exceeds the staling threshold.
20. The computing device of claim 11 , wherein the memory control device is further configured to calculate the replacement value as a difference between the value of the staling counter and the value of the local counter.
21. A computing device, comprising:
means for updating a staling counter;
means for writing a value of a local counter to a system cache in association with a location in the system cache for associated data, wherein the value of the local counter includes a value of the staling counter when the associated data is written to the system cache;
means for calculating a replacement value using a value of the staling counter and the value of the local counter of the associated data;
means for determining whether all replacement values for a plurality of associated data in a portion of the system cache are equal to one another; and
means for determining whether the replacement value exceeds a staling threshold in response to determining that not all of the replacement values for the plurality of associated data in the portion of the system cache are equal to one another, wherein the associated data is determined to be stale in response to determining that the replacement value exceeds the staling threshold.
22. The computing device of claim 21 , wherein means for updating the staling counter comprises:
means for receiving a signal from a client of the computing device configured to indicate whether to update the staling counter;
means for determining whether to update the staling counter based on the signal; and
means for updating the staling counter in response to determining to update the staling counter.
23. The computing device of claim 22 , wherein the signal is a register write command, and wherein:
means for receiving the signal from the client of the computing device comprises means for reading a value from a register set by the client; and
means for determining whether to update the staling counter based on the signal comprises means for determining whether to update the staling counter based on the value from the register.
24. The computing device of claim 23 , further comprising means for setting the value at the register by the client of the computing device based on a time-based criterion or setting the value at the register by the client of the computing device based on an event based criterion.
25. The computing device of claim 21 , further comprising means for receiving a memory write command, wherein means for writing the value of the local counter to the system cache in association with the location in the system cache for the associated data is implemented before updating the staling counter, wherein the associated data is data of the write memory command.
26. The computing device of claim 21 , further comprising:
means for receiving a memory access command; and
means for writing data of the memory access command to the system cache at a location for which the replacement value exceeds the staling threshold, wherein the data of the memory access command written to the system cache is the associated data.
27. The computing device of claim 21 , further comprising:
means for receiving a memory write command;
means for invalidating data at a location for which the replacement value exceeds the staling threshold; and
means for writing data of the memory write command to the system cache at a location having invalidated data, wherein the data of the memory write command written to the system cache is the associated data.
28. The computing device of claim 21 , further comprising:
means for receiving a memory write access command; and
means for writing data of the memory write access command to the system cache at a location according to a cache replacement policy that is different from a criterion aware cache replacement policy in response to determining that no replacement value exceeds the staling threshold.
29. The computing device of claim 21 , wherein means for calculating the replacement value using the value of the staling counter and the value of the local counter of the associated data comprises means for calculating a difference between the value of the staling counter and the value of the local counter.
30. A non-transitory processor-readable medium having stored thereon processor-executable instructions configured to cause a processing device to perform operations comprising:
updating a staling counter;
writing a value of a local counter to a system cache in association with a location in the system cache for associated data, wherein the value of the local counter includes a value of the staling counter when the associated data is written to the system cache;
calculating a replacement value using a value of the staling counter and the value of the local counter of the associated data;
determining whether all replacement values for a plurality of associated data in a portion of the system cache are equal to one another; and
determining whether the replacement value exceeds a staling threshold in response to determining that not all of the replacement values for the plurality of associated data in the portion of the system cache are equal to one another, wherein the associated data is determined to be stale in response to determining that the replacement value exceeds the staling threshold.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.