IP Library › Granted Patent US 11,216,369
Granted Patent B2
US 11,216,369 · App. 16/997,209 · Granted Jan 4, 2022

Optimizing garbage collection using check pointed data sets

Inventors: Brandon Davis (Mountain View, CA); Wentian Cui (Sunnyvale, CA); Matthew Paul Fay (Mountain View, CA)
Assignee: Pure Storage, Inc.
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 11,216,369
App. No.
16/997,209
Filed
Aug 19, 2020
Granted
Jan 4, 2022
Kind
B2
Art Unit
2132
USPC
711/166
Abstract

A determination as to whether a section of a storage device of a plurality of storage devices of the storage system corresponds to one or more check-pointed data sets of a plurality of check-pointed data sets that identifies one or more regions of the section having overwritten data is made. A garbage collection process is performed on the one or more regions of the section having overwritten data upon determining that the section corresponds to the one or more check-pointed data sets.

Claims (34)

1. A storage system comprising:

a plurality of storage devices: and

a storage controller, operatively coupled to the plurality of storage devices, the storage controller comprising a processing device, the processing device to:

determine whether a section of a storage device of the plurality of storage devices corresponds to one or more check-pointed data sets of a plurality of check-pointed data sets that identifies one or more regions of the section having overwritten data; and

perform a garbage collection process on the one or more regions of the section having overwritten data upon determining that the section corresponds to the one or more check-pointed data sets.

2. The storage system of claim 1 , wherein the processing device is further to:

scan the section of the storage device to identify second overwritten data at the one or more regions of the section, wherein a new check-pointed data set comprising the identified second overwritten data is generated upon identifying the second overwritten data.

3. The storage system of claim 2 , wherein the processing device is further to:

convert a logical space associated with the second overwritten data at the one or more regions to a physical space at the one or more regions, wherein the new check-pointed data set comprises the physical space associated with the second overwritten data.

4. The storage system of claim 2 , wherein a frequency of scanning the section of the storage device is determined based on a performance threshold.

5. The storage system of claim 1 , wherein the one or more check-pointed data sets indicate data at the one or more regions that is not be garbage collected, wherein the processing device is to prevent the performance of the garbage collection process on the data indicated by the one or more check-pointed data sets.

6. The storage system of claim 1 , wherein the plurality of check-pointed data sets comprise modifications to data stored at erase blocks of the section of the storage device.

7. The storage system of claim 1 , wherein the plurality of storage devices comprise direct-mapped storage devices.

8. A method, comprising:

determining, by a processing device of a storage controller of a storage system, whether a section of a storage device of a plurality of storage devices of the storage system corresponds to one or more check-pointed data sets of a plurality of check-pointed data sets that identifies one or more regions of the section having overwritten data; and

performing a garbage collection process on the one or more regions of the section having overwritten data upon determining that the section corresponds to the one or more check-pointed data sets.

9. The method of claim 8 , further comprising:

scanning the section of the storage device to identify second overwritten data at the one or more regions of the section, wherein a new check-pointed data set comprising the identified second overwritten data is generated upon identifying the second overwritten data.

10. The method of claim 9 , further comprising:

convert a logical space associated with the second overwritten data at the one or more regions to a physical space of the one or more regions, wherein the new check-pointed data set comprises the physical space associated with the second overwritten data.

11. The method of claim 9 , wherein a frequency of scanning the section of the storage device is determined based on a performance threshold.

12. The method of claim 8 , wherein the one or more check-pointed data sets indicate data at the one or more regions that is not be garbage collected, wherein the processing device is to prevent the performance of the garbage collection process on the data indicated by the one or more check-pointed data sets.

13. The method of claim 8 , wherein the plurality of check-pointed data sets comprise modifications to data stored at erase blocks of the section of the storage device.

14. The method of claim 8 , wherein the plurality of storage devices comprise direct-mapped storage devices.

15. A non-transitory computer-readable medium comprising instructions, which when executed, cause a processing device of a storage controller to:

determine, by the processing device, whether a section of a storage device of a plurality of storage devices of a storage system corresponds to one or more check-pointed data sets of a plurality of check-pointed data sets that identifies one or more regions of the section having overwritten data; and

perform a garbage collection process on the one or more regions of the section having overwritten data upon determining that the section corresponds to the one or more check-pointed data sets.

16. The non-transitory computer-readable medium of claim 15 , wherein the processing device is further to:

scan the section of the storage device to identify second overwritten data at the one or more regions of the section, wherein a new check-pointed data set comprising the identified second overwritten data is generated upon identifying the second overwritten data.

17. The non-transitory computer-readable medium of claim 16 , wherein the processing device is further to:

convert a logical space associated with the second overwritten data at the one or more regions to a physical space of the one or more regions, wherein the new check-pointed data set comprises the physical space associated with the second overwritten data.

18. The non-transitory computer-readable medium of claim 16 , wherein a frequency of scanning the section of the storage device is determined based on a performance threshold.

19. The non-transitory computer-readable medium of claim 15 , wherein the one or more check-pointed data sets indicate data at the one or more regions that is not be garbage collected, wherein the processing device is to prevent the performance of the garbage collection process on the data indicated by the one or more check-pointed data sets.

20. The non-transitory computer-readable medium of claim 15 , wherein the plurality of check-pointed data sets comprise modifications to data stored at erase blocks of the section of the storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2020
From: DAVIS, BRANDON; CUI, WENTIAN; FAY, MATTHEW PAUL
To: PURE STORAGE, INC.
Reel/Frame 053538/0716 →
Continuity (2)
Continuation 16170596 · Oct 25, 2018
Related Publication 20200379904A1 · Dec 3, 2020
Cited By (1)
US 12,699,522