IP Library Granted Patent US 11,422,711
Granted Patent B1
US 11,422,711 · App. 17/107,135 · Granted Aug 23, 2022

Write performance distribution monitoring for write operation adaptation

Inventors: Greg R. Dhuse (Chicago, IL); Jason K. Resch (Chicago, IL); Ethan S. Wozniak (Park Ridge, IL)
Assignee: PURE STORAGE, INC.
G06F3/0619G06F3/061G06F3/064G06F3/067G06F3/0611G06F3/0622G06F3/0635G06F3/0637G06F3/0644G06F3/0659G06F3/0665G06F3/0689G06F11/1076G06F11/1092G06F11/3034G06F11/3409G06F12/1408H03M13/3761H04L67/1097G06F2212/1052H03M13/1515
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,422,711
App. No.
17/107,135
Granted
Aug 23, 2022
Kind
B1
Abstract

A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. For example, the computing device monitors storage unit (SU)-based write transfer rates and SU-based write failure rates associated with each of the SUs for a write request of encoded data slices (EDSs) to the SUs within the DSN. The computing device generates and maintains a SU write performance distribution based on monitoring of the SU-based write transfer rates and the SU-based write failure rates and adaptively adjusts a trimmed write threshold number of EDSs and/or a target width of EDSs for write requests of sets of EDSs to the SUs within the DSN.

Claims (61)

1. A computing device comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

monitor, via the interface, storage unit (SU)-based write transfer rates and SU-based write failure rates associated respectively with each of a plurality of storage units (SUs) for a write request of a set of encoded data slices (EDSs) that is transmitted via the DSN to the plurality of SUs within the DSN, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs that is of pillar width, and wherein a decode threshold number of EDSs are needed to recover the data segment; and

generate and maintain a SU write performance distribution based on monitoring, via the interface, of the SU-based write transfer rates and the SU-based write failure rates associated with the write request of the set of EDSs that is transmitted via the DSN to the plurality of SUs within the DSN to be used for adaptive adjustment of subsequent write requests of sets of EDSs to be stored within the plurality of SUs within the DSN.

2. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

determine, based on the write request of the set of EDSs that is monitored via the interface and transmitted via the DSN to a plurality of SUs within the DSN, the SU write performance distribution based on the SU-based write transfer rates and SU-based write failure rates associated with the write request of the set of EDSs; and

adaptively adjust at least one of a trimmed write threshold number of EDSs or a target width of EDSs for write requests of sets of EDSs that are transmitted via the DSN to the plurality of SUs within the DSN including the write request of the set of EDSs that is transmitted via the DSN to the plurality of SUs within the DSN based on favorable or unfavorable comparison of the SU write performance distribution to an acceptable SU write performance distribution.

3. The computing device of claim 2 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

adaptively adjust the trimmed write threshold number of EDSs to be below the write threshold number of EDSs and greater than or equal to the decode threshold number of EDSs when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution; and

adaptively adjust the trimmed write threshold number of EDSs to be same as the write threshold number of EDSs when the SU write performance distribution compares favorably to the acceptable SU write performance distribution.

4. The computing device of claim 3 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

adaptively adjust the trimmed write threshold number of EDSs to be a first number below the write threshold number of EDSs and greater than or equal to the decode threshold number of EDSs when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution within a first unfavorable comparison range; and

adaptively adjust the trimmed write threshold number of EDSs to be a second number below the write threshold number of EDSs and greater than or equal to the decode threshold number of EDSs when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution within a second unfavorable comparison range.

5. The computing device of claim 2 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

adaptively increase the target width of EDSs to be greater than the pillar width to specify a subset number of redundant EDSs to be generated from the set of EDSs to be included in at least one write request of at least one set of EDSs to the plurality of SUs within the DSN when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution; and

adaptively adjust the target width of EDSs to be same as the pillar width when the SU write performance distribution compares favorably to the acceptable SU write performance distribution.

6. The computing device of claim 5 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

adaptively increase the target width of EDSs to be greater than the pillar width to specify a first subset number of redundant EDSs to be generated from the set of EDSs to be included in the at least one write request of the at least one set of EDSs to the plurality of SUs within the DSN when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution within a first unfavorable comparison range; and

adaptively increase the target width of EDSs to be greater than the pillar width to specify a second subset number of redundant EDSs to be generated from the set of EDSs to be included in the at least one write request of the at least one set of EDSs to the plurality of SUs within the DSN when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution within a second unfavorable comparison range.

7. The computing device of claim 2 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

adaptively increase the target width of EDSs to be greater than the pillar width to specify one or more redundant copies of the set of EDSs to be generated from the set of EDSs to be included in at least one write request of at least one set of EDSs to the plurality of SUs within the DSN when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution; and

adaptively adjust the target width of EDSs to be same as the pillar width when the SU write performance distribution compares favorably to the acceptable SU write performance distribution.

8. The computing device of claim 2 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

increase a time interval between write requests of sets of EDSs to the plurality of SUs within the DSN to an extended time interval when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution over a first period of time; and

reduce the time interval between write requests of sets of EDSs to the plurality of SUs within the DSN from the extended time interval to another extended time interval or the time interval when the SU write performance distribution compares favorably to the acceptable SU write performance distribution over a second period of time following the first period of time.

9. The computing device of claim 1 , wherein:

a read threshold number of EDSs provides for reconstruction of the data segment; and

a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

10. The computing device of claim 1 , wherein:

the computing device is located at a first premises that is remotely located from at least one SU of the plurality of SUs within the DSN.

11. A method for execution by a computing device, the method comprising:

monitoring, via an interface of the computing device configured to interface and communicate with a dispersed or distributed storage network (DSN), storage unit (SU)-based write transfer rates and SU-based write failure rates associated respectively with each of a plurality of storage units (SUs) for a write request of a set of encoded data slices (EDSs) that is transmitted via the DSN to the plurality of SUs within the DSN, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs that is of pillar width, and wherein a decode threshold number of EDSs are needed to recover the data segment; and

generating and maintaining a SU write performance distribution based on monitoring, via the interface, of the SU-based write transfer rates and the SU-based write failure rates associated with the write request of the set of EDSs that is transmitted via the DSN to the plurality of SUs within the DSN to be used for adaptive adjustment of subsequent write requests of sets of EDSs to be stored within the plurality of SUs within the DSN.

12. The method of claim 11 further comprising:

determining, based on the write request of the set of EDSs that is monitored via the interface and transmitted via the DSN to a plurality of SUs within the DSN, the SU write performance distribution based on the SU-based write transfer rates and SU-based write failure rates associated with the write request of the set of EDSs; and

adaptively adjust at least one of a trimmed write threshold number of EDSs or a target width of EDSs for write requests of sets of EDSs that are transmitted via the DSN to the plurality of SUs within the DSN including the write request of the set of EDSs that is transmitted via the DSN to the plurality of SUs within the DSN based on favorable or unfavorable comparison of the SU write performance distribution to an acceptable SU write performance distribution.

13. The method of claim 12 further comprising:

adaptively adjusting the trimmed write threshold number of EDSs to be below the write threshold number of EDSs and greater than or equal to the decode threshold number of EDSs when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution; and

adaptively adjusting the trimmed write threshold number of EDSs to be same as the write threshold number of EDSs when the SU write performance distribution compares favorably to the acceptable SU write performance distribution.

14. The method of claim 13 further comprising:

adaptively adjusting the trimmed write threshold number of EDSs to be a first number below the write threshold number of EDSs and greater than or equal to the decode threshold number of EDSs when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution within a first unfavorable comparison range; and

adaptively adjusting the trimmed write threshold number of EDSs to be a second number below the write threshold number of EDSs and greater than or equal to the decode threshold number of EDSs when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution within a second unfavorable comparison range.

15. The method of claim 12 further comprising:

adaptively increasing the target width of EDSs to be greater than the pillar width to specify a subset number of redundant EDSs to be generated from the set of EDSs to be included in at least one write request of at least one set of EDSs to the plurality of SUs within the DSN when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution; and

adaptively adjusting the target width of EDSs to be same as the pillar width when the SU write performance distribution compares favorably to the acceptable SU write performance distribution.

16. The method of claim 15 further comprising:

adaptively increasing the target width of EDSs to be greater than the pillar width to specify a first subset number of redundant EDSs to be generated from the set of EDSs to be included in the at least one write request of the at least one set of EDSs to the plurality of SUs within the DSN when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution within a first unfavorable comparison range; and

adaptively increasing the target width of EDSs to be greater than the pillar width to specify a second subset number of redundant EDSs to be generated from the set of EDSs to be included in the at least one write request of the at least one set of EDSs to the plurality of SUs within the DSN when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution within a second unfavorable comparison range.

17. The method of claim 12 further comprising:

adaptively increasing the target width of EDSs to be greater than the pillar width to specify one or more redundant copies of the set of EDSs to be generated from the set of EDSs to be included in at least one write request of at least one set of EDSs to the plurality of SUs within the DSN when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution; and

adaptively adjusting the target width of EDSs to be same as the pillar width when the SU write performance distribution compares favorably to the acceptable SU write performance distribution.

18. The method of claim 12 further comprising:

increasing a time interval between write requests of sets of EDSs to the plurality of SUs within the DSN to an extended time interval when the SU write performance distribution compares unfavorably to the acceptable SU write performance distribution over a first period of time; and

reducing the time interval between write requests of sets of EDSs to the plurality of SUs within the DSN from the extended time interval to another extended time interval or the time interval when the SU write performance distribution compares favorably to the acceptable SU write performance distribution over a second period of time following the first period of time.

19. The method of claim 11 , wherein:

a read threshold number of EDSs provides for reconstruction of the data segment; and

a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

20. The method of claim 11 , wherein:

the computing device is located at a first premises that is remotely located from at least one SU of the plurality of SUs within the DSN.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2020
From: DHUSE, GREG R.; RESCH, JASON K.; WOZNIAK, ETHAN S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054499/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 054554/0527 →
Continuity (3)
Continuation 16255986 · Jan 24, 2019
Continuation 15248939 · Aug 26, 2016
Provisional Application 62211975 · Aug 31, 2015