Abstract:
A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN) begins by detecting, by an access module, a write failure of an encoded data slice to a storage unit of a set of DSN storage units. The method continues when detecting the write failure, by adding by the access module, an error entry to an error list. The method continues by recovering, by an integrity module, the error entry from the error list. The method continues by generating, by the integrity module, a rebuilt encoded data slice for the encoded data slice of the write failure. The method continues by facilitating storage of the rebuilt encoded data slice in the storage unit associated with the write failure.
Abstract:
A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN) begins by identifying an unrecoverable encoded data slice of a data segment stored in a set of DSN storage units, where a region of a data object includes a plurality of data segments, and where the plurality of data segments includes the data segment. The method continues by determining whether the data segment is recoverable. The method continues, when recoverable, by salvaging the region by indicating that the region has corruption, updating a directory and replacing the data segment with filler data, and when not recoverable, by not salvaging the region by indicating that the region has been eliminated.
Abstract:
A method for execution by a computing device of a dispersed storage network. The method begins by determining whether frequency of access to a set of encoded data slices exceeds a frequently accessed threshold. The method continues, when the frequency of access exceeds the frequently accessed threshold, by determining an access amount indicative of a degree that the frequency of access exceeds the frequently accessed threshold. The method continues by generating a number of additional encoded data slices and storing the number of additional encoded data slices in a number of additional storage units, wherein the set of storage units and the number of additional storage units produce an expanded set of storage units. The method continues by sending a plurality of data access requests to subsets of the expanded set of storage units in a distributed manner to improve processing efficiency of the plurality of data access requests.
Abstract:
Methods for use in a dispersed storage network (DSN) to enable rapid retrieval of data. A first set of storage units of the DSN is configured as a performance optimized internal vault that utilizes dispersed error encoding/decoding parameters which provide improved data access performance in relation to a second set of storage units. Upon receiving a data object for storage, a computing device of the DSN determines, based on at least one performance criterion, to store the data object in the performance optimized internal vault as opposed to the second set of storage units. The data object is then dispersed storage error encoded, in accordance with dispersal parameters associated with storage of data in the internal vault, to produce a plurality of sets of performance encoded data slices, wherein the data object is segmented and each resulting data segment is encoded into a respective set of performance encoded data slices.
Abstract:
In one aspect, a method includes splitting empty RAID stripes into sub-stripes and storing pages into the sub-stripes based on a compressibility score. In another aspect, a method includes reading pages from 1-stripes, storing compressed data in a temporary location, reading multiple stripes, determining compressibility score for each stripe and filling stripes based on the compressibility score. In a further aspect, a method includes scanning a dirty queue in a system cache, compressing pages ready for destaging, combining compressed pages in to one aggregated page, writing one aggregated page to one stripe and storing pages with same compressibility score in a stripe.
Abstract:
A method begins by determining whether at least one encoded data slice of a corresponding set of encoded data slices associated with a primary storage unit requires rebuilding and includes one or more excess encoded data slices of the set of encoded data slices stored in a secondary storage unit. The method continues by identifying the excess encoded data slices based on scan response messages from the secondary storage units. The method continues by assigning, for each data segment associated with at least one of an encoded data slice requiring rebuilding and an excess encoded data slice, a priority level in accordance with a prioritization scheme. The method continues by facilitating, for each data segment, rebuilding of the encoded data slices requiring rebuilding and deletion of excess encoded data slices requiring deletion in accordance with the assigned priority level of the data segment.
Abstract:
A method includes issuing, by a managing unit of a dispersed storage network (DSN), a vault access restriction to a set of storage units of the DSN regarding a logical storage vault supported by the set of storage units. While the vault access restriction is active, the method continues by receiving, by a storage unit of the set of storage units, a data access request to the vault. The method continues by determining, by the storage unit, whether the data access request is regarding a rebuilding operation. When the data access request is regarding a rebuilding operation, the method continues by processing, by the storage unit, the data access request. When data access request is not regarding a rebuilding operation, the method continues by denying, by the storage unit, the data access request.
Abstract:
A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), by selecting a number of distributed storage and task execution (DST) EX units to favorably execute partial tasks of the corresponding tasks. The method continues by determining task partitioning based on one or more of distributed computing capabilities of the selected DST EX units. The method continues by determining processing parameters of the data based on the task partitioning. The method continues by partitioning the task(s) based on the task partitioning to produce the partial tasks. The method continues by processing the data in accordance with the processing parameters to produce slice groupings and sending the slice groupings and corresponding partial tasks to the DST EX units in accordance with a pillar mapping.
Abstract:
Avoiding long access latencies in redundant storage systems is disclosed, including: determining a first device associated with a request is in a slow access period; and reconstructing data associated with the request from one or more other devices comprising a redundant storage system in which the first device and the one or more other devices are included.
Abstract:
A technique configures data storage equipment to (i) allow host I/O operations to start on storage devices while a credit tally is less than a predefined credit quota and (ii) block host I/O operations from starting on the storage devices while the tally is greater than the quota. The technique further involves, while a rebuild procedure is not being performed on the storage devices, (i) allocating host I/O credits at equal weight to the tally upon starting host I/O operations and (ii) de-allocating the credits at equal weight from the tally upon completion of the operations. The technique further involves, while the rebuild procedure is being performed on the storage devices, (i) allocating host I/O credits at greater than equal weight to the tally upon starting host I/O operations and (ii) de-allocating the credits at greater than equal weight from the tally upon completion of the operations.