IP Library Granted Patent US 10,120,596
Granted Patent B2
US 10,120,596 · App. 15/249,084 · Granted Nov 6, 2018

Adaptive extra write issuance within a dispersed storage network (DSN)

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,120,596
App. No.
15/249,084
Granted
Nov 6, 2018
Kind
B2
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 to the 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 determines storage unit (SU)-based write transfer rates and/or a DSN-based write transfer rate for a write request of encoded data slices (EDSs) to the SUs within the DSN. Then, the computing device processes the SU-based write transfer rates and/or DSN-based write transfer rate to determine characteristics of the various SUs as well as operation of the DSN. The computing device then selectively modifies parameters (e.g., write request time interval) and/or issues additional write request(s) for some or all of the EDSs based on such characteristics.

Claims (72)

1. A computing device comprising:

an interface configured to interface and communicate with a dispersed 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:

determine storage unit (SU)-based write transfer rates associated with each of a plurality of storage units (SUs) and a DSN-based write transfer rate while sending a write request of a set of encoded data slices (EDSs) 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, wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a read threshold number of EDSs provides for reconstruction of the data segment, wherein 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;

when fewer than a first number of the plurality of SUs have corresponding SU-based write transfer rates that compare unfavorably to an acceptable SU-based write transfer rate and the DSN-based write transfer rate compares favorably to an acceptable DSN-based write transfer rate, issue an additional write request for at least one of the EDSs within the set of EDSs associated with the first number of the plurality of SUs to at least one additional SU within the DSN;

when more than a second number of the plurality of SUs have corresponding SU-based write transfer rates that compare favorably to the acceptable SU-based write transfer rate and the DSN-based write transfer rate compares unfavorably to the acceptable DSN-based write transfer rate, increase a time interval between write requests of sets of EDSs to the plurality of SUs within the DSN; and

when fewer than the first number of the plurality of SUs have corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate and the DSN-based write transfer rate compares unfavorably to the acceptable DSN-based write transfer rate, issue the additional write request for the at least one of the EDSs within the set of EDSs associated with the first number of the plurality of SUs to the at least one additional SU within the DSN and increase the time interval between the write requests of the sets of EDSs to 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:

when more than the second number of the plurality of SUs have corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate, prohibit any other write request of the set of EDSs to the plurality of SUs within the DSN.

3. 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:

receive a plurality of write responses from the plurality of SUs based on the write request of the set of EDSs to the plurality of SUs within the DSN, wherein each write response is received from a respective one of the plurality of SUs in response to the write request of the set of EDSs to the plurality of SUs within the DSN;

determine a plurality of SU-based write transfer rates for the plurality of SUs within the DSN, wherein the plurality of SU-based write transfer rates correspond to the plurality of SUs one a one-to-one basis; and

identify at least one of the first number of the plurality of SUs have corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate or the second number of the plurality of SUs have corresponding SU-based write transfer rates that compare favorably to the acceptable SU-based write transfer rate based on the plurality of SU-based write transfer rates for the plurality of SUs within the DSN.

4. 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:

detect a change of at least one of the SU-based write transfer rates associated with at least one of the plurality of SUs or the DSN-based write transfer rate for at least one of the write request of the set of EDSs or another write request of another set of EDSs to the plurality of SUs within the DSN; and

modify the time interval between write requests of sets of EDSs to the plurality of SUs within the DSN based on the change that is detected.

5. The computing device of claim 1 , wherein:

the first number of the plurality of SUs includes fewer than a pillar width number of SUs within the plurality of SUs minus a write threshold number of SUs within the plurality of SUs; and

the second number of the plurality of SUs includes at least the write threshold number of SUs within the plurality of SUs.

6. The computing device of claim 1 , wherein:

the first number of the plurality of SUs includes fewer than a pillar width number of SUs within the plurality of SUs minus a read threshold number of SUs within the plurality of SUs; and

the second number of the plurality of SUs includes at least the read threshold number of SUs within the plurality of SUs.

7. The computing device of claim 1 , wherein:

the dispersed error encoding parameters are based on a 10×16 dispersed error encoding system;

the pillar width is 16;

the decode threshold number of EDSs is 10;

the read threshold number of EDSs is greater than or equal to the decode threshold number of EDSs and less than 16; and

the write threshold number of EDSs is greater than or equal to the read threshold number of EDSs and less than 16.

8. The computing device of claim 1 , wherein:

the dispersed error encoding parameters are based on a 3×5 dispersed error encoding system;

the pillar width is 5;

the decode threshold number of EDSs is 3;

the read threshold number of EDSs is greater than or equal to the decode threshold number of EDSs and less than 5; and

the write threshold number of EDSs is greater than or equal to the read threshold number of EDSs and less than 5.

9. The computing device of claim 1 further comprising:

a SU of the plurality of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

10. The computing device of claim 1 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

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

determining storage unit (SU)-based write transfer rates associated with each of a plurality of storage units (SUs) and a DSN-based write transfer rate while sending a write request of a set of encoded data slices (EDSs) to the plurality of SUs within a dispersed storage network (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, wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a read threshold number of EDSs provides for reconstruction of the data segment, wherein 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;

when fewer than a first number of the plurality of SUs have corresponding SU-based write transfer rates that compare unfavorably to an acceptable SU-based write transfer rate and the DSN-based write transfer rate compares favorably to an acceptable DSN-based write transfer rate, issuing, via an interface of the computing device implemented to interface and communicate with the DSN, an additional write request for at least one of the EDSs within the set of EDSs associated with the first number of the plurality of SUs to at least one additional SU within the DSN;

when more than a second number of the plurality of SUs have corresponding SU-based write transfer rates that compare favorably to the acceptable SU-based write transfer rate and the DSN-based write transfer rate compares unfavorably to the acceptable DSN-based write transfer rate, increasing a time interval between write requests of sets of EDSs to the plurality of SUs within the DSN; and

when fewer than the first number of the plurality of SUs have corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate and the DSN-based write transfer rate compares unfavorably to the acceptable DSN-based write transfer rate, issuing, via the interface of the computing device implemented to interface and communicate with the DSN, the additional write request for the at least one of the EDSs within the set of EDSs associated with the first number of the plurality of SUs to the at least one additional SU within the DSN and increasing the time interval between the write requests of the sets of EDSs to the plurality of SUs within the DSN.

12. The method of claim 11 further comprising:

when more than the second number of the plurality of SUs have corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate, prohibiting any other write request of the set of EDSs to the plurality of SUs within the DSN.

13. The method of claim 11 further comprising:

receiving a plurality of write responses from the plurality of SUs based on the write request of the set of EDSs to the plurality of SUs within the DSN, wherein each write response is received from a respective one of the plurality of SUs in response to the write request of the set of EDSs to the plurality of SUs within the DSN;

determining a plurality of SU-based write transfer rates for the plurality of SUs within the DSN, wherein the plurality of SU-based write transfer rates correspond to the plurality of SUs one a one-to-one basis; and

identifying at least one of the first number of the plurality of SUs have corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate or the second number of the plurality of SUs have corresponding SU-based write transfer rates that compare favorably to the acceptable SU-based write transfer rate based on the plurality of SU-based write transfer rates for the plurality of SUs within the DSN.

14. The method of claim 11 further comprising:

detecting a change of at least one of the SU-based write transfer rates associated with at least one of the plurality of SUs or the DSN-based write transfer rate for at least one of the write request of the set of EDSs or another write request of another set of EDSs to the plurality of SUs within the DSN; and

modifying the time interval between write requests of sets of EDSs to the plurality of SUs within the DSN based on the change that is detected.

15. The method of claim 11 , wherein:

the first number of the plurality of SUs includes fewer than a pillar width number of SUs within the plurality of SUs minus a write threshold number of SUs within the plurality of SUs; and

the second number of the plurality of SUs includes at least the write threshold number of SUs within the plurality of SUs.

16. The method of claim 11 , wherein:

the first number of the plurality of SUs includes fewer than a pillar width number of SUs within the plurality of SUs minus a read threshold number of SUs within the plurality of SUs; and

the second number of the plurality of SUs includes at least the read threshold number of SUs within the plurality of SUs.

17. The method of claim 11 , wherein:

the dispersed error encoding parameters are based on a 10×16 dispersed error encoding system;

the pillar width is 16;

the decode threshold number of EDSs is 10;

the read threshold number of EDSs is greater than or equal to the decode threshold number of EDSs and less than 16; and

the write threshold number of EDSs is greater than or equal to the read threshold number of EDSs and less than 16.

18. The method of claim 11 , wherein:

the dispersed error encoding parameters are based on a 3×5 dispersed error encoding system;

the pillar width is 5;

the decode threshold number of EDSs is 3;

the read threshold number of EDSs is greater than or equal to the decode threshold number of EDSs and less than 5; and

the write threshold number of EDSs is greater than or equal to the read threshold number of EDSs and less than 5.

19. The method of claim 11 , wherein the computing device includes a SU of the plurality of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

20. The method of claim 11 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

Assignments (5)
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 Aug 26, 2016
From: RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039558/0268 →