G06F2211/104

Maintaining hole boundary information for restoring snapshots from parity

Exemplary methods, apparatuses, and systems maintain hole boundary information by calculating a block attribute parity value. For example, a request is received to write to a first block of a stripe of data. A block attribute of a second block is determined. The block attribute of the second block indicates whether the second block includes written data or is a hole. A block attribute parity value is calculated based upon both the block attribute of the first block and the block attribute of the second block. The block attribute of the first block indicates the first block includes written data based upon the received request. The block attribute parity value and the data parity value are stored on one of the physical storage devices in response to the received write request. As a result, if a disk is lost, holes can be recovered using the block attribute parity value.

INFORMATION PROCESSING APPARATUS
20180253358 · 2018-09-06 · ·

An information processing apparatus performs a backup process to store backup target data on a deduplication storage device configured to eliminate duplicate storage by referring to previously stored data having the same content. The apparatus includes a calculation unit configured to calculate the capacity after deduplication that is performed by storing the backup target data in the deduplication storage device, each time the backup process is performed, and a determination unit configured to determine whether the backup target data is normal or abnormal, based on the capacity calculated each time the backup process is performed.

I/O accelerator for striped disk arrays using parity

Disclosed herein is an enhanced volume manager (VM) for a storage system that accelerates input/output (I/O) performance for random write operations to a striped disk array using parity. More specifically, various implementations are directed to accelerating random writes (writes comprising less than a complete stripe of data) by consolidating several random writes together to create a sequential write (a full-stripe write) to eliminate one or more read operations and/or increase the volume of new/updated data stored for each write operation. Several such implementations comprise functionality in the VM (volume manager) for identifying random write I/O requests, queuing them locally in a journal, and then periodically flushing the journal to the disk array as a sequential write request.

DATA STRIPPING, ALLOCATION AND RECONSTRUCTION
20180246793 · 2018-08-30 ·

A method for data stripping, allocation and reconstruction in an active drive storage system including a plurality of active object storage devices, each of the plurality of active object storage devices including one or more storage devices and a controller is provided. The method includes the controller of the identified one of the plurality of active object storage devices segmenting the received data into a plurality of data chunks and generating one or more parity chunks in response to the plurality of data chunks. The method further includes the controller of the identified one of the plurality of active object storage devices reorganizing the plurality of data chunks and the one or more parity chunks in response to a number of the plurality of data chunks and a number of the one or more of the plurality of active object storage devices into which the received data is to be stored. Finally, the method includes the step of the controller of the identified one of the plurality of active object storage devices storing the plurality of data chunks and the one or more parity chunks into the one or more of the plurality of active object storage devices.

Physical page, logical page, and codeword correspondence

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.

Device type differentiation for redundancy coded data storage systems
10009044 · 2018-06-26 · ·

Techniques described and suggested herein include systems and methods for optimizing performance characteristics for data archives stored on data storage systems using redundancy coding techniques by placing different processed portions of the data in disparate systems. For example, redundancy coded shards, which may include identity shards that contain unencoded original data of archives, may be stored on different types of systems to optimize for various retrieval use cases and implemented environments. Implementing systems may monitor various performance characteristics so as to adaptively account for changes to some or all of the monitored parameters.

Layered data redundancy coding techniques for layer-local data recovery
09998150 · 2018-06-12 · ·

Techniques and methods for generating and implementing multiple layers of redundancy coded data are disclosed. For example, a redundancy coding scheme may include data elements that include data that is unencoded relative to the input, yet may still fully participate in providing redundancy to any data element in a given set. In a layered scheme, the input may include a bundle or group of encoded (or unencoded) data elements, thereby nesting two or more layers of redundancy coding. The specific amount of redundancy generated by such a scheme may be adjusted and adapted to failure characteristics of the entity on which the data elements are stored.

System and method for recovering a storage array

Systems and techniques for recovering a storage array are disclosed. These systems and techniques include determining a size corresponding to a storage stripe of the storage array. Pieces assigned to the storage stripe are identified. A storage configuration corresponding to the pieces assigned to the storage stripe is detected. Ordinal information and parity information are determined corresponding to the pieces assigned to the storage stripe. The size determined corresponding to the storage stripe, identification of the pieces assigned to the storage stripe, the storage configuration, the ordinal information, and the parity information is stored in a data store to reconstruct lost or corrupted metadata corresponding to the storage array.

Method and apparatus for slice partial rebuilding in a dispersed storage network

A dispersed storage system includes a plurality of storage units that each include a partial rebuild grid module. The partial rebuild grid module includes partial rebuilding functionality to reconstruct one of a plurality of encoded data slices wherein the plurality of encoded data slices are generated from a data segment based on an error encoding dispersal function. In the partial rebuilding process, a data slice is rebuilt by combining in any order slice partials generated from at least a threshold number T of the plurality of data slices.

LOGICALLY AND HIERARCHICALLY DELINEATED VAULTS

A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by receiving an access request from a requesting entity. The method continues by determining a vault ID (identifier) based on the access request, identifying a vault configuration based on the vault ID, identifying a vault access range associated with the vault ID, and identifying a group associated with the requesting entity. The method continues by determining permissions for the group based on the vault configuration and the vault access range and authorizing the access request based on the permissions. When favorably authorized, the method continues by facilitating access to the DSN utilizing the vault configuration.