Runtime allocation and utilization of persistent memory as volatile memory
AssigneeMicrosoft Technology Licensing, LLC
InventorsNeal Robert Christiansen, Scott Chao-Chueh Lee
Life of this patent
Estimating the term…
Abstract
The described technologies enable a computing device to allocate at least a portion of its persistent memory as volatile memory during runtime. At least some implementations create a file in the persistent memory of the computing device. The file is created in the persistent memory of the computing device during runtime of a virtual machine (VM) hosted by the computing device. The file may be allocated to the VM. The file allocated to the VM may be used as volatile memory. For example, the VM may use the file to store temporary data (e.g., volatile data). In some implementations, the temporary data is associated with an application executing in the VM.
Claims20
A computer-implemented method for requesting allocation of byte-addressable persistent memory of a host computing device for use as volatile memory, the method comprising:
- generating a persistent memory allocation request during a runtime of a host computing device for persistent memory for use by an application as volatile memory, the persistent memory allocation request comprising a parameter for use by the host computing device when creating a file in the byte-addressable persistent memory that is allocated for use as volatile memory by the application;
- communicating the persistent memory allocation request specifying the parameter to an operating system of the host computing device, the host computing device managing memory allocation to the application;
- receiving, from the operating system of the host computing device, a file creation confirmation message at the application in response to the persistent memory allocation request, the file creation confirmation message comprising data identifying the file in the byte-addressable persistent memory;
- and
- storing, by the application, volatile data in the file created in the byte-addressable persistent memory instead of in volatile memory, wherein the file is created in accordance with the parameter.
A computing device, comprising:
- a processor;
- a persistent memory;
- and
- a computer-readable medium in communication with the processor, the computer-readable medium having computer-executable instructions stored thereupon which, when executed by the processor, cause the processor to:
- generate a persistent memory allocation request during a runtime of a host computing device for persistent memory for use by an application as volatile memory, the persistent memory allocation request comprising a parameter for use by the host computing device when creating a file in byte-addressable persistent memory that is allocated for use as volatile memory by the application;
- communicate the persistent memory allocation request specifying the parameter to an operating system of the host computing device, the host computing device managing memory allocation to the application;
- receive, from the operating system of the host computing device, a file creation confirmation message at the application in response to the persistent memory allocation request, the file creation confirmation message comprising data identifying the file in the byte-addressable persistent memory;
- and
- store, by the application, volatile data in the file created in the byte-addressable persistent memory instead of in volatile memory, wherein the file is created in accordance with the parameter.
Computer storage media comprising computer-executable instructions that when executed by a processor cause the processor to perform acts comprising:
- generating a persistent memory allocation request during a runtime of a host computing device for persistent memory for use by an application as volatile memory, the persistent memory allocation request comprising a parameter for use by the host computing device when creating a file in byte-addressable persistent memory that is allocated for use as volatile memory by the application;
- communicating the persistent memory allocation request specifying the parameter to an operating system of the host computing device, the host computing device managing memory allocation to the application;
- receiving, from the operating system of the host computing device, a file creation confirmation message at the application in response to the persistent memory allocation request, the file creation confirmation message comprising data identifying the file in the byte-addressable persistent memory;
- and
- storing, by the application, volatile data in the file created in the byte-addressable persistent memory instead of in volatile memory, wherein the file is created in accordance with the parameter.
Dependencies are inferred from the claim text.