G06F2211/104

UPDATING AN ENCODED DATA SLICE
20190050293 · 2019-02-14 ·

A distributed storage (DS) processing unit distributes an initial set of encoded data slices and an initial parity slice, for storage in multiple DS units. The initial parity slice is associated with an initial encoded data slice stored in a first DS unit. The DS processing unit transmits an updated encoded data slice reflecting changes to the initial encoded data slice, and obtains, from the first DS unit, delta parity information associated with a delta parity slice. The delta parity slice reflects differences between parity values calculated using the updated data slice and the initial data slice. An updated parity slice is generated by performing an exclusive OR (XOR) operation on the initial parity slice and the delta parity slice. A message transmitted to a second DS unit, which currently stores the initial parity slice, directs the second DS unit to store the updated parity slice.

Limiting the execution of background management operations in a drive array

Limiting the execution of background management operations in a drive array, including: receiving a read instruction to read data from a memory drive in the drive array; determining whether the read instruction is associated with a write instruction to write data to a memory drive in the drive array; responsive to determining that the read instruction is associated with the write instruction, restricting performance of background management operations on the memory drive targeted by the write instruction; determining whether the write instruction has completed; and responsive to determining that the write instruction has completed, removing restrictions associated with the performance of background management operations on the memory drive targeted by the write instruction.

DETECTING SINGLE EVENT UPSETS AND STUCK-AT FAULTS IN RAM-BASED DATA PATH CONTROLLERS
20180365100 · 2018-12-20 ·

In one embodiment, a system includes logic configured to receive data comprising a plurality of data elements, where each data element comprises one or more bits. Further, the logic is configured to output bursts of data comprising the plurality of data elements along with a number of parity bits equal to a number of data elements in the plurality of data elements received from a first parity module to an input of a data path. Further still, the system includes a binary sequence generator configured to create a binary sequence comprising a plurality of bonus bits in a pseudo-random pattern that has less than a predetermined chance of matching any sequence of bits in the data while in the data path. Further still, the first parity module is configured to provide a parity calculation prior to passing the plurality of data elements to the input of the data path.

Data storage integrity validation

Embodiments of the present disclosure are directed to, among other things, validating the integrity of received and/or stored data payloads. In some examples, a storage service may perform a first partitioning of a data object into first partitions based at least in part on a first operation. The storage service may also verify the data object, by utilizing a verification algorithm, to generate a first verification value. In some cases, the storage service may additionally perform a second partitioning of the data object into second partitions based at least in part on a second operation. The second partitions may be different from the first partitions. Additionally, the archival data storage service may verify the data object using the verification algorithm to generate a second verification value. Further, the storage service may determine whether the second verification value equals the first verification value.

PHYSICAL PAGE, LOGICAL PAGE, AND CODEWORD CORRESPONDENCE
20180336093 · 2018-11-22 ·

The present disclosure includes apparatuses and methods for physical page, logical page, and codeword correspondence. A number of methods include error coding a number of logical pages of data as a number of codewords and writing the number of codewords to a number of physical pages of memory. The number of logical pages of data can be different than the number of physical pages of memory.

Hybrid distributed storage system

There is provided a distributed object storage system that includes several performance optimizations with respect to efficiently storing data objects when coping with a desired concurrent failure tolerance of concurrent failures of storage elements which is greater than two and with respect to optimizing encoding/decoding overhead and the number of input and output operations at the level of the storage elements.

Precomputed redundancy code matrices for high-availability data storage

Techniques described and suggested herein include systems and methods for precomputing regeneration information for data archives (archives) that have been processed and stored using redundancy coding techniques. For example, regeneration information, such as redundancy code-related matrices (such as inverted matrices based on, e.g., a generator matrix for the selected redundancy code) corresponding to subsets of the shards, is computed for each subset and, in some embodiments, stored for use in the event that one or more shards becomes unavailable, e.g., so as to more efficiently and/or quickly regenerate a replacement shard.

Managing mapping metadata in storage systems

A method is used in managing mapping metadata in storage systems. A request is received to access data organized on a storage device of a storage system. Checksum information is used for validating the data. The checksum information is stored on the storage system separate from a location at which the data has been stored.

Rebuilding data stored in a dispersed storage network

A method begins where a processing module queues, in a rebuild queue, identifiers of encoded data slices for rebuilding, where an encoded data slice is of a set of encoded data slices. The method continues with the processing module accessing the rebuild queue to retrieve a valid rebuild request and querying a storage unit of the set of storage units regarding a most current revision value of another encoded data slice of a most current dispersed storage error encoded revision level of a data segment. When a revision value of the encoded data slice compares favorably with the most current revision level of the other encoded data slice, the method continues with the processing module retrieving a decode threshold number of encoded data slices, reconstructing the data segment from the decode threshold number of encoded data slices, and generating a rebuilt encoded data slice from the reconstructed data segment.

Detecting single event upsets and stuck-at faults in RAM-based data path controllers

In one embodiment, a method includes receiving data including a plurality of data elements and creating a binary sequence having a plurality of bonus bits using a first binary sequence generator. A total length of the binary sequence is equal to or greater than a predetermined maximum burst size, and the first binary sequence generator is configured to produce the binary sequence to have less than a 0.1% chance of matching any sequence of bits in the data while in a data path. Moreover, the method includes providing a parity calculation using bits of each data element along with a bonus bit from the binary sequence to produce a corresponding parity bit for each data element and passing bursts of data that include the plurality of data elements along with a number of parity bits to an input of the data path.