IP Library Granted Patent US 9,946,610
Granted Patent B2
US 9,946,610 · App. 14/936,356 · Granted Apr 17, 2018

Memory device and method for saving and restoring data using nonvolatile memory

Inventor: Tadaaki Kinoshita (Kamakura Kanagawa, JP)
Assignee: Toshiba Memory Corporation
G06F11/1666G06F11/2069G06F2201/805
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,946,610
App. No.
14/936,356
Granted
Apr 17, 2018
Kind
B2
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.

Claims (41)

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.

2. The memory device of claim 1 , wherein

the controller is configured to search for the address of the region of the volatile memory corresponding to a program which has a same identifier as the identifier of the first program from the management data, and identify the region of the first nonvolatile memory where the first data has been saved, based on the searched address.

3. The memory device of claim 1 , wherein the memory device is a dual in-line memory module (DIMM) insertable in a memory socket of the host system.

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.

5. The memory device of claim 4 , wherein

the controller is configured to search for an address of a save region corresponding to a program having a same identifier as the identifier of the first program from the management data, and identify the searched address as an address of the first save region.

6. The memory device of claim 4 , wherein

the controller is configured to:

save the data of the first region to a second save region different from the first save region in the first nonvolatile memory, in response to an event of another power loss after the data stored in the first save region is restored; and

restore, when the identifier of the first program, a history identifier specifying one of a state of an old generation of the first program and a state of a new generation of the first program, and an address indicating a region of the volatile memory newly allocated to the first program by the host system are received from the host system after recovery of power, one of the data stored in the first save region and the data stored in the second save region, into a region of the volatile memory specified by the received address, based on a generation specified by the history identifier.

7. The memory device of claim 4 , wherein the memory device is a dual in-line memory module (DIMM) insertable in a memory socket of the host system.

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.

9. The method of claim 8 , wherein the identifying comprising:

searching for the address of the region of the volatile memory corresponding to a program which has a same identifier as the identifier of the first program from the management data; and

identifying the region of the first nonvolatile memory where the first data has been saved, based on the searched address.

10. The method of claim 8 , wherein the memory device is a dual in-line memory module (DIMM) insertable in a memory socket of the host system.

Assignments (5)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043529/0709 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: KINOSHITA, TADAAKI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 036996/0171 →
Priority Claims (1)
JP 2015-169090 · Aug 28, 2015 · national
Continuity (1)
Related Publication 20170060706A1 · Mar 2, 2017