Selective data persistence in computing systems
AssigneeMicrosoft Technology Licensing, LLC
InventorHenry Gabryjelski
Life of this patent
Estimating the term…
Abstract
Embodiments of selective data persistence in computing devices and associated methods of operations are disclosed therein. In one embodiment, a method includes receiving a command to initiate persistence of data currently contained in a volatile memory module to a non-volatile memory module of a hybrid memory device. The method also includes determining whether the data in the volatile memory module is valid data. In response to determining that the data currently contained in the volatile memory module is valid data, causing the data to be copied from the volatile memory module to the non-volatile memory module. in response to determining that the data is not valid data, discarding the data currently contained in the volatile memory module.
Claims20
A hybrid memory device, comprising:
- a volatile memory module configured to be accessible by a processor in a computing device as randomly addressable memory;
- a non-volatile memory module;
- and
- a module controller operatively coupled to the volatile memory module and the non-volatile memory module, the module controller having a processor and memory containing instructions executable by the processor to cause the processor to perform a process including:
- receiving a signal to initiate data persistence from the volatile memory module to the non-volatile memory module;
- determining whether the volatile memory module contains valid data;
- in response to determining the volatile memory module contains valid data, causing the valid data from the volatile memory module to be copied to and persisted in the non-volatile memory module;
- and
- in response to determining that the volatile memory module contains invalid data, allowing power to be removed from the hybrid memory device without copying the invalid data from the volatile memory module to the non-volatile memory module, thereby discarding the invalid data currently contained in the volatile memory module.
A method of selective data persistence in a computing device having a main processor and a memory controller operatively coupled to a hybrid memory device via a data bus, the hybrid memory device having a volatile memory module, a non-volatile memory module, and a module controller operatively coupled to the volatile memory module and the non-volatile memory module, the method comprising:
- receiving a command to initiate persistence of data currently contained in the volatile memory module to the non-volatile memory module;
- determining whether the data currently contained in the volatile memory module contains valid data;
- in response to determining that the data currently contained in the volatile memory module contains valid data, causing the valid data to be copied from the volatile memory module to the non-volatile memory module;
- and
- in response to determining that the data currently contained in the volatile memory module contains invalid data, allowing power to be removed from the computing device without copying the invalid data from the volatile memory module to the non-volatile memory module, thereby discarding the invalid data currently contained in the volatile memory module.
A method of selective data persistence in a computing device having a main processor and a memory controller operatively coupled to a hybrid memory device via a data bus, the hybrid memory device having a volatile memory module, a non-volatile memory module, and a module controller operatively coupled to the volatile memory module and the non-volatile memory module, the method comprising:
- receiving an indication to initiate a data persistence operation from the volatile memory module to the non-volatile memory module, the volatile memory containing a set of data when the indication is received;
- and
- in response to receiving the indication to initiate the data persistence operation,
- selectively copying a first subset of the data in the volatile memory module to the non-volatile memory module, thereby persistently storing the first subset of the data in the non-volatile memory module;
- and
- indicating the data persistence operation is completed without copying a second subset of the data from the volatile memory module to the non-volatile memory module, thereby allowing the second subset of the data to be discarded from the volatile memory module upon power removal from the hybrid memory device.
Dependencies are inferred from the claim text.