IP Library Granted Patent US 10,747,663
Granted Patent B2
US 10,747,663 · App. 16/126,021 · Granted Aug 18, 2020

Storage device, computer system, and operation method of storage device configured to arbitrarily stop garbage collection

Inventors: Kenichiro Yoshii (Bunkyo, JP); Tetsuya Sunata (Yokohama, JP); Daisuke Iwai (Yokohama, JP)
Assignee: Toshiba Memory Corporation
G06F12/0253G06F2212/1044G06F2212/7205
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 10,747,663
App. No.
16/126,021
Granted
Aug 18, 2020
Kind
B2
Abstract

According to one embodiment, a storage device includes a nonvolatile memory and a controller. The nonvolatile memory cannot overwrite data written in a memory area. The controller controls writing/reading of data to/from the nonvolatile memory in response to a request from a host device. The controller includes a garbage collection processor and a garbage collection controller. The garbage collection processor executes garbage collection to reuse a memory area on the nonvolatile memory in which unnecessary data remain. The garbage collection controller stops the garbage collection executed by the garbage collection processor when the storage device is in a loaded state equal to or less than a threshold value.

Claims (58)

1. A storage device connectable to a host device via an interface, the storage device comprising:

a nonvolatile memory that cannot overwrite data written in a memory area; and

a controller configured to control writing/reading of data to/from the nonvolatile memory in response to a request from the host device, which is receivable from the host device in a case where the storage device is connected to the host device, wherein

the controller comprises:

a garbage collection processor configured to execute garbage collection to reuse a memory area on the nonvolatile memory in which unnecessary data remain; and

a garbage collection controller configured to stop the garbage collection executed by the garbage collection processor when a number of commands queued in the storage device is equal to or less than a number of memory chips in the nonvolatile memory, which are parallelly operable, the commands being issued by the host device and being receivable from the host device in the case where the storage device is connected to the host device.

2. The storage device of claim 1 , wherein:

the garbage collection includes a first step, a second step and a third step, the first step being a step in which data to be read from a target memory area are determined, the second step being a step in which the data determined are read, the third step being a step in which the read data are written back; and

the garbage collection controller is configured to stop the garbage collection when the garbage collection processor completes one of the first step, the second step and the third step, which is being executed.

3. The storage device of claim 1 , wherein:

the garbage collection includes a first step, a second step and a third step, the first step being a step in which data to be read from a target memory area are determined, the second step being a step in which the data determined are read, the third step being a step in which the read data are written back;

the garbage collection processor is configured to cyclically execute the first step, the second step, and the third step by a first use unit of the nonvolatile memory; and

the garbage collection controller is configured to stop the garbage collection when the garbage collection processor completes the first step, the second step, and the third step for any one of the first use unit.

4. The storage device of claim 1 , wherein the garbage collection controller is configured to perform the determination of whether or not the number of commands queued in the storage device is equal to or less than the number of memory chips in the nonvolatile memory in order to determine whether or not the aarbaae collection being executed by the garbage collection processor is stopped, when notification indicative of a state of the host device indicates that the host device is in a first state, the notification being receivable from the host device in the case where the storage device is connected to the host device.

5. The storage device of claim 1 , wherein the garbage collection controller is configured to perform the determination of whether or not the number of commands queued in the storage device is equal to or less than the number of memory chips in the nonvolatile memory in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when notification indicative of a state of the host device indicates that the host device is not in a first state, the notification being receivable from the host device in the case where the storaae device is connected to the host device.

6. The storage device of claim 1 , wherein the garbage collection controller is configured to:

calculate a ratio of idle time of the host device based on a history of notifications indicative of the idle time of the host device, the notification being receivable from the host device in the case where the storage device is connected to the host device;

perform the determination of whether or not the threshold value the number of commands queued in the storage device is equal to or less than the number of memory chips in the nonvolatile memory in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when the notification indicating that the host device is in the first state is received from the host device in a case where the calculated ratio excesses a reference value; and

perform the determination of whether or not the number of commands queued in the storage device is equal to or less than the number of memory chips in the nonvolatile memory in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when the notification indicating that the host device is not in the first state is received from the host device in a case where the calculated ratio is equal to or less than the reference value.

7. A storage device, connectable to a host device via an interface, the storage device comprising:

a nonvolatile memory that cannot overwrite data written in a memory area; and

a controller configured to control writing/reading of data to/from the nonvolatile memory in response to a request from the host device, which is receivable from the host device in a case where the storage device is connected to the host device, wherein

the controller comprises:

a garbage collection processor configured to execute garbage collection to reuse a memory area on the nonvolatile memory in which unnecessary data remain; and

a garbage collection controller configured to stop the garbage collection executed by the garbage collection processor when a number of commands being processed by the storage device is equal to or less than a number of memory chips in the nonvolatile memory, which are parallelly operable, the commands being issued by the host device and being receivable from the host device in the case where the storage device is connected to the host device.

8. The storage device of claim 7 , wherein:

the garbage collection includes a first step, a second step and a third step, the first step being a step in which data to be read from a target memory area are determined, the second step being a step in which the data determined are read, the third step being a step in which the read data are written back; and

the garbage collection controller is configured to stop the garbage collection when the garbage collection processor completes one of the first step, the second step and the third step, which is being executed.

9. The storage device of claim 7 , wherein:

the garbage collection includes a first step, a second step and a third step, the first step being a step in which data to be read from a target memory area are deteii lined, the second step being a step in which the data determined are read, the third step being a step in which the read data are written back;

the garbage collection processor is configured to cyclically execute the first step, the second step, and the third step by a first use unit of the nonvolatile memory; and

the garbage collection controller is configured to stop the garbage collection when the garbage collection processor completes the first step, the second step, and the third step for any one of the first use unit.

10. The storage device of claim 7 , wherein the garbage collection controller is configured to perform the determination of whether or not the number of commands being processed by the storage device is equal to or less than the number of memory chips in the nonvolatile memory in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when notification indicative of a state of the host device indicates that the host device is in a first state, the notification being receivable from the host device in the case where the storage device is connected to the host device.

11. The storage device of claim 7 , wherein the garbage collection controller is configured to perform the determination of whether or not the number of commands being processed by the storage device is equal to or less than the number of memory chips in the nonvolatile memory in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when notification indicative of a state of the host device indicates that the host device is not in a first state, the notification being receivable from the host device in the case where the storage device is connected to the host device.

12. The storage device of claim 7 , wherein the garbage collection controller is configured to:

calculate a ratio of idle time of the host device based on a history of notifications indicative of the idle time of the host device, the notifications being receivable from the host device in the case where the storage device is connected to the host device;

perform the determination of whether or not the number of commands being processed by the storage device is equal to or less than the number of memory chips in the nonvolatile memory in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when the notification indicating that the host device is in the first state is received from the host device in a case where the calculated ratio exceeds a reference value; and

perform the determination of whether or not the number of commands being processed by the storage device is equal to or less than the number of memory chips in the nonvolatile memory in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when the notification indicating that the host device is not in the first state is received from the host device in a case where the calculated ratio is equal to or less than the reference value.

13. A storage device, connectable to a host device via an interface, the storage device comprising:

a nonvolatile memory that cannot overwrite data written in a memory area; and

a controller configured to control writing/reading of data to/from the nonvolatile memory in response to a request from the host device, which is receivable from the host device in a case where the storage device is connected to the host device, wherein

the controller comprises:

a garbage collection processor configured to execute garbage collection to reuse a memory area on the nonvolatile memory in which unnecessary data remain; and

a garbage collection controller configured to stop the garbage collection executed by the garbage collection processor when a total data size of writinglreading of data by commands queued in the storage device is equal to or less than a first value, the commands being issued by the host device and being receivable from the host device in the case where the storage device is connected to the host device.

14. The storage device of claim 13 , wherein the first value comprises a size of a buffer memory in which data written/read to/from the nonvolatile memory are temporarily stored.

15. The storage device of claim 13 , wherein:

the garbage collection includes a first step, a second step and a third step, the first step being a step in which data to be read from a target memory area are determined, the second step being a step in which the data determined are read, the third step being a step in which the read data are written back; and

the garbage collection controller is configured to stop the garbage collection when the garbage collection processor completes one of the first step, the second step and the third step, which is being executed.

16. The storage device of claim 13 , wherein:

the garbage collection includes a first step, a second step and a third step, the first step being a step in which data to be read from a target memory area are determined, the second step being a step in which the data determined are read, the third step being a step in which the read data are written back;

the garbage collection processor is configured to cyclically execute the first step, the second step, and the third step by a first use unit of the nonvolatile memory; and

the garbage collection controller is configured to stop the garbage collection when the garbage collection processor completes the first step, the second step, and the third step for any one of the first use unit.

17. The storage device of claim 13 , wherein the garbage collection controller is configured to perform the determination of whether or not the total data size of writing/reading of data by commands queued in the storage device is equal to or less than the first value in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when notification indicative of a state of the host device indicates that the host device is in a first state, the notification being receivable from the host device in the case where the storage device is connected to the host device.

18. The storage device of claim 13 , wherein the garbage collection controller is configured to perform the determination of whether or not the total data size of writing/reading of data by commands queued in the storage device is equal to or less than the first value in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when notification indicative of a state of the host device indicates that the host device is not in a first state, the notification being receivable from the host device in the case where the storage device is connected to the host device.

19. The storage device of claim 13 , wherein the garbage collection controller is configured to:

calculate a ratio of idle time of the host device based on a history of notifications indicative of the idle time of the host device, the notifications being receivable from the host device in the case where the storage device is connected to the host device;

perform the determination of whether or not the total data size of writing/reading of data by commands queued in the storage device is equal to or less than the first value in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when the notification indicating that the host device is in the first state is received from the host device in a case where the calculated ratio exceeds a reference value; and

perform the determination of whether or not the total data size of writing/reading of data by commands queued in the storage device is equal to or less than the first value in order to determine whether or not the garbage collection being executed by the garbage collection processor is stopped, when the notification indicating that the host device is not in the first state is received from the host device in a case where the calculated ratio is equal to or less than the reference value.

Assignments (2)
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2018
From: YOSHII, KENICHIRO; SUNATA, TETSUYA; IWAI, DAISUKE
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 046825/0968 →
Priority Claims (1)
JP 2018-059835 · Mar 27, 2018 · national
Continuity (1)
Related Publication 20190303289A1 · Oct 3, 2019
Cited By (2)
US 12,315,033 US 12,664,090