Abstract:
A method begins by a processing module of a dispersed storage network (DSN) ascertaining a decode threshold value for dispersed storage error encoding data for storage in storage units of the DSN. The method continues with the processing module determining a total width value for the dispersed storage error encoding based on the decode threshold value, a number of selected sites within the DSN, and a number of selected storage units of the selected sites. The method continues with the processing module determining logical storage slots within the selected storage units based on the total width value, the number of selected, and the number of selected storage units. The method continues with the processing module writing a set of encoded data slices to a total width value of the logical storage slots within at least some of the selected storage units of the selected sites based on a slice-to-slot mapping.
Abstract:
A method begins by a processing module of a dispersed storage network (DSN) ascertaining a decode threshold value for dispersed storage error encoding data for storage in storage units of the DSN. The method continues with the processing module determining a total width value for the dispersed storage error encoding based on the decode threshold value, a number of selected sites within the DSN, and a number of selected storage units of the selected sites. The method continues with the processing module determining logical storage slots within the selected storage units based on the total width value, the number of selected, and the number of selected storage units. The method continues with the processing module writing a set of encoded data slices to a total width value of the logical storage slots within at least some of the selected storage units of the selected sites based on a slice-to-slot mapping.
Abstract:
A method begins with a group of storage units of a dispersed storage network (DSN) receiving a common access request. The method continues with each storage unit of the group of storage units interpreting the access request to determine whether the storage unit is an intended recipient of the access request, where storage units of a sub-set of storage units of the group of storage units are intended recipients. The method continues with each storage unit of the sub-set of storage units determining a type of the access request and a level of the access request. When the access request is a read request, the method continues with each storage unit of the sub-set of storage units retrieving each encoded data slice having an identifier of its slice address substantially matching the a given identifier of the level to produce a retrieved set of encoded data slices.
Abstract:
A method begins by storage units of a dispersed storage network (DSN) receiving a retrieval request for a data object, where each storage unit stores a unique group of encoded data slices of the data object and a local set of encoded recovery data slices. The method continues with some storage units sending the unique group of encoded data slices to a requesting computing device and with one storage unit sending an encoded recovery data slice to the requesting computing device. The method continues with the requesting computing device identifying an errant unique group encoded data slice, correcting the errant encoded data slice based on received data slices to produce an updated unique group of encoded data slices, and dispersed storage error decoding the updated unique group of encoded data slices and the unique groups of encoded data slices from other storage units to recover the data object.
Abstract:
A method begins by a set of storage units of a dispersed storage network (DSN) storing a plurality of encoded data slices, where each storage unit stores a unique sub-set of encoded data slices. The method continues with each storage unit dispersed storage error encoding at least a recovery threshold number of encoded data slices to produce a local set of encoded recovery data slices. In response to a retrieval request, the method continues with a device identifying a storage unit of an initial recovery number of storage units having a rebuilding issue and determining whether the rebuilding issue is correctable at a DSN level. When the rebuilding issue is correctable at the DSN level the method continues with the device selecting another storage unit to replace the storage unit to produce a recovery number of storage units and sending retrieve requests to the recovery number of storage units.
Abstract:
A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) receiving a DSN access request regarding at least one data segment of a data object. The method continues with the processing module performing a scoring function using one or more properties of the DSN access request and one or more properties of DSN memory of the DSN to produce a storage scoring resultant, where the DSN memory includes a plurality of storage units that are logically arranged into a plurality of storage pools. The method continues with the processing module utilizing the storage scoring resultant to identify a set of storage units of the plurality of storage units affiliated with a given storage pool of the plurality of storage pools. The method continues with the processing module sending a set of access requests to the set of storage units regarding the DSN access request.
Abstract:
A method begins by a processing module of a dispersed storage network (DSN) unit of a plurality of DSN units sending a write request to DSN memory, where the write request includes a range of DSN addresses. The method continues with the DSN unit receiving an error message indicating that another DSN unit of the plurality of DSN units has current write permission to the DSN memory to the range of DSN addresses. The method continues with the DSN unit performing a scoring function using one or more properties of the range of DSN addresses and one or more properties of each of at least some of the plurality of DSN units to produce a scoring resultant, interpreting the scoring resultant to determine a re-write requesting protocol for resending the write request to the DSN memory, and resending the write request in accordance with the re-write requesting protocol.
Abstract:
A method begins by a processing module of a dispersed storage network (DSN) unit of a plurality of DSN units sending a write request to DSN memory, where the write request includes a range of DSN addresses. The method continues with the DSN unit receiving an error message indicating that another DSN unit of the plurality of DSN units has current write permission to the DSN memory to the range of DSN addresses. The method continues with the DSN unit performing a scoring function using one or more properties of the range of DSN addresses and one or more properties of each of at least some of the plurality of DSN units to produce a scoring resultant, interpreting the scoring resultant to determine a re-write requesting protocol for resending the write request to the DSN memory, and resending the write request in accordance with the re-write requesting protocol.
Abstract:
A method begins with a group of storage units of a dispersed storage network (DSN) receiving a common access request. The method continues with each storage unit of the group of storage units interpreting the access request to determine whether the storage unit is an intended recipient of the access request, where storage units of a sub-set of storage units of the group of storage units are intended recipients. The method continues with each storage unit of the sub-set of storage units determining a type of the access request and a level of the access request. When the access request is a read request, the method continues with each storage unit of the sub-set of storage units retrieving each encoded data slice having an identifier of its slice address substantially matching the a given identifier of the level to produce a retrieved set of encoded data slices.
Abstract:
When an access metric regarding an encoded data object exceeds an access threshold, a method begins by a processing module of a dispersed storage network (DSN) retrieving encoded data slices of a first plurality of sets of encoded data slices and recovering the data object utilizing first dispersed storage error encoding parameters. The method continues with the processing module re-encoding the recovered data object using second dispersed storage error encoding parameters to produce a re-encoded data object, where the re-encoded data object includes a second plurality of sets of encoded data slices. The method continues with the processing module outputting the second plurality of sets of encoded data slices to storage units of the DSN for storage therein and sending a message to retrieving devices of the DSN, where the message indicates use of the second plurality of sets of encoded data slices for the data object.