IP Library Granted Patent US 10,409,522
Granted Patent B2
US 10,409,522 · App. 15/402,443 · Granted Sep 10, 2019

Reclaiming storage capacity in a dispersed storage network

Inventors: Asimuddin Kazi (Naperville, IL); Jason K. Resch (Chicago, IL)
Assignee: Pure Storage, Inc.
G06F3/0652G06F3/064G06F3/067G06F3/0608G06F3/0619G06F11/073G06F11/0727G06F11/0787G06F11/1076G06F11/1088G06F11/1612H04L67/1097H03M13/1515H03M13/3761
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,409,522
App. No.
15/402,443
Granted
Sep 10, 2019
Kind
B2
Abstract

A method for execution by an integrity processing unit includes determining to reclaim storage capacity of a DSN memory based on utilization information. Slice age information for a plurality of sets of encoded data slices stored in the DSN memory is determined, and a plurality of sets of encoded data slices are selected based on the slice age information. All encoded data slices are identified for deletion when substantially each of the selected plurality of sets includes less than or equal to a decode threshold number of encoded data slices. A subset of encoded data slices is identified for deletion when substantially each of the selected plurality of sets includes more than the decode threshold number of encoded data slices, where removal of the subset of encoded data slices results in at least the decode threshold number of encoded data slices remaining for each selected set of encoded data slices.

Claims (45)

1. A method for execution by an integrity processing unit that includes a processor, the method comprises:

determining to reclaim storage capacity of a DSN memory based on utilization information;

determining slice age information for a plurality of sets of encoded data slices stored in the DSN memory;

selecting a plurality of sets of encoded data slices based on the slice age information;

identifying all encoded data slices of the selected plurality of sets of encoded data slices for deletion when each set of the selected plurality of sets of encoded data slices includes less than or equal to a decode threshold number of encoded data slices;

identifying a subset of encoded data slices of the selected plurality of sets of encoded data slices for deletion when each set of the selected plurality of sets of encoded data slices includes more than the decode threshold number of encoded data slices; and

facilitating deletion of the subset of encoded data slices in response to identifying the subset of encoded data slices for deletion, wherein the deletion of the subset of encoded data slices results in at least the decode threshold number of encoded data slices remaining for each set of encoded data slices of the selected plurality of sets of encoded data slices.

2. The method of claim 1 , wherein the utilization information includes at least one of: a storage capacity level or a storage utilization level.

3. The method of claim 1 , wherein determining to reclaim storage capacity of a DSN memory is based on comparing a storage capacity utilization level to a storage capacity utilization level.

4. The method of claim 1 , wherein the slice age information is extracted from metadata of encoded data slices.

5. The method of claim 1 , wherein selecting the plurality of sets of encoded data slices includes identifying and selecting an old plurality of sets of encoded data slices associated with an oldest slice age of a plurality of stored data objects.

6. The method of claim 1 , further comprising

determining a number of available encoded data slices for each of the plurality of sets of encoded data slices; and

comparing the number of available encoded data slices to the decode threshold number of encoded data slices.

7. The method of claim 1 , wherein identifying the subset of encoded data slices includes selecting encoded slices stored in different storage units for each set of encoded data slices by utilizing a round-robin selection strategy.

8. The method of claim 7 , wherein the round-robin selection strategy is based on an information dispersal algorithm parameter.

9. The method of claim 1 , further comprising removing the identified encoded data slices from storage.

10. The method of claim 1 , further comprising generating a plurality of delete slice requests for transmission to a plurality of storage units, wherein the plurality of delete slice requests includes identifiers of the identified encoded data slices.

11. A processing system of an integrity processing unit comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:

determine to reclaim storage capacity of a DSN memory based on utilization information;

determine slice age information for a plurality of sets of encoded data slices stored in the DSN memory;

select a plurality of sets of encoded data slices based on the slice age information;

identify all encoded data slices of the selected plurality of sets of encoded data slices for deletion when each set of the selected plurality of sets of encoded data slices includes less than or equal to a decode threshold number of encoded data slices;

identify a subset of encoded data slices of the selected plurality of sets of encoded data slices for deletion when each set of the selected plurality of sets of encoded data slices includes more than the decode threshold number of encoded data slices; and

facilitate deletion of the subset of encoded data slices in response to identifying the subset of encoded data slices for deletion, wherein the deletion of the subset of encoded data slices results in at least the decode threshold number of encoded data slices remaining for each set of encoded data slices of the selected plurality of sets of encoded data slices.

12. The processing system of claim 11 , wherein the utilization information includes at least one of: a storage capacity level or a storage utilization level.

13. The processing system of claim 11 , wherein determining to reclaim storage capacity of a DSN memory is based on comparing a storage capacity utilization level to a storage capacity utilization level.

14. The processing system of claim 11 , wherein the slice age information is extracted from metadata of encoded data slices.

15. The processing system of claim 11 , wherein selecting the plurality of sets of encoded data slices includes identifying and selecting an old plurality of sets of encoded data slices associated with an oldest slice age of a plurality of stored data objects.

16. The processing system of claim 11 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

determine a number of available encoded data slices for each of the plurality of sets of encoded data slices; and

compare the number of available encoded data slices to the decode threshold number of encoded data slices.

17. The processing system of claim 11 , wherein identifying the subset of encoded data slices includes selecting encoded slices stored in different storage units for each set of encoded data slices by utilizing a round-robin selection strategy.

18. The processing system of claim 17 , wherein the round-robin selection strategy is based on an information dispersal algorithm parameter.

19. The processing system of claim 11 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to generate a plurality of delete slice requests for transmission to a plurality of storage units, wherein the plurality of delete slice requests includes identifiers of the identified encoded data slices.

20. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to:

determine to reclaim storage capacity of a DSN memory based on utilization information;

determine slice age information for a plurality of sets of encoded data slices stored in the DSN memory;

select a plurality of sets of encoded data slices based on the slice age information;

identify all encoded data slices of the selected plurality of sets of encoded data slices for deletion when each set of the selected plurality of sets of encoded data slices includes less than or equal to a decode threshold number of encoded data slices;

identify a subset of encoded data slices of the selected plurality of sets of encoded data slices for deletion when each set of the selected plurality of sets of encoded data slices includes more than the decode threshold number of encoded data slices; and

facilitate deletion of the subset of encoded data slices in response to identifying the subset of encoded data slices for deletion, wherein the deletion of the subset of encoded data slices results in at least the decode threshold number of encoded data slices remaining for each set of encoded data slices of the selected plurality of sets of encoded data slices.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2017
From: KAZI, ASIMUDDIN; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040933/0442 →
Continuity (3)
Continuation In Part 15075946 · Mar 21, 2016
Provisional Application 62168114 · May 29, 2015
Related Publication 20170123719A1 · May 4, 2017