Hybrid checkpointed memory
First Claim
Patent Images
1. A method comprising:
- receiving a checkpoint request from a client, the checkpoint request comprising an identifier of an address range of virtual memory of a host to persist, the address range dynamically selected for the checkpoint request by the client, the virtual memory providing access, using volatile memory access semantics, to a non-volatile medium and to volatile memory of the host, the range of virtual memory addresses comprising at least a first set of addresses backed by the non-volatile medium and a second set of addresses backed by the volatile memory of the host and not by the non-volatile medium;
referencing data of the range of virtual memory, the referenced data comprising data already stored by the non-volatile medium, for the first set of addresses;
writing, to the non-volatile medium, data of the range of virtual memory, the written data comprising data stored by volatile memory of the host that is not stored by the non-volatile medium, for the second set of addresses; and
providing access to the data of the range of virtual memory from the non-volatile medium using a persistent identifier associated with the referenced data and the written data.
6 Assignments
0 Petitions
Accused Products
Abstract
Apparatuses, systems, methods, and computer program products are disclosed for hybrid checkpointed memory. A method includes referencing data of a range of virtual memory of a host. The referenced data is already stored by a non-volatile medium. A method includes writing, to a non-volatile medium, data of a range of virtual memory that is not stored by the non-volatile medium. A method includes providing access to data of a range of virtual memory from a non-volatile medium using a persistent identifier associated with referenced data and written data.
39 Citations
24 Claims
-
1. A method comprising:
-
receiving a checkpoint request from a client, the checkpoint request comprising an identifier of an address range of virtual memory of a host to persist, the address range dynamically selected for the checkpoint request by the client, the virtual memory providing access, using volatile memory access semantics, to a non-volatile medium and to volatile memory of the host, the range of virtual memory addresses comprising at least a first set of addresses backed by the non-volatile medium and a second set of addresses backed by the volatile memory of the host and not by the non-volatile medium; referencing data of the range of virtual memory, the referenced data comprising data already stored by the non-volatile medium, for the first set of addresses; writing, to the non-volatile medium, data of the range of virtual memory, the written data comprising data stored by volatile memory of the host that is not stored by the non-volatile medium, for the second set of addresses; and providing access to the data of the range of virtual memory from the non-volatile medium using a persistent identifier associated with the referenced data and the written data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus comprising:
-
a checkpoint module configured to receive a checkpoint request from a client, the checkpoint request comprising an identifier of an address range of virtual memory of a host to persist, the address range dynamically selected for the checkpoint request by the client, the virtual memory providing access, using volatile memory access semantics, to a non-volatile medium and to volatile memory of the host, the range of virtual memory addresses comprising at least a first set of addresses backed by the non-volatile medium and a second set of addresses backed by the volatile memory of the host and not by the non-volatile medium, reference data of the range of virtual memory, the referenced data comprising data already stored by the non-volatile medium, for the first set of addresses, and write, to the non-volatile medium, data of the range of virtual memory, the written data comprising data stored by volatile memory of the host that is not stored by the non-volatile medium, for the second set of addresses; and a storage namespace module configured to provide access to the data of the range of virtual memory from the non-volatile medium using a persistent identifier associated with the referenced data and the written data, wherein the checkpoint module and the storage namespace module comprise one or more of logic hardware and executable code, the executable code stored on a non-transitory computer readable storage medium. - View Dependent Claims (18, 19)
-
-
20. A computer program product comprising a non-transitory computer readable storage medium storing computer usable program code executable to perform operations, the operations comprising:
-
receiving a checkpoint request from a client, the checkpoint request comprising an identifier of an address range of virtual memory of a host to persist, the address range dynamically selected for the checkpoint request by the client, the virtual memory providing access, using volatile memory access semantics, to a non-volatile medium and to volatile memory of the host, the range of virtual memory comprising at least a first set of addresses backed by the non-volatile medium and a second set of addresses backed by the volatile memory of the host and not by the non-volatile medium; referencing data of the range of virtual memory, the referenced data comprising data already stored by the non-volatile medium, for the first set of addresses; writing, to the non-volatile medium, data of the range of virtual memory, the written data comprising data stored by volatile memory of the host that is not stored by the non-volatile medium, for the second set of addresses; and providing access to the data of the range of virtual memory from the non-volatile medium using a persistent identifier associated with the referenced data and the written data. - View Dependent Claims (21, 22)
-
-
23. A system comprising:
-
a non-volatile medium; a checkpoint module configured to receive a checkpoint request from a client, the checkpoint request comprising an identifier of an address range of virtual memory of a host to persist, the virtual memory providing access, using volatile memory access semantics, to the non-volatile medium and to volatile memory of the host, the range of virtual memory addresses comprising at least a first set of addresses backed by the non-volatile medium and a second set of addresses backed by the volatile memory of the host and not by the non-volatile medium, reference data of the range of virtual memory, the referenced data comprising data already stored by the non-volatile medium, for the first set of addresses, and write, to the non-volatile medium, data of the range of virtual memory, the written data comprising data stored by volatile memory of the host that is not stored by the non-volatile medium, for the second set of addresses; and a storage namespace module configured to provide access to the data of the range of virtual memory from the non-volatile medium using a persistent identifier associated with the referenced data and the written data. - View Dependent Claims (24)
-
Specification