IP Library › Granted Patent US 11,868,636
Granted Patent B2
US 11,868,636 · App. 17/706,221 · Granted Jan 9, 2024

Prioritizing garbage collection based on the extent to which data is deduplicated

Inventors: Ethan Miller (Santa Cruz, CA); John Colgrove (Los Altos, CA)
Assignee: PURE STORAGE, INC.
G06F3/0644G06F3/0604G06F3/0616G06F3/0652G06F3/0673
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 11,868,636
App. No.
17/706,221
Granted
Jan 9, 2024
Kind
B2
Abstract

Prioritizing garbage collection based on the extent to which data is deduplicated, including: determining, for one or more data elements, a number of deduplicated references to each data element; storing, for each of the data elements, the data element in an area of the storage device that contains other data elements with a similar number of deduplicated references; and adjusting a garbage collection schedule for the storage device, wherein garbage collection operations are performed more frequently on areas of the storage device that contain data elements with a relatively low number of deduplicated references.

Claims (29)

1. A method comprising:

determining, for one or more data elements, a number of deduplicated references to each data element;

identifying wear leveling information associated with one or more storage device locations, wherein the one or more data elements are to be placed in an area of a storage device that contains other data elements with similar expected longevities based on the wear leveling information;

storing, for at least one of the data elements, the data element with other data elements having a similar number of deduplicated references; and

adjusting a garbage collection schedule for the storage device, wherein garbage collection operations are performed more frequently on areas of the storage device that contain data elements with a relatively low number of deduplicated references.

2. The method of claim 1 further comprising providing, to a storage array controller, garbage collection statistics including information describing an actual longevity of one or more data elements.

3. The method of claim 1 wherein storing, for at least one of the data elements, the data element in an area of the storage device that contains other data elements with a similar number of deduplicated references further comprises storing data elements with no deduplicated references in the same area of the storage device.

4. The method of claim 1 wherein storing, for at least one of the data elements, the data element in an area of the storage device that contains other data elements with a similar number of deduplicated references further comprises storing data elements with one or more deduplicated references in the same area of the storage device.

5. The method of claim 1 wherein adjusting the garbage collection schedule for the storage device, wherein garbage collection operations are performed more frequently on areas of the storage device that contain data elements with a relatively low number of deduplicated references further comprises performing garbage collection operations more frequently on areas of the storage device that contain data elements with no deduplicated references than on areas of the storage device that contain data elements with one or more deduplicated references.

6. The method of claim 1 wherein adjusting the garbage collection schedule for the storage device, wherein garbage collection operations are performed more frequently on areas of the storage device that contain data elements with a relatively low number of deduplicated references further comprises prioritizing garbage collection operations on areas of the storage device that contain data elements with no deduplicated references over garbage collection operations on areas of the storage device that contain data elements with one or more deduplicated references.

7. A storage device comprising a computer processor and computer memory, the computer memory comprising computer program instructions that, when executed, cause the storage device to carry out:

determining, for one or more data elements, a number of deduplicated references to each data element;

identifying wear leveling information associated with one or more storage device locations, wherein the one or more data elements are to be placed in an area of a storage device that contains other data elements with similar expected longevities based on the wear leveling information;

storing, for at least one of the data elements, the data element with other data elements having a similar number of deduplicated references; and

adjusting a garbage collection schedule for the storage device, wherein garbage collection operations are performed more frequently on areas of the storage device that contain data elements with a relatively low number of deduplicated references.

8. The storage device of claim 7 further comprising computer program instructions that, when executed, cause the storage device to carry out providing, to a storage array controller, garbage collection statistics including information describing an actual longevity of one or more data elements.

9. The storage device of claim 7 wherein storing, for at least one of the data elements, the data element in an area of the storage device that contains other data elements with a similar number of deduplicated references further comprises storing data elements with no deduplicated references in the same area of the storage device.

10. The storage device of claim 7 wherein storing, for at least one of the data elements, the data element in an area of the storage device that contains other data elements with a similar number of deduplicated references further comprises storing data elements with one or more deduplicated references in the same area of the storage device.

11. The storage device of claim 7 wherein adjusting the garbage collection schedule for the storage device, wherein garbage collection operations are performed more frequently on areas of the storage device that contain data elements with a relatively low number of deduplicated references further comprises performing garbage collection operations more frequently on areas of the storage device that contain data elements with no deduplicated references than on areas of the storage device that contain data elements with one or more deduplicated references.

12. The storage device of claim 7 wherein adjusting the garbage collection schedule for the storage device, wherein garbage collection operations are performed more frequently on areas of the storage device that contain data elements with a relatively low number of deduplicated references further comprises prioritizing garbage collection operations on areas of the storage device that contain data elements with no deduplicated references over garbage collection operations on areas of the storage device that contain data elements with one or more deduplicated references.

13. A computer program product comprising computer program instructions that, when executed, cause a storage device to carry out:

determining, for one or more data elements, a number of deduplicated references to each data element;

identifying wear leveling information associated with one or more storage device locations, wherein the one or more data elements are to be placed in an area of a storage device that contains other data elements with similar expected longevities based on the wear leveling information;

storing, for at least one of the data elements, the data element with other data elements having a similar number of deduplicated references; and

adjusting a garbage collection schedule for the storage device, wherein garbage collection operations are performed more frequently on areas of the storage device that contain data elements with a relatively low number of deduplicated references.

14. The computer program product of claim 13 further comprising computer program instructions that, when executed, cause a storage device to carry out providing, to a storage array controller, garbage collection statistics including information describing an actual longevity of one or more data elements.

15. The computer program product of claim 13 wherein storing, for at least one of the data elements, the data element in an area of the storage device that contains other data elements with a similar number of deduplicated references further comprises storing data elements with no deduplicated references in the same area of the storage device.

16. The computer program product of claim 13 wherein storing, for at least one of the data elements, the data element in an area of the storage device that contains other data elements with a similar number of deduplicated references further comprises storing data elements with one or more deduplicated references in the same area of the storage device.

17. The computer program product of claim 13 wherein adjusting the garbage collection schedule for the storage device, wherein garbage collection operations are performed more frequently on areas of the storage device that contain data elements with a relatively low number of deduplicated references further comprises performing garbage collection operations more frequently on areas of the storage device that contain data elements with no deduplicated references than on areas of the storage device that contain data elements with one or more deduplicated references.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2022
From: MILLER, ETHAN; COLGROVE, JOHN
To: PURE STORAGE, INC.
Reel/Frame 059416/0547 →
Continuity (3)
Continuation 16266600 · Feb 4, 2019
Continuation In Part 14834376 · Aug 24, 2015
Related Publication 20220222004A1 · Jul 14, 2022