Efficiency of hardware memory access using dynamically replicated memory
AssigneeMicrosoft Corporation
InventorsEngin Ipek, Thomas Moscibroda, Douglas C. Burger, Edmund B. Nightingale, Jeremy P. Condit
Life of this patent
Estimating the term…
Abstract
Dynamically replicated memory is usable to allocate new memory space from failed memory pages by pairing compatible failed memory pages to reuse otherwise unusable failed memory pages. Dynamically replicating memory involves detecting and recording memory faults, reclaiming failed memory pages for later use, recovering from detected memory faults, and scheduling access to replicated memory pages.
Claims18
A computer implemented method for improving memory access performance, the method comprising:
- determining a replication policy to follow comprising selecting an eager replication policy that comprises:
- placing a read request in a transaction queue for a memory page;
- placing a read request in the transaction queue for a duplicate memory page;
- and
- receiving at least a first returning memory page corresponding to the memory page or the duplicate memory page, the first returning memory page containing data;
- replicating the memory page to create the duplicate memory page, the memory page and the duplicate memory page containing data;
- receiving a memory access request from a memory controller;
- and
- requesting access to the data of the memory page and requesting access to the data of the duplicate memory page without waiting for a response to the memory page access request.
A system comprising:
- a memory;
- a processor coupled to the memory;
- a memory controller stored in the memory and executable by the processor to:
- select an eager replication policy configured to:
- place a read request in a transaction queue for a memory page;
- place a read request in the transaction queue for a duplicate memory page;
- and
- receive at least a first returning memory page corresponding to the memory page or the duplicate memory page, the first returning memory page containing data;
- replicate the memory page to create the duplicate memory page, the memory page and the duplicate memory page containing data;
- receive a memory access request from a memory controller;
- and
- request access to the data of the memory page and request access to the data of the duplicate memory page without waiting for a response to the memory page access request.
One or more computer-readable storage media, storing computer-executable instructions, that, when executed, configure one or more processors to perform acts for improving memory access performance, the acts comprising:
- determining a replication policy to follow comprising selecting an eager replication policy;
- replicating a memory page to create a duplicate memory page, the memory page and the duplicate memory page containing data;
- receiving a memory access request from a memory controller;
- and
- requesting access to the memory page and requesting access to the duplicate memory page without waiting for a response to the memory page access request, wherein the access to the memory page and the duplicate memory page comprises:
- placing a memory read request in a transaction queue;
- receiving the data of the memory page and the duplicate memory page;
- and
- storing one of the data of the memory page or the data of the duplicate memory page.
Dependencies are inferred from the claim text.