Memory device and method for saving and restoring data using nonvolatile memory
First Claim
1. A memory device comprising:
- a volatile memory;
a first nonvolatile memory;
a second nonvolatile memory configured to store management data indicating a relationship between an identifier of each of programs executed by a host system and an address of each of a plurality of regions of the volatile memory being allocated respectively to the programs; and
a controller configured to save, in response to an event of power loss, data of the volatile memory to the first nonvolatile memory,wherein the controller is configured to;
receive, after recovery of power, from the host system an identifier of a first program of the programs and an address indicating a first region of the volatile memory newly allocated to the first program by the host system;
identify, based on the identifier of the first program, a region of the first nonvolatile memory where first data has been saved, wherein the first data is data of the region of the volatile memory being allocated to the first program before the power loss;
restore the first data stored in the identified region of the first nonvolatile memory into the indicated first region of the volatile memory; and
update the management data after the first data stored in the identified region of the first nonvolatile memory is restored, and change the address of the region of the volatile memory which corresponds to a program having a same identifier as the identifier of the first program to the address indicating the first region.
5 Assignments
0 Petitions
Accused Products
Abstract
According to one embodiment, a memory device saves data of a volatile memory to a first nonvolatile memory in response to an event of power loss. After recovery of power, based on management data indicating a relationship between an identifier of each of programs executed by a host system and address data of each of a plurality of regions of the volatile memory being used respectively by the programs, the memory device identifies a region of the first nonvolatile memory where the data of the region of the volatile memory being used by a first program of the programs before the power loss has been saved. The memory device restores the data stored in the identified region into a first region of the volatile memory newly allocated to the first program by the host system.
-
Citations
10 Claims
-
1. A memory device comprising:
-
a volatile memory; a first nonvolatile memory; a second nonvolatile memory configured to store management data indicating a relationship between an identifier of each of programs executed by a host system and an address of each of a plurality of regions of the volatile memory being allocated respectively to the programs; and a controller configured to save, in response to an event of power loss, data of the volatile memory to the first nonvolatile memory, wherein the controller is configured to; receive, after recovery of power, from the host system an identifier of a first program of the programs and an address indicating a first region of the volatile memory newly allocated to the first program by the host system; identify, based on the identifier of the first program, a region of the first nonvolatile memory where first data has been saved, wherein the first data is data of the region of the volatile memory being allocated to the first program before the power loss; restore the first data stored in the identified region of the first nonvolatile memory into the indicated first region of the volatile memory; and update the management data after the first data stored in the identified region of the first nonvolatile memory is restored, and change the address of the region of the volatile memory which corresponds to a program having a same identifier as the identifier of the first program to the address indicating the first region. - View Dependent Claims (2, 3)
-
-
4. A memory device comprising:
-
a volatile memory; a first nonvolatile memory; a second nonvolatile memory configured to store management data indicating a relationship between an identifier of each of one or more programs to be backed up, an address of each of one or more regions of the volatile memory being allocated to the one or more programs, and an address of each of one or more save regions of the first nonvolatile memory for saving state of the one or more programs; and a controller configured to save, in response to an event of power loss, data of the one or more regions of the volatile memory to the one or more save regions based on the management data, wherein the controller is configured to; receive, after recovery of power, from a host system an identifier of a first program of the one or more programs and an address indicating a first region of the volatile memory newly allocated to the first program by the host system; identify a first save region of the first nonvolatile memory where data of the region of the volatile memory being allocated to the first program before the power loss has been saved, based on the identifier of the first program and the management data; restore the data stored in the identified first save region into the indicated first region of the volatile memory; and update the management data after the data stored in the first save region is restored, and change the address of the region of the volatile memory which corresponds to a program having a same identifier as the identifier of the first program to the address indicating the first region. - View Dependent Claims (5, 6, 7)
-
-
8. A method for controlling a memory device comprising a volatile memory, a first nonvolatile memory and a second nonvolatile memory, the method comprising:
-
storing, into the second nonvolatile memory, management data indicating a relationship between an identifier of each of programs executed by a host system and an address of each of a plurality of regions of the volatile memory being allocated respectively to the programs; saving, in response to an event of power loss, data of the volatile memory into the first nonvolatile memory; receiving, after recovery of power, from the host system an identifier of a first program of the programs and an address indicating a first region of the volatile memory newly allocated to the first program by the host system; identifying, based on the identifier of the first program, a region of the first nonvolatile memory where first data has been saved, wherein the first data is data of the region of the volatile memory being allocated to the first program before the power loss; restoring the data stored in the identified region of the first nonvolatile memory into the indicated first region of the volatile memory; and updating the management data after the first data stored in the identified region of the first nonvolatile memory is restored, and changing the address of the region of the volatile memory corresponding to a program having a same identifier as the identifier of the first program to the address indicating the first region. - View Dependent Claims (9, 10)
-
Specification