Nonvolatile/Volatile Memory Write System and Method
OwnerJared E Hulbert, John C. Rudelic +1inventors
InventorsJared E Hulbert, John C. Rudelic, Hongyu Wang
Life of this patent
Estimating the term…
Abstract
Methods and systems provide memory handling for memory systems with mixed volatile and nonvolatile memory types. In various embodiments, the method or system maintains a page table that marks memory pages in nonvolatile memory as write-protected. When a write is attempted to a write-protected page in nonvolatile memory, a fault is generated. In response to the fault, memory contents of the write-protected nonvolatile page are moved to a page location in a volatile memory.
Claims20
A method comprising:
- issuing a write command to write first data to a virtual memory location, wherein the virtual memory location corresponds to a first page location in a nonvolatile memory;
- receiving a fault;
- moving memory contents from the first page location to a second page location in a volatile memory;
- and
- writing the first data to the second page location in the volatile memory.
A method comprising:
- maintaining a memory page table that represents both volatile memory pages and nonvolatile memory pages;
- receiving a write command to write first data to a first memory page;
- determining if the first memory page is write-protected;
- if the first memory page is write-protected, moving data in the first memory page to a second page location in a volatile memory;
- and
- writing the first data to the second page location.
A computer program product comprising:
- a fault handler to receive a fault when a write instruction is issued to write to a first memory page in a write-protected nonvolatile memory;
- and
- at least one memory manager responsive to the fault handler to move data from the first memory page to a non-protected, second page in a volatile memory
A computer-readable medium having instructions stored thereon that when accessed result in a computer performing:
- maintaining a memory page table that represents both volatile memory pages and nonvolatile memory pages;
- receiving a write command to write first data to a first memory page;
- determining if the first memory page is a write-protected page in a nonvolatile memory;
- if the first memory page is a write-protected page in a nonvolatile memory, moving data in the first memory page to a second page location in a volatile memory;
- and
- writing the first data to the second page location.
Dependencies are inferred from the claim text.