IP Library › Granted Patent US 8,458,417
Granted Patent B2
US 8,458,417 · App. 12/721,466 · Granted Jun 4, 2013

Garbage collection in a storage device

Inventors: Ryan J. Goss (Lakeville, MN); Kevin Gomez (Eden Prairie, MN); Mark Allen Gaertner (Vadnais Heights, MN)
Assignee: Seagate Technology LLC
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 8,458,417
App. No.
12/721,466
Granted
Jun 4, 2013
Kind
B2
Abstract

In general, this disclosure relates to garbage collection in a storage device. Aspects of this disclosure describe techniques to identify one or more candidate memory storage blocks that should be recycled during garbage collection. The one or more candidate memory storage blocks may be identified based at least on monitored soft metrics of the candidate memory storage blocks. During garbage collection, the identified one or more candidate memory storage blocks may be recycled to free up storage space.

Claims (65)

1. A storage device comprising:

one or more memory storage blocks comprising non-volatile solid state memory; and

a controller configured to:

monitor one or more metrics associated with reading the one or more memory storage blocks, wherein the one or more metrics are indicative of read disturb in the one or more memory storage blocks;

identify at least one memory storage block of the one or more memory storage blocks as a candidate memory storage block for garbage collection based at least on the monitoring of the one or more metrics associated with the at least one memory storage block and in response to the one or more metrics indicating that the candidate memory storage block is more susceptible to read disturb than other memory storage blocks of the device;

process a request for the garbage collection of data stored within the one or more memory storage blocks; and

in response to the request for the garbage collection, erase the candidate memory storage block during the garbage collection.

2. The storage device of claim 1 , wherein the controller is configured to identify, in response to the request for the garbage collection, at least one memory storage block of the one or more memory blocks as the candidate memory storage block.

3. The storage device of claim 1 , wherein the one or more memory storage blocks comprise one or more erasure blocks.

4. The storage device of claim 1 , wherein the controller is further configured to:

monitor one or more additional metrics associated with program and erase of the one or more memory storage blocks; and

identify at least one memory storage block of the one or more memory storage blocks as a candidate memory storage block for the garbage collection based on both the monitoring of the one or more metrics associated with the at least one memory storage block and the monitoring of the one or more additional metrics associated with the at least one memory storage block.

5. The storage device of claim 4 , wherein the one or more additional metrics comprise at least one of a number of invalid physical blocks contained within the one or more memory storage blocks, a number of times physical blocks contained within the one or more memory storage blocks is programmed, and a number of times physical blocks contained with the one or more memory storage blocks is erased.

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

monitor a temperature of the storage device; and

identify at least one memory storage block as the candidate memory storage block for garbage collection based at least on the monitoring of the one or more metrics associated with the at least one memory storage block and the temperature of the device.

7. The storage device of claim 1 , wherein the controller is configured to:

copy valid data within one or more physical blocks of the candidate memory block into one or more physical blocks of another one of the one or more memory storage blocks or buffer of a memory block; and

erase the data within the one or more physical blocks of the candidate memory storage block to recycle the candidate memory storage block during the garbage collection.

8. The storage device of claim 1 , wherein the controller is configured to erase invalid data within the one or more physical blocks of the candidate memory storage block to recycle the candidate memory storage block during the garbage collection.

9. The storage device of claim 1 , wherein a first memory block of the one or more memory blocks comprises non-volatile memory and a second memory block of the one or more memory blocks comprises volatile memory.

10. The storage device of claim 1 , wherein the one or more metrics comprise at least one of:

a number of physical block reads within the one or more memory storage blocks;

a frequency of physical block reads within the one or more memory storage blocks;

a duration between access to the one or more memory storage blocks;

transistor voltages; and

data corruption characteristics for one or more physical blocks within the one or more memory storage.

11. A method comprising:

monitoring, by a device, one or more metrics associated with reading one or more non-volatile solid state memory storage blocks of the device, wherein the one or more metrics are indicative of read disturb in the one or more memory storage blocks;

identifying, by the device, at least one memory storage block of the one or more memory storage blocks as a candidate memory storage block for garbage collection in response to the monitoring of the one or more metrics associated with the at least one memory storage block and in response to the one or more metrics indicating that the candidate memory storage block is more susceptible to read disturb than other memory storage blocks of the device;

processing, by the device, a request for the garbage collection of data stored within the device; and

in response to the request for the garbage collection, erasing, by the device, the candidate memory storage block during the garbage collection.

12. The method of claim 11 , wherein identifying at least one memory storage block of the one or more memory storage blocks as a candidate memory storage block comprises identifying, in response to the request for the garbage collection, at least one memory storage block of the one or more memory blocks as the candidate memory storage block.

13. The method of claim 11 , wherein the one or more memory storage blocks comprise one or more erasure blocks.

14. The method of claim 11 , further comprising:

monitoring one or more additional metrics associated with program and erase of the one or more memory storage blocks,

wherein identifying at least one memory storage block of the one or more memory storage blocks as a candidate memory storage block for garbage collection comprises identifying at least one memory storage block of the one or more memory storage blocks as a candidate for the garbage collection based on both the monitoring of the one or more metrics associated with the at least one memory storage block and the monitoring of the one or more additional metrics associated with the at least one memory block.

15. The method of claim 14 , wherein the one or more additional metrics comprise at least one of a number of invalid physical blocks contained within the one or more memory storage blocks, a number of times physical blocks contained within the one or more memory storage blocks is programmed, and a number of times physical blocks contained with the one or more memory storage blocks is erased.

16. The method of claim 11 , further comprising:

monitoring a temperature of the device,

wherein identifying at least one memory storage block comprises identifying the at least one memory storage block as the candidate memory storage block for garbage collection based at least on the monitoring of the one or more metrics associated with the at least one memory storage block and the temperature of the device.

17. The method of claim 11 , wherein erasing the candidate memory storage block during the garbage collection comprises:

copying valid data within one or more physical blocks of the candidate memory block into one or more physical blocks of another one of the one or more memory storage blocks of a buffer of a memory block; and

erasing the data within the one or more physical blocks of the candidate memory storage block.

18. The method of claim 11 , wherein erasing the candidate memory storage block during the garbage collection comprises erasing invalid data within the one or more physical blocks of the candidate memory storage block.

19. The method of claim 11 , wherein the one or more metrics comprise at least one of:

a number of physical block reads within the one or more memory storage blocks;

a frequency of physical block reads within the one or more memory storage blocks;

a duration between access to the one or more memory storage blocks;

transistor voltages; and

data corruption characteristics for one or more physical blocks within the one or more memory storage.

20. A machine readable storage medium comprising instructions that cause one or more machines to:

monitor one or more metrics associated with one or more non-volatile solid state memory storage blocks of a device, wherein the one or more metrics are indicative of read disturb in the one or more memory storage blocks;

identify at least one memory storage block of the one or more memory storage blocks as a candidate memory storage block for garbage collection based at least on the monitoring of the one or more metrics associated with the at least one memory storage block and in response to the one or more metrics indicating that the candidate memory storage block is more susceptible to read disturb than other memory storage blocks of the device;

process a request for the garbage collection of data stored within the device; and

in response to the request for the garbage collection, erase the candidate memory storage block during the garbage collection.

21. The machine readable storage medium of claim 20 , further comprising instructions that cause the one or more machines to:

monitor one or more additional metrics associated with the one or more memory storage blocks,

wherein the instructions to identify at least one memory storage block comprise instructions to identify at least one memory storage block of the one or more memory storage blocks as a candidate for the garbage collection based on both the monitoring of the one or more metrics associated with the at least one memory storage block and the monitoring of the one or more additional metrics associated with the at least one memory block, wherein the one or more additional metrics comprise at least one of a number of invalid physical blocks contained within the one or more memory storage blocks, a number of times physical blocks contained within the one or more memory storage blocks is programmed, and a number of times physical blocks contained with the one or more memory storage blocks is erased.

22. The machine readable storage medium of claim 20 , further comprising instructions to:

monitor a temperature of the device,

wherein the instructions to identify at least one memory storage block comprise instructions to identify the at least one memory storage block as the candidate memory storage block for garbage collection based at least on the monitoring of the one or more metrics associated with the at least one memory storage block and the temperature of the device.

23. The machine readable storage medium of claim 20 , wherein the instructions to erase the candidate memory storage block during the garbage collection comprise instructions to:

copy valid data within one or more physical blocks of the candidate memory block into one or more physical blocks of another one of the one or more memory storage blocks or a buffer of a memory block; and

erase the data within the one or more physical blocks of the candidate memory storage block.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jul 23, 2025
From: THE BANK OF NOVA SCOTIA
To: SEAGATE TECHNOLOGY PUBLIC LIMITED COMPANY; SEAGATE TECHNOLOGY; SEAGATE TECHNOLOGY HDD HOLDINGS; I365 INC.; SEAGATE TECHNOLOGY LLC; SEAGATE TECHNOLOGY INTERNATIONAL; SEAGATE HDD CAYMAN; SEAGATE TECHNOLOGY (US) HOLDINGS, INC.
Reel/Frame 072193/0001 →
SECURITY AGREEMENT Recorded Mar 24, 2011
From: SEAGATE TECHNOLOGY LLC
To: THE BANK OF NOVA SCOTIA, AS ADMINISTRATIVE AGENT
Reel/Frame 026010/0350 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2010
From: GOSS, RYAN J.; GOMEZ, KEVIN; GAERTNER, MARK ALLEN
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 024061/0551 →
Continuity (1)
Related Publication 20110225346A1 · Sep 15, 2011