IP Library › Granted Patent US 10,719,439
Granted Patent B2
US 10,719,439 · App. 15/696,462 · Granted Jul 21, 2020

Garbage collection of a storage device

Inventors: Ryan James Goss (Shakopee, MN); Siddhartha K. Panda (Bangalore, IN); Daniel J. Benjamin (Shakopee, MN); Ryan C. Weidemann (Shakopee, MN)
Assignee: Seagate Technology LLC
G06F12/0261G06F3/0616G06F3/0619G06F3/0652G06F3/0655G06F3/0659G06F3/0679G06F2212/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,719,439
App. No.
15/696,462
Granted
Jul 21, 2020
Kind
B2
Abstract

A method operable with the storage device includes determining a workload to the storage device based on host Input/Output (I/O) requests to the storage device. When the workload is above a threshold, a first portion of the storage device is selected for garbage collection based on the I/O requests. Otherwise, when the workload is below the threshold, a second different portion of the storage device is selected for garbage collection based on a storage ability of the second portion of the storage device.

Claims (37)

1. A method operable with a storage device, the method comprising:

determining a workload of the storage device based on a size and frequency of I/O requests received by the storage device from a host system;

determining whether the workload is above a threshold;

if the workload is above the threshold, selecting a first portion of the storage device for garbage collection, the first portion comprising blocks of the storage device where garbage collection will occur relatively fast; and

if the workload is below the threshold, selecting a second different portion of the storage device for garbage collection, the second portion comprising blocks of the storage device where garbage collection will provide a largest data storage capacity.

2. The method of claim 1 , wherein:

the storage device is a NAND flash storage device, a magnetoresistive storage device, a magnetic recording medium, or a combination thereof.

3. The method of claim 1 , wherein selecting the first portion of the storage device further comprises selecting blocks of the storage device having a data storage capacity required by the I/O requests.

4. The method of claim 1 , further comprising:

predicting the workload; and

selecting a third portion of the storage device for garbage collection in anticipation of the predicted workload.

5. The method of claim 4 , further comprising:

predicting the workload based on a time of day.

6. The method of claim 1 , wherein selecting the first portion of the storage device comprises selecting one or more blocks of the storage device with a largest amount of invalid data.

7. A non-transitory computer readable medium comprising instructions that, when executed by a controller of a storage device, direct the controller to:

determine a workload of the storage device based on a size and frequency of I/O requests received by the storage device from a host system;

determine whether the workload is above a threshold;

if the workload is above the threshold, select a first portion of the storage device for garbage collection, the first portion comprising blocks of the storage device where garbage collection will occur relatively fast; and

if the workload is below the threshold, select a second different portion of the storage device for garbage collection, the second portion comprising blocks of the storage device where garbage collection will provide a largest data storage capacity.

8. The computer readable medium of claim 7 , wherein:

the storage device is a NAND flash storage device, a magnetoresistive storage device, a magnetic recording medium, or a combination thereof.

9. The computer readable medium of claim 7 , wherein selecting the first portion of the storage device further comprises selecting blocks of the storage device having a data storage capacity required by the I/O requests.

10. The computer readable medium of claim 7 , further comprising instructions that direct the controller to:

predict the workload; and

select a third portion of the storage device for garbage collection in anticipation of the predicted workload.

11. The computer readable medium of claim 10 , further comprising instructions that direct the controller to:

predict the workload based on a time of day.

12. The computer readable medium of claim 7 , wherein selecting the first portion of the storage device comprises selecting one or more blocks of the storage device with a largest amount of invalid data.

13. A system, comprising:

a storage device operable to persistently store data; and

a controller operable to determine a workload of the storage device based on a size and frequency of I/O requests received by the storage device from a host system, and when the workload is above a threshold, select a first portion of the storage device for garbage collection, the first portion comprising blocks of the storage device where garbage collection will occur relatively fast, else when the workload is below the threshold, select a second different portion of the storage device for garbage collection based on a storage ability of the second portion of the storage device, the second portion comprising blocks of the storage device where garbage collection will provide a largest data storage capacity.

14. The system of claim 13 , wherein:

the storage device is a NAND flash storage device, a magnetoresistive storage device, a magnetic recording medium, or a combination thereof.

15. The system of claim 13 , wherein selecting the first portion of the storage device further comprises selecting blocks of the storage device having a data storage capacity required by the I/O requests.

16. The system of claim 13 , wherein:

the controller is further operable to predict the workload based on a time of day, and to select a third portion of the storage device for garbage collection in anticipation of the predicted workload.

17. The system of claim 13 , wherein selecting the first portion of the storage device comprises selecting one or more blocks of the storage device with a largest amount of invalid data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2017
From: GOSS, RYAN JAMES; PANDA, SIDDHARTHA K.; BENJAMIN, DANIEL J.; WEIDEMANN, RYAN C
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 043499/0772 →
Continuity (1)
Related Publication 20190073297A1 · Mar 7, 2019