IP Library Patent Application 15840070
Patent Application
App. No. 15/840,070

RETRYING FAILED WRITE OPERATIONS IN A DISPERSED STORAGE NETWORK

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 None
App. No.
15/840,070
Abstract

In various examples, a computing device of a dispersed storage network (DSN) receives a store data request including a data object. The computing device identifies a storage unit pool associated with the store data request. The storage unit pool includes a plurality of storage sets, each of the storage sets associated with a plurality of address ranges, and each of the address ranges associated with a set of memories of the storage set. The computing device generates a DSN address, associated with the storage unit pool, and initiates storage of the data object in the storage unit pool according to the DSN address. When an unfavorable storage condition is detected, a second DSN address is generated, wherein the second DSN address differs from the first DSN address. The computing device then facilitates storage of the data object in the storage unit pool according to the second DSN address.

Claims (41)

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:

receiving a store data request, the store data request including a data object;

identifying a storage unit pool associated with the store data request, the storage unit pool including a plurality of storage sets, wherein a storage set is associated with a plurality of address ranges, each of the address ranges associated with a set of memories of the storage set;

generating a first DSN address, wherein the first DSN address falls within an address range associated with the identified storage unit pool;

initiating storage of the data object in the identified storage unit pool according to the first DSN address;

detecting an unfavorable storage condition in response to the storage of the data object in the identified storage unit pool according to the first DSN address;

generating a second DSN address, wherein the second DSN address falls within an address range associated with the identified storage unit pool and differs from the first DSN address; and

facilitating storage of the data object in the identified storage unit pool according to the second DSN address.

2 . The method of claim 1 , wherein detecting an unfavorable storage condition includes receiving, from the identified storage unit pool, less than a write threshold number of favorable write slice responses prior to expiration of a predetermined time frame.

3 . The method of claim 1 , wherein detecting an unfavorable storage condition includes receiving an error response that includes an indication of one or more address ranges of a storage unit that are unavailable for use in storing the data object.

4 . The method of claim 1 , wherein generating a first DSN address is based, at least in part, on one or more of a random number, a next available DSN address, or an address range associated with a set of memories having favorable performance and capacity attributes.

5 . The method of claim 1 , wherein identifying a storage unit pool associated with the store data request is based on at least one of a requester identification, system registry information, a random selection, or available storage capacity of the identified storage unit pool.

6 . The method of claim 1 , wherein identifying a storage unit pool associated with the store data request is based on one or more storage set performance levels.

7 . The method of claim 1 , wherein the first DSN address is associated with a first set of memories of the storage set, and wherein the second DSN address is associated with a second set of memories of the storage set.

8 . The method of claim 1 , wherein the first DSN address is associated with a set of memories of a first storage set, and wherein the second DSN address is associated with a set of memories of a second storage set.

9 . The method of claim 1 further comprises:

detecting a second unfavorable storage condition in response to facilitating storage of the data object according to the second DSN address; and

generating a third DSN address for storage of the data object, wherein the third DSN address differs from both the first DSN address and the second DSN address.

10 . The method of claim 1 , wherein initiating storage of the data object in the identified storage unit pool according to the first DSN address includes issuing one or more sets of write slice requests that include a plurality of sets of encoded data slices to be stored in storage units, of the identified storage unit pool, associated with the first DSN address.

11 . The method of claim 1 , the store data request further including at least one of a data object name or a requester identity.

12 . A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:

a network interface;

a local memory; and

a processing module operably coupled to the network interface and the local memory, wherein the processing module operates to:

receive, via the network interface, a store data request, the store data request including a data object;

identify a storage unit pool associated with the store data request, the storage unit pool including a plurality of storage sets, wherein a storage set is associated with a plurality of address ranges, each of the address ranges associated with a set of memories of the storage set;

generate a first DSN address, wherein the first DSN address falls within an address range associated with the identified storage unit pool;

initiate, via the network interface, storage of the data object in the identified storage unit pool according to the first DSN address;

detect an unfavorable storage condition in response to the storage of the data object in the identified storage unit pool according to the first DSN address;

generate a second DSN address, wherein the second DSN address falls within an address range associated with the identified storage unit pool and differs from the first DSN address; and

facilitate, via the network interface, storage of the data object in the identified storage unit pool according to the second DSN address.

13 . The computing device of claim 12 , wherein detecting an unfavorable storage condition includes receiving, from the identified storage unit pool, less than a write threshold number of favorable write slice responses prior to expiration of a predetermined time frame.

14 . The computing device of claim 12 , wherein detecting an unfavorable storage condition includes receiving an error response that includes an indication of one or more address ranges of a storage unit that are unavailable for use in storing the data object.

15 . The computing device of claim 12 , wherein generating a first DSN address is based, at least in part, on one or more of a random number, a next available DSN address, or an address range associated with a set of memories having favorable performance and capacity attributes.

16 . The computing device of claim 12 , wherein identifying a storage unit pool associated with the store data request is based on at least one of a requester identification, system registry information, a random selection, or available storage capacity of the identified storage unit pool.

17 . The computing device of claim 12 , wherein the first DSN address is associated with a first set of memories of the storage set, and wherein the second DSN address is associated with a second set of memories of the storage set.

18 . The computing device of claim 12 , wherein the first DSN address is associated with a set of memories of a first storage set, and wherein the second DSN address is associated with a set of memories of a second storage set.

19 . The computing device of claim 12 , wherein the processing module further operates to:

detect a second unfavorable storage condition in response to facilitating storage of the data object according to the second DSN address; and

generate a third DSN address for storage of the data object, wherein the third DSN address differs from both the first DSN address and the second DSN address.

20 . The computing device of claim 12 , wherein initiating storage of the data object in the identified storage unit pool according to the first DSN address includes issuing one or more sets of write slice requests that include a plurality of sets of encoded data slices to be stored in storage units, of the identified storage unit pool, associated with the first DSN address.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2017
From: RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044385/0155 →