IP Library Granted Patent US 10,324,657
Granted Patent B2
US 10,324,657 · App. 15/353,486 · Granted Jun 18, 2019

Accounting for data whose rebuilding is deferred

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,324,657
App. No.
15/353,486
Granted
Jun 18, 2019
Kind
B2
Abstract

Systems and methods for accounting for data whose rebuilding is deferred in a dispersed storage network. The methods include determining a number of compromised slices associated with a dispersed storage unit. The number of existing slices associated with the dispersed storage unit is also determined. A comparison of the number of compromised slices plus the number of existing slices associated with the dispersed storage unit, to a storage capacity, is performed in order to produce a capacity determination. Write requests directed towards the dispersed storage unit may be failed based on the capacity determination. For example, the DS unit may fail write requests, when a write request would cause the dispersed storage unit to exceed the storage capacity of the dispersed storage unit when taking into consideration existing slices as well as compromised slices that need to be rebuilt.

Claims (54)

1. A method of managing data storage in a dispersed storage network, the dispersed storage network including a plurality of dispersed storage units, the method comprising:

determining a number of compromised encoded data slices associated with a first dispersed storage unit of the plurality of dispersed storage units;

determining a number of existing stored encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units;

comparing the number of compromised encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units plus the number of existing stored encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units to a storage capacity of the first dispersed storage unit of the plurality of dispersed storage units to produce a capacity determination, wherein the number of compromised encoded data slices reflects a number of corresponding deferred rebuilds; and

failing write requests to the first dispersed storage unit of the plurality of dispersed storage units based on the capacity determination, and

wherein a combination of the number of existing stored encoded data slices and the number of corresponding deferred rebuilds exceeds the capacity determination and the fail write requests prevents writing of additional encoded data slices beyond the capacity determination.

2. The method of claim 1 , wherein compromised encoded data slices include one or more of bad slices and missing slices.

3. The method of claim 1 , further comprising sending a report for receipt by a dispersed storage processing unit the report including the number of compromised encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units.

4. The method of claim 3 , wherein the report is used for quota enforcement.

5. The method of claim 3 , wherein the report is used for storage location selection.

6. The method of claim 3 , wherein the report is used for allotment enforcement.

7. The method of claim 3 , wherein the report is used for capacity planning.

8. A dispersed storage unit for managing data storage in a dispersed storage network, the dispersed storage network including a plurality of dispersed storage units, the dispersed storage unit comprising:

a memory; and

a computer processor;

where the memory includes instructions for causing the computer processor to:

determine a number of compromised encoded data slices associated with a first dispersed storage unit of the plurality of dispersed storage units;

determine a number of existing stored encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units;

compare the number of compromised encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units plus the number of existing stored encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units to a storage capacity of the first dispersed storage unit of the plurality of dispersed storage units to produce a capacity

determination, wherein the number of compromised encoded data slices reflects a number of corresponding deferred rebuilds; and

fail write requests to the first dispersed storage unit of the plurality of dispersed storage units based on the capacity determination, and

wherein a combination of the number of existing stored encoded data slices and the number of corresponding deferred rebuilds exceeds the capacity determination and the fail write requests prevents writing of additional encoded data slices beyond the capacity determination.

9. The dispersed storage unit of claim 8 , wherein compromised encoded data slices include one or more of bad slices and missing slices.

10. The dispersed storage unit of claim 8 , wherein the memory includes instructions for further causing the computer processor to send a report for receipt by a dispersed storage processing unit the report including the number of compromised encoded data slices associated with the dispersed storage unit.

11. The dispersed storage unit of claim 10 , wherein the report is used for quota enforcement.

12. The dispersed storage unit of claim 10 , wherein the report is used for storage location selection.

13. The dispersed storage unit of claim 10 , wherein the report is used for allotment enforcement.

14. The dispersed storage unit of claim 10 , wherein the report is used for capacity planning.

15. A dispersed storage network comprising:

a dispersed storage processing unit;

a plurality of dispersed storage units;

a first dispersed storage unit of the plurality of dispersed storage units including:

a first memory; and

a first computer processor;

where the first memory includes instructions for causing the first computer processor to:

determine a number of compromised encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units;

determine a number of existing stored encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units;

compare the number of compromised encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units plus the number of existing stored encoded data slices associated with the first dispersed storage unit of the plurality of dispersed storage units to a storage capacity of the first dispersed storage unit of the plurality of dispersed storage units to produce a capacity determination, wherein the number of compromised encoded data slices reflects a number of corresponding deferred rebuilds; and

fail write requests to the first dispersed storage unit of the plurality of dispersed storage units based on the capacity determination, and

wherein a combination of the number of existing stored encoded data slices and the number of corresponding deferred rebuilds exceeds the capacity determination and the fail write requests prevents writing of additional encoded data slices beyond the capacity determination.

16. The dispersed storage network of claim 15 , wherein compromised encoded data slices include one or more of bad slices and missing slices.

17. The dispersed storage network of claim 15 , wherein the first memory includes instructions for further causing the first computer processor to send a report for receipt by the dispersed storage processing unit the report including the number of compromised encoded data slices associated with the dispersed storage unit.

18. The dispersed storage network of claim 17 , wherein the dispersed storage processing unit includes:

a second memory; and

a second computer processor;

wherein the second memory includes instructions for causing the second computer processor to use the report for quota enforcement.

19. The dispersed storage network of claim 17 , wherein the dispersed storage processing unit includes:

a second memory; and

a second computer processor;

wherein the second memory includes instructions for causing the second computer processor to use the report for storage location selection.

20. The dispersed storage network of claim 17 , wherein the dispersed storage processing unit includes:

a second memory; and

a second computer processor;

wherein the second memory includes instructions for causing the second computer processor to use the report for allotment enforcement.

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 Nov 16, 2016
From: LEGGETTE, WESLEY B.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040347/0868 →