Controlling displacement in a co-operative and adaptive multiple-level memory system
AssigneeIntel Corporation
InventorsKshitij A. Doshi, Christopher J. Hughes
Life of this patent
Estimating the term…
Abstract
In one embodiment, a processor includes a control logic to determine whether to enable an incoming data block associated with a first priority to displace, in a cache memory coupled to the processor, a candidate victim data block associated with a second priority and stored in the cache memory, based at least in part on the first and second priorities, a first access history associated with the incoming data block and a second access history associated with the candidate victim data block. Other embodiments are described and claimed.
Claims22
A processor comprising:
- a control logic to determine whether to enable an incoming data block associated with a first priority to displace, in a cache memory coupled to the processor, a candidate victim data block associated with a second priority and stored in the cache memory, based at least in part on the first and second priorities, a first access history associated with the incoming data block and a second access history associated with the candidate victim data block, wherein the control logic is to perform a data block displacement decision with respect to the incoming data block and the candidate victim data block comprising a statistical probability determination according to a first bias value to randomly statistically bias displacement of the candidate victim data block, wherein the control logic is to select one of a first bias matrix storage and a second bias matrix storage from which to obtain the first bias value based at least in part on the first priority and the second priority.
A non-transitory machine-readable medium having stored thereon data, which if used by at least one machine, causes the at least one machine to fabricate at least one integrated circuit to perform a method comprising:
- responsive to a cache miss for a requested data item in a cache memory of a processor, identifying a candidate victim data item stored in a first memory coupled to the processor;
- determining to displace the candidate victim data item stored in the first memory with the requested data item according to a stochastic probability determination, when an override indicator indicates that a priority consideration of a displacement policy is to be overridden, wherein a priority associated with the candidate victim data item is higher than a priority associated with the requested data item, and adjusting a bias of the stochastic probability determination according to a bias value obtained from a selected one of a first bias matrix storage and a second bias matrix storage based at least in part on an access history of the requested data item and an access history of the candidate victim data item, the bias value based at least in part on the priority associated with the requested data item and the priority associated with the candidate victim data item;
- and
- storing the requested data item in the first memory in a location in which the candidate replacement data item was stored.
A system comprising:
- a persistent storage to store data blocks persistently;
- a memory coupled to the persistent storage to cache a plurality of the data blocks obtained from the persistent storage;
- and
- a processor coupled to the memory and the persistent storage, the processor including at least one core, at least one cache memory, and a memory controller, the memory controller including a control logic to perform a data block displacement decision comprising a stochastic probability determination according to a bias value to stochastically determine whether to displace a first data block stored in the memory with a second data block stored in the persistent storage, the bias value based at least in part on a first priority associated with the first data block and a second priority associated with the second data block, and in response to the stochastic probability determination, replace the first data block with the second data block.
Dependencies are inferred from the claim text.