IP Library Granted Patent US 9,690,700
Granted Patent B2
US 9,690,700 · App. 15/146,634 · Granted Jun 27, 2017

Host-driven garbage collection

Inventors: Sang Hoon Choi (Seoul, KR); Hyung Jin Im (Hwaseong-si, KR); Jeong Uk Kang (Bucheon-si, KR); Moon Sang Kwon (Seoul, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F12/0253G06F3/06G06F12/0246G06F12/0269G06F2212/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 9,690,700
App. No.
15/146,634
Granted
Jun 27, 2017
Kind
B2
Abstract

A host receives information related to garbage collection of a storage device, and the host controls selective execution of garbage collection by the storage device according to the received information.

Claims (56)

1. An operating method of a storage device, the method comprising:

transmitting, to an host device, a garbage collection information of the storage device, the garbage collection information indicating an amount of programmable free space in the storage device;

receiving, from the host device, an garbage collection instruction generated based on the garbage collection information; and

selectively executing garbage collection according to the received instruction,

wherein the garbage collection instruction comprises a garbage collection command and a parameter value, the parameter value indicating a first threshold value of programmable free space below which the storage device is to initiate incremental garbage collection, and

wherein the parameter value is variable and is indicated by one of a number of free blocks and a portion of free blocks in the storage device.

2. The method of claim 1 , wherein the parameter value is set based on an analyzed data pattern, the analyzed data pattern including information related to the amount of data to be transmitted to the storage device.

3. The method of claim 2 , wherein the parameter value is set to have a higher value when the analyzed data pattern indicates increasing of the amount of data to be transmitted to the storage device.

4. The method of claim 1 , wherein the selective execution of the garbage collection comprises:

determining whether a level of programmable free space in the storage device is below the first threshold value received from the host device; and

initiating incremental garbage collection upon determining that the level of the programmable free space in the storage device is below the first threshold value.

5. The method of claim 1 , wherein the method further comprises:

receiving a command, from the host device, requesting the garbage collection information; and

transmitting the garbage collection information in response to the command.

6. The method of claim 1 , wherein the method further comprises:

receiving a command, from the host device, requesting for the storage device to stop the incremental garbage collection and to perform a request for new garbage collection information; and

stopping the incremental garbage collection and performing the request for new garbage collection information.

7. The method of claim 1 , wherein the method further comprises:

executing a forced garbage collection without a request from the host device if the programmable free space in the storage device falls below a second threshold value; and

ending the forced garbage collection if the programmable free space in the storage device reaches the second threshold value.

8. The method of claim 7 , wherein the second threshold value is smaller than the first threshold value.

9. The method of claim 7 , wherein no further memory access operation of the storage device is allowed during the forced garbage collection.

10. An operating method of a host device, the method comprising:

receiving, from a storage device, a garbage collection information of the storage device; and

transmitting, to the storage device, a garbage collection instruction generated based on the garbage collection information,

wherein the garbage collection instruction comprises a garbage collection command and a parameter value, the parameter value indicating a first threshold value of programmable free space below which the storage device is to initiate incremental garbage collection, and

wherein the parameter value is variable and is indicated by one of a number of free blocks and a portion of free blocks in the storage device.

11. The method of claim 10 , wherein the parameter value is set based on an analyzed data pattern, the analyzed data pattern including information related to the amount of data to be transmitted to the storage device.

12. The method of claim 11 , wherein the parameter value is set to have a higher value when the analyzed data pattern indicates increasing of the amount of data to be transmitted to the storage device.

13. The method of claim 11 , wherein the method further comprises:

transmitting a command, to the storage device, requesting the garbage collection information; and

receiving the garbage collection information from the storage device.

14. The method of claim 11 , wherein the method further comprises:

transmitting a command, to the storage device, requesting for the storage device to stop the incremental garbage collection.

15. An operating method of a storage device, the method comprising:

transmitting, to a host device, a garbage collection information of the storage device, the garbage collection information indicating an amount of programmable free space in the storage device;

receiving, from the host device, an garbage collection instruction generated in response to the garbage collection information; and

selectively executing garbage collection according to the received instruction,

wherein the instruction comprises a garbage collection command and a parameter value, the parameter value indicating at least one of an execution period for the garbage collection and a quantity of memory to be freed through the garbage collection command, and

wherein the parameter value is variable.

16. The method of claim 15 , wherein the parameter value is indicated by one of a time period and a number of blocks to be freed in the storage device.

17. The method of claim 16 , wherein the time period indicates an execution period for the garbage collection to be performed in response to the garbage collection command.

18. The method of claim 15 , wherein the selective execution of the garbage collection comprises:

determining whether a level of programmable free space in the storage device is below a first threshold value received from the host device; and

initiating incremental garbage collection upon determining that the level of the programmable free space in the storage device is below the first threshold value.

19. The method of claim 15 , wherein the method further comprises:

receiving a command, from the host device, requesting the garbage collection information; and

transmitting the garbage collection information in response to the command.

20. The method of claim 15 , wherein the method further comprises:

receiving a command, from the host, requesting for the storage device to stop the incremental garbage collection; and

stopping the incremental garbage collection.

21. The method of claim 15 , wherein the method further comprises:

executing a forced garbage collection without a request from the host device if the programmable free space in the storage device falls below a second threshold value; and

ending the forced garbage collection if the programmable free space in the storage device reaches the second threshold value.

22. The method of claim 21 , wherein the second threshold value is smaller than the first threshold value.

23. The method of claim 21 , wherein no further memory access operation of the storage device is allowed during the forced garbage collection.

Priority Claims (1)
KR 10-2013-0028312 · Mar 15, 2013 · national
Continuity (2)
Continuation 14212297 · Mar 14, 2014
Related Publication 20160246713A1 · Aug 25, 2016