Enhanced operating system integrity using non-volatile system memory
First Claim
Patent Images
1. A system, comprising:
- one or more processors, anda system memory linked to the one or more processors, wherein the system memory comprises one or more non-volatile memory modules and one or more volatile memory modules;
a persistent storage device having a higher access latency than the system memory;
wherein the system memory comprises program instructions that when executed on the one or more processors;
identify, by an operating system, at least a selected subset of metadata associated with a state of a particular component of a plurality of components of the operating system, wherein the particular component of the operating system is configured to support input-output (I/O) operations;
designate, by the operating system, a portion of memory of a non-volatile memory module of the one or more non-volatile memory modules of the system memory to store at least the selected subset of metadata associated with the state of the particular component of the operating system;
designate, by the operating system, a portion of the memory of a volatile memory module of the one or more volatile memory modules of the system memory to store a non-selected subset of the metadata associated with the state of the particular component of the operating system;
in response to an operation that results in a change of the metadata associated with the state of the particular component of the operating system to a new state, store corresponding metadata entries for the new state of the particular component of the operating system only in the designated portions of the system memory;
retrieve, subsequent to a failure event that results in a loss of the non-selected subset of the metadata associated with a new state of the particular component of the operating system, the selected subset of the metadata associated with the new state of the particular component of the operating system stored in the designated portion of the non-volatile module of the system memory; and
restore, subsequent to the failure event, the state of the particular component of the operating system to the new state using the retrieved selected subset of the metadata.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for enhancing operating system integrity using non-volatile system memory are described. A computer system includes a system memory coupled to one or more processors. The system memory comprises at least a non-volatile portion. Memory is allocated from the non-volatile portion to store selected metadata associated with an operating system component that supports input-output (I/O) operations. In response to an operation that results in a metadata change at the component, a metadata entry is stored in the non-volatile portion. Subsequent to a failure event, contents of the metadata entry are read from the non-volatile portion to restore a state of the component.
-
Citations
20 Claims
-
1. A system, comprising:
-
one or more processors, and a system memory linked to the one or more processors, wherein the system memory comprises one or more non-volatile memory modules and one or more volatile memory modules; a persistent storage device having a higher access latency than the system memory; wherein the system memory comprises program instructions that when executed on the one or more processors; identify, by an operating system, at least a selected subset of metadata associated with a state of a particular component of a plurality of components of the operating system, wherein the particular component of the operating system is configured to support input-output (I/O) operations; designate, by the operating system, a portion of memory of a non-volatile memory module of the one or more non-volatile memory modules of the system memory to store at least the selected subset of metadata associated with the state of the particular component of the operating system; designate, by the operating system, a portion of the memory of a volatile memory module of the one or more volatile memory modules of the system memory to store a non-selected subset of the metadata associated with the state of the particular component of the operating system; in response to an operation that results in a change of the metadata associated with the state of the particular component of the operating system to a new state, store corresponding metadata entries for the new state of the particular component of the operating system only in the designated portions of the system memory; retrieve, subsequent to a failure event that results in a loss of the non-selected subset of the metadata associated with a new state of the particular component of the operating system, the selected subset of the metadata associated with the new state of the particular component of the operating system stored in the designated portion of the non-volatile module of the system memory; and restore, subsequent to the failure event, the state of the particular component of the operating system to the new state using the retrieved selected subset of the metadata. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method, comprising:
performing, by one or more computing devices comprising a system memory and a persistent storage device, wherein the system memory comprises one or more non-volatile memory modules and one or more volatile memory modules, and the persistent storage device comprises non-volatile memory having a higher access latency than the system memory; identifying, by an operating system, metadata associated with a state of a particular component of a plurality of components of the operating system, wherein the particular component of the operating system is configured to support input-output (I/O) operations; identifying, by the operating system, at least a selected subset of the metadata associated with a state of the particular component of the operating system; allocating, by the operating system, a portion of memory of a non-volatile memory module of the one or more non-volatile memory modules of the system memory to store at least the selected subset of the metadata associated with the state of the particular component of the operating system; allocating, by the operating system, a portion of the memory of a volatile memory module of the one or more volatile memory modules of the system memory to store the non-selected subset of the metadata associated with the state of the particular component of the operating system; in response to an operation that results in a change of the metadata associated with the state of the particular component of the operating system to a new state, storing, by the operating system, corresponding metadata entries for the new state of the particular component of the operating system only in the designated portion of the system memory; retrieving, subsequent to a failure event that results in a loss of the non-selected subset of the metadata associated with the new state of the particular component of the operating system, the selected subset of the metadata associated with the new state of the particular component of the operating system stored in the designated portion of the non-volatile memory module of the system memory; and restoring, subsequent to the failure event, the state of the particular component of the operating system to the new state using the retrieved selected subset of the metadata. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
16. A non-transitory computer-accessible storage medium storing program instructions to execute on one or more computing devices comprising one or more processors that are linked to system memory, the system memory comprising one or more non-volatile memory modules and one or more volatile memory modules, the system memory having a lower access latency than a persistent storage device of the system, the program instructions executable on the one or more computing devices to:
-
identify, by an operating system, metadata associated with a state of a particular component of a plurality of components of the operating system, wherein the particular component of the operating system is configured to support input-output (I/O) operations; identify, by the operating system, at least a selected subset of the metadata associated with a state of the particular component of the operating system; designate, by the operating system, a portion of memory of a non-volatile memory module of the one or more non-volatile memory modules of the system memory to store at least the selected set of the metadata associated with a state of the particular component of the operating system; designate, by the operating system, a portion of the memory of a volatile memory module of the one or more volatile memory modules of the system memory to store the non-selected subset of the metadata associated with the state of the particular component of the operating system; in response to an operation that results in a change of the metadata associated with the state of the particular component of the operating system to a new state, store, by the operating system, corresponding metadata entries for the new state of the particular component of the operating system only in the designated portions of the system memory; retrieve, subsequent to a failure event that results in a loss of the non-selected subset of the metadata associated with the new state of the particular component of the operating system, the selected subset of the metadata associated with the new state of the particular component of the operating system stored in the designated portion of the non-volatile module of the system memory; and restore, subsequent to the failure event, the state of the particular component of the operating system to the new state using the retrieved selected subset of the metadata. - View Dependent Claims (17, 18, 19, 20)
-
Specification