COST-AWARE PAGE SWAP AND REPLACEMENT IN A MEMORY
First Claim
1. A method for managing eviction from a memory device, comprising:
- initializing a count for one of multiple memory portions in a memory device, including associating the count with a source agent that accesses the one memory portion;
adjusting the count based on access to the one memory portion by the associated source agent;
adjusting the count based on a dynamic cost factor for the associated source agent, where the dynamic cost factor represents a latency impact to performance of the source agent to replace the memory portion; and
comparing the count to counts for others of the multiple portions to determine which memory portion to evict in response to an eviction trigger for the memory device.
1 Assignment
0 Petitions
Accused Products
Abstract
Memory eviction that recognizes not all evictions have an equal cost on system performance. A management device keeps a weight and/or a count associated with each portion of memory. Each memory portion is associated with a source agent that generates requests to the memory portion. The management device adjusts the weight by a cost factor indicating a latency impact that could occur if the evicted memory portion is again requested after being evicted. The latency impact is a latency impact for the associated source agent to replace the memory portion. In response to detecting an eviction trigger for the memory device, the management device can identify a memory portion having a most extreme weight, such as a highest or lowest value weight. The management device replaces the identified memory portion with a memory portion that triggered the eviction.
14 Citations
20 Claims
-
1. A method for managing eviction from a memory device, comprising:
-
initializing a count for one of multiple memory portions in a memory device, including associating the count with a source agent that accesses the one memory portion; adjusting the count based on access to the one memory portion by the associated source agent; adjusting the count based on a dynamic cost factor for the associated source agent, where the dynamic cost factor represents a latency impact to performance of the source agent to replace the memory portion; and comparing the count to counts for others of the multiple portions to determine which memory portion to evict in response to an eviction trigger for the memory device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A memory management device, comprising:
-
a queue to store requests for access to a memory device managed by the memory management device; an eviction table to store a weight associated with each of multiple memory portions of the memory device, each of the multiple memory portions having an associated source agent that generates requests for data stored in the memory portion, wherein each weight is factored based on access history for the memory portion as well as a cost factor that indicates a latency impact on the associated source agent to replace the memory portion; and an eviction processor configured to initialize a count for one of the memory portions;
adjust the count based on access to the one memory portion by the associated source agent;
adjust the count based on a dynamic cost factor for the associated source agent; and
compare the count to counts for others of the multiple memory portions to determine which memory portion to evict in response to an eviction trigger for the memory device. - View Dependent Claims (9, 10, 11, 12, 13, 14, 17)
-
-
15. An electronic device with a memory subsystem, comprising:
-
an SDRAM (synchronous dynamic random access memory) including a memory array to store multiple memory portions, each of the multiple memory portions having an associated source agent that generates requests for data stored in the SDRAM, wherein each weight is computed based on access history for the memory portion as well as a cost factor that indicates a latency impact on the associated source agent to replace the memory portion; and a memory controller to control access to the SDRAM, the memory controller including a queue to store requests for access to the SDRAM; an eviction table to store a weight associated with each of multiple memory portions; and an eviction processor configured to initialize a count for one of the memory portions;
adjust the count based on access to the one memory portion by the associated source agent;
adjust the count based on a dynamic cost factor for the associated source agent; and
compare the count to counts for others of the multiple memory portions to determine which memory portion to evict in response to an eviction trigger for the memory device; anda touchscreen display coupled to generate a display based on data accessed from the SDRAM. - View Dependent Claims (16, 18, 19, 20)
-
Specification