IP Library Granted Patent US 9,865,323
Granted Patent B1
US 9,865,323 · App. 15/462,150 · Granted Jan 9, 2018

Memory device including volatile memory, nonvolatile memory and controller

Inventor: Yu Nakanishi (Yokohama, JP)
Assignee: TOSHIBA MEMORY CORPORATION
G11C11/40607G06F3/065G06F3/0619G06F3/0659G06F3/0679G06F12/0891G11C11/005G11C11/406
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,865,323
App. No.
15/462,150
Granted
Jan 9, 2018
Kind
B1
Abstract

According to one embodiment, a memory device is connectable to a host, and includes a nonvolatile memory, a volatile memory which is used as a cache of the nonvolatile memory and has a higher access speed than the nonvolatile memory, and a controller which controls access to the nonvolatile memory and the volatile memory. The controller increments, when the controller receives a refresh command for the volatile memory from the host, a value of a refresh counter, and executes, when the value of the refresh counter exceeds a threshold, no refresh operation corresponding to the refresh command.

Claims (52)

1. A memory device connectable to a host, the memory device comprising:

a nonvolatile memory;

a volatile memory which is used as a cache of the nonvolatile memory and has a higher access speed than the nonvolatile memory; and

a controller which controls access to the nonvolatile memory and the volatile memory, wherein

the controller increments, when the controller receives a refresh command for the volatile memory from the host, a value of a refresh counter, and executes, when the value of the refresh counter exceeds a threshold, no refresh operation corresponding to the refresh command.

2. The memory device of claim 1 , wherein

the controller resets, when the controller receives a predetermined command which is not a refresh command for the volatile memory from the host, the refresh counter.

3. The memory device of claim 1 , wherein

the controller stores, when the value of the refresh counter exceeds the threshold and first data stored in the volatile memory is not stored in the nonvolatile memory, the first data stored in the volatile memory in the nonvolatile memory without executing the refresh operation corresponding to the refresh command.

4. The memory device of claim 1 , wherein

the controller executes, when the value of the refresh counter exceeds the threshold and first data stored in the volatile memory is not stored in the nonvolatile memory, the refresh operation.

5. The memory device of claim 1 , wherein

the controller stores, when the controller copies first data stored in the volatile memory to the nonvolatile memory, new data in an area of the volatile memory in which the first data has been stored.

6. The memory device of claim 1 , wherein

the controller further comprises a data management table which manages a correspondence relationship between a logical address of first data and a physical address of the first data in the nonvolatile memory or in the volatile memory, and updates, when the first data is eliminated from the volatile memory, the data management table with the physical address indicating the first data stored in the nonvolatile memory.

7. The memory device of claim 1 , wherein

the controller manages the refresh counter which includes counters for each of a plurality of areas included in the volatile memory.

8. The memory device of claim 1 , wherein

the controller determines, when a write command corresponding to first data is received, whether or not there is an area in which the first data can be stored in the volatile memory,

stores, when there is an area in which the first data can be stored in the volatile memory, the first data in the volatile memory,

copies, when there is no area in which the first data can be stored in the volatile memory, second data stored in the volatile memory to the nonvolatile memory, stores the first data in the volatile memory in place of the second data, and

resets the refresh counter corresponding to the first data.

9. The memory device of claim 1 , wherein

the controller determines, when the controller receives a read command corresponding to first data from the host, whether or not the first data is stored in the volatile memory,

the controller resets, when the first data is stored in the volatile memory, the refresh counter corresponding to the first data, and

the controller

reads, when the first data is not stored in the volatile memory, the first data from the nonvolatile memory, and determines whether or not there is an area in which the first data can be stored in the volatile memory;

stores, when there is an area in which the first data can be stored in the volatile memory, the first data in the volatile memory; and

copies, when there is no area in which the first data can be stored in the volatile memory, second data stored in the volatile memory to the nonvolatile memory, stores the first data in the volatile memory in place of the second data, and resets the refresh counter corresponding to the first data.

10. A method of controlling a memory device, the memory device including a nonvolatile memory and a volatile memory which is used as a cache of the nonvolatile memory and has a higher access speed than the nonvolatile memory, the method comprising:

incrementing, when receiving a refresh command for the volatile memory from a host, a value of a refresh counter;

determining whether or not the value of the refresh counter has exceeded a threshold; and

executing, when determining that the value of the refresh counter exceeds the threshold, no refresh operation corresponding to the refresh command.

11. The method of claim 10 , further comprising resetting, when receiving a predetermined command which is not a refresh command for the volatile memory from the host, the refresh counter.

12. The method of claim 10 , further comprising storing, when the value of the refresh counter exceeds the threshold and first data stored in the volatile memory is not stored in the nonvolatile memory, the first data stored in the volatile memory in the nonvolatile memory without executing the refresh operation corresponding to the refresh command.

13. The method of claim 10 , further comprising executing, when the value of the refresh counter exceeds the threshold and first data stored in the volatile memory is not stored in the nonvolatile memory, the refresh operation.

14. The method of claim 10 , further comprising storing, when first data stored in the volatile memory is copied to the nonvolatile memory, new data in an area of the volatile memory in which the first data has been stored.

15. The method of claim 10 , further comprising:

managing a correspondence relationship between a logical address of first data and a physical address of the first data in the nonvolatile memory or in the volatile memory; and

updating, when the first data is eliminated from the volatile memory, the correspondence relationship with the physical address indicating the first data stored in the nonvolatile memory.

16. The method of claim 10 , further comprising managing the refresh counter which includes counters for each of a plurality of areas included in the volatile memory.

17. The method of claim 10 , further comprising:

determining, when receiving a write command corresponding to first data, whether or not there is an area in which the first data can be stored in the volatile memory;

storing, when there is an area in which the first data can be stored in the volatile memory, the first data in the volatile memory;

copying, when there is no area in which the first data can be stored in the volatile memory, second data stored in the volatile memory to the nonvolatile memory, storing the first data in the volatile memory in place of the second data; and

resetting the refresh counter corresponding to the first data.

18. The method of claim 10 , further comprising:

determining, when receiving a read command corresponding first data from the host, whether or not the first data is stored in the volatile memory;

resetting, when the first data is stored in the volatile memory, the refresh counter corresponding to the first data;

reading, when the first data is not stored in the volatile memory, the first data from the nonvolatile memory, determining whether or not there is an area in which the first data can be stored in the volatile memory;

storing, when there is an area in which the first data can be stored in the volatile memory, the first data in the volatile memory; and

copying, when there is no area in which the first data can be stored in the volatile memory, second data stored in the volatile memory to the nonvolatile memory, storing the first data in the volatile memory in place of the second data, and resetting the refresh counter corresponding to the first data.

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 Aug 22, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043620/0798 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2017
From: NAKANISHI, YU
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 042409/0224 →
Continuity (1)
Provisional Application 62431140 · Dec 7, 2016