IP Library Granted Patent US 9,501,349
Granted Patent B2
US 9,501,349 · App. 14/336,195 · Granted Nov 22, 2016

Changing dispersed storage error encoding parameters

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 9,501,349
App. No.
14/336,195
Granted
Nov 22, 2016
Kind
B2
Abstract

A method begins with a processing module of a dispersed storage network (DSN) maintaining, over time, a continuum of time-to-repair information regarding a plurality of storage units of the DSN and maintaining, over time, a continuum of time-to-failure information regarding the plurality of storage units. When the continuum of time-to-repair information and the continuum of time-to-failure information are each below undesired levels, the method continues with the processing module changing dispersed storage error encoding parameters of a logical storage vault of the DSN by lowering a decode threshold number with respect to a current decode threshold number and increasing a pillar width number with respect to a current pillar width number. The method continues with the processing module re-encoding stored encoded data of the logical storage vault based on the increased pillar width number and the decreased decode threshold number.

Claims (114)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

maintaining, over time, a continuum of time-to-repair information regarding a plurality of storage units of the DSN;

maintaining, over time, a continuum of time-to-failure information regarding the plurality of storage units; and

when the continuum of time-to-repair information and the continuum of time-to-failure information are each below undesired levels:

changing dispersed storage error encoding parameters of a logical storage vault of the DSN by lowering a decode threshold number with respect to a current decode threshold number and increasing a pillar width number with respect to a current pillar width number; and

re-encoding stored encoded data of the logical storage vault based on the increased pillar width number and the lowered decode threshold number.

2. The method of claim 1 , wherein the re-encoding comprises:

for an encoded data segment of an encoded data object of the stored encoded data:

retrieving a set of encoded data slices from a set of storage units of the plurality of storage units, wherein a data segment is dispersed storage error encoded in accordance with the current pillar width number and the current decode threshold number to produce the set of encoded data slices, and wherein the set of encoded data slices includes at least the current decode threshold number of encoded data slices;

decoding the set of encoded data slices to recapture the data segment; and

dispersed storage error encoding the recaptured data segment using the increased pillar width number and the lowered decode threshold number to produce a second set of encoded data slices.

3. The method of claim 1 further comprises:

when the continuum of time-to-failure information is below an undesired failure level and the continuum of time-to-repair information is at or above a desired repair level:

changing the dispersed storage error encoding parameters of the logical storage vault of the DSN by increasing a ratio between the current decode threshold number and the current pillar width number; and

re-encoding the stored encoded data of the logical storage vault based on the increased ratio between the current decode threshold number and the current pillar width number.

4. The method of claim 3 further comprises:

increasing the ratio between the current decode threshold number and the current pillar width number by:

maintaining the decode threshold number at the current decode threshold number; and

increasing the pillar width number with respect to the current pillar width number.

5. The method of claim 1 further comprises:

when the continuum of time-to-repair information is below an undesired repair level and the continuum of time-to-failure information is at or above a desired failure level:

changing the dispersed storage error encoding parameters of the logical storage vault of the DSN by decreasing the decode threshold number with respect to the current decode threshold number, decreasing the pillar width number with respect to the current pillar width number, and maintaining a constant ratio between the pillar width number and the decode threshold number; and

re-encoding the stored encoded data of the logical storage vault based on the decreased pillar width number and the decreased decode threshold number.

6. The method of claim 1 further comprises:

when the continuum of time-to-repair information is below an undesired repair level and the continuum of time-to-failure information is at or above a desired failure level:

changing the dispersed storage error encoding parameters of the logical storage vault of the DSN by maintaining the decode threshold number at the current decode threshold number and decreasing the pillar width number with respect to the current pillar width number; and

re-encoding the stored encoded data of the logical storage vault based on the decreased pillar width number and the current decode threshold number.

7. The method of claim 1 further comprises:

when the continuum of time-to-repair information is below an undesired repair level and the continuum of time-to-failure information is at or above a desired failure level:

changing the dispersed storage error encoding parameters of the logical storage vault of the DSN by decreasing, by a first value, the decode threshold number with respect to the current decode threshold number and decreasing, by a second value, the pillar width number with respect to the current pillar width number; and

re-encoding the stored encoded data of the logical storage vault based on the decreased pillar width number and the decreased decode threshold number.

8. The method of claim 1 , wherein the continuum of time-to-repair information comprises:

an on-going and evolving tabulation of a measure of time spent repairing hardware failures of the plurality of storage units and a measure of data processing resource spend to repopulate repaired hardware of the plurality of storage units.

9. The method of claim 1 , wherein the continuum of time-to-failure information comprises:

an on-going and evolving tabulation of a measure of time between hardware failures of the plurality of storage units.

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

at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to:

maintain, over time, a continuum of time-to-repair information regarding a plurality of storage units of the DSN;

maintain, over time, a continuum of time-to-failure information regarding the plurality of storage units; and

when the continuum of time-to-repair information and the continuum of time-to-failure information are each below undesired levels:

change dispersed storage error encoding parameters of a logical storage vault of the DSN by lowering a decode threshold number with respect to a current decode threshold number and increasing a pillar width number with respect to a current pillar width number; and

re-encode stored encoded data of the logical storage vault based on the increased pillar width number and the lowered decode threshold number.

11. The non-transitory computer readable storage medium of claim 10 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the DSN to re-encode by:

for an encoded data segment of an encoded data object of the stored encoded data:

retrieving a set of encoded data slices from a set of storage units of the plurality of storage units, wherein a data segment is dispersed storage error encoded in accordance with the current pillar width number and the current decode threshold number to produce the set of encoded data slices, and wherein the set of encoded data slices includes at least the current decode threshold number of encoded data slices;

decoding the set of encoded data slices to recapture the data segment; and

dispersed storage error encoding the recaptured data segment using the increased pillar width number and the lowered decode threshold number to produce a second set of encoded data slices.

12. The non-transitory computer readable storage medium of claim 10 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

when the continuum of time-to-failure information is below an undesired failure level and the continuum of time-to-repair information is at or above a desired repair level:

change the dispersed storage error encoding parameters of the logical storage vault of the DSN by increasing a ratio between the current decode threshold number and the current pillar width number; and

re-encode the stored encoded data of the logical storage vault based on the increased ratio between the current decode threshold number and the current pillar width number.

13. The non-transitory computer readable storage medium of claim 12 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the DSN to increase the ratio between the current decode threshold number and the current pillar width number by:

maintaining the decode threshold number at the current decode threshold number; and

increasing the pillar width number with respect to the current pillar width number.

14. The non-transitory computer readable storage medium of claim 10 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

when the continuum of time-to-repair information is below an undesired repair level and the continuum of time-to-failure information is at or above a desired failure level:

change the dispersed storage error encoding parameters of the logical storage vault of the DSN by decreasing the decode threshold number with respect to the current decode threshold number, decreasing the pillar width number with respect to the current pillar width number, and maintaining a constant ratio between the pillar width number and the decode threshold number; and

re-encode the stored encoded data of the logical storage vault based on the decreased pillar width number and the decreased decode threshold number.

15. The non-transitory computer readable storage medium of claim 10 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

when the continuum of time-to-repair information is below an undesired repair level and the continuum of time-to-failure information is at or above a desired failure level:

change the dispersed storage error encoding parameters of the logical storage vault of the DSN by maintaining the decode threshold number at the current decode threshold number and decreasing the pillar width number with respect to the current pillar width number; and

re-encode the stored encoded data of the logical storage vault based on the decreased pillar width number and the current decode threshold number.

16. The non-transitory computer readable storage medium of claim 10 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

when the continuum of time-to-repair information is below an undesired repair level and the continuum of time-to-failure information is at or above a desired failure level:

change the dispersed storage error encoding parameters of the logical storage vault of the DSN by decreasing, by a first value, the decode threshold number with respect to the current decode threshold number and decreasing, by a second value, the pillar width number with respect to the current pillar width number; and

re-encode the stored encoded data of the logical storage vault based on the decreased pillar width number and the decreased decode threshold number.

17. The non-transitory computer readable storage medium of claim 10 , wherein the continuum of time-to-repair information comprises:

an on-going and evolving tabulation of a measure of time spent repairing hardware failures of the plurality of storage units and a measure of data processing resource spend to repopulate repaired hardware of the plurality of storage units.

18. The non-transitory computer readable storage medium of claim 10 , wherein the continuum of time-to-failure information comprises:

an on-going and evolving tabulation of a measure of time between hardware failures of the plurality of storage units.

19. A computing device of a dispersed storage network (DSN), wherein the computing device comprises:

an interface; and

a processing module operably coupled to the interface, wherein the processing module is operable to:

maintain, over time, a continuum of time-to-repair information regarding a plurality of storage units of the DSN;

maintain, over time, a continuum of time-to-failure information regarding the plurality of storage units; and

when the continuum of time-to-repair information and the continuum of time-to-failure information are each below undesired levels:

change dispersed storage error encoding parameters of a logical storage vault of the DSN by lowering a decode threshold number with respect to a current decode threshold number and increasing a pillar width number with respect to a current pillar width number; and

re-encode stored encoded data of the logical storage vault based on the increased pillar width number and the lowered decode threshold number.

20. The computing device of claim 19 , wherein the processing module functions to re-encode by:

for an encoded data segment of an encoded data object of the stored encoded data:

retrieving, via the interface, a set of encoded data slices from a set of storage units of the plurality of storage units, wherein a data segment is dispersed storage error encoded in accordance with the current pillar width number and the current decode threshold number to produce the set of encoded data slices, and wherein the set of encoded data slices includes at least the current decode threshold number of encoded data slices;

decoding the set of encoded data slices to recapture the data segment; and

dispersed storage error encoding the recaptured data segment using the increased pillar width number and the lowered decode threshold number to produce a second set of encoded data slices.

21. The computing device of claim 19 further comprises:

the processing module is further operable to:

when the continuum of time-to-failure information is below an undesired failure level and the continuum of time-to-repair information is at or above a desired repair level:

change the dispersed storage error encoding parameters of the logical storage vault of the DSN by increasing a ratio between the current decode threshold number and the current pillar width number; and

re-encode the stored encoded data of the logical storage vault based on the increased ratio between the current decode threshold number and the current pillar width number.

22. The computing device of claim 21 , wherein the processing module functions to increase the ratio between the current decode threshold number and the current pillar width number by:

maintaining the decode threshold number at the current decode threshold number; and

increasing the pillar width number with respect to the current pillar width number.

23. The computing device of claim 19 further comprises:

the processing module is further operable to:

when the continuum of time-to-repair information is below an undesired repair level and the continuum of time-to-failure information is at or above a desired failure level:

change the dispersed storage error encoding parameters of the logical storage vault of the DSN by decreasing the decode threshold number with respect to the current decode threshold number, decreasing the pillar width number with respect to the current pillar width number, and maintaining a constant ratio between the pillar width number and the decode threshold number; and

re-encode the stored encoded data of the logical storage vault based on the decreased pillar width number and the decreased decode threshold number.

24. The computing device of claim 19 further comprises:

the processing module is further operable to:

when the continuum of time-to-repair information is below an undesired repair level and the continuum of time-to-failure information is at or above a desired failure level:

change the dispersed storage error encoding parameters of the logical storage vault of the DSN by maintaining the decode threshold number at the current decode threshold number and decreasing the pillar width number with respect to the current pillar width number; and

re-encode the stored encoded data of the logical storage vault based on the decreased pillar width number and the current decode threshold number.

25. The computing device of claim 19 further comprises:

the processing module is further operable to:

when the continuum of time-to-repair information is below an undesired repair level and the continuum of time-to-failure information is at or above a desired failure level:

change the dispersed storage error encoding parameters of the logical storage vault of the DSN by decreasing, by a first value, the decode threshold number with respect to the current decode threshold number and decreasing, by a second value, the pillar width number with respect to the current pillar width number; and

re-encode the stored encoded data of the logical storage vault based on the decreased pillar width number and the decreased decode threshold number.

26. The computing device of claim 19 , wherein the continuum of time-to-repair information comprises:

an on-going and evolving tabulation of a measure of time spent repairing hardware failures of the plurality of storage units and a measure of data processing resource spend to repopulate repaired hardware of the plurality of storage units.

27. The computing device of claim 19 , wherein the continuum of time-to-failure information comprises:

an on-going and evolving tabulation of a measure of time between hardware failures of the plurality of storage units.

Assignments (6)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2014
From: RESCH, JASON K.; GLADWIN, S. CHRISTOPHER
To: CLEVERSAFE, INC.
Reel/Frame 033826/0362 →