Patent classifications
G06F11/1096
Dispersed storage based on estimated life and methods for use therewith
A dispersed storage and task (DST) processing unit receives a data access request. An estimated end of life is determined for a plurality of DST execution units. A subset of the plurality of DST execution units is selected, based on a threshold number associated with the data access request and further based on the estimated end of life for the subset of the plurality of DST execution units. The data access request is executed via the subset of the plurality of DST execution units.
Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array
A RAID controller stores data in a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array, wherein a first side of the RAID 1 mirror includes a single data storage device storing an operating system image and a second side of the RAID 1 mirror includes a plurality of data storage devices forming a parity-based RAID array. The RAID controller normally calculates parity using data from both the single data storage device and the plurality of data storage devices. However, in response to a user command, the RAID controller recalculates parity stripes on each of the plurality of data storage devices using a predetermined data pattern for a logical data storage device logically replacing the single data storage device storing the operating system. Accordingly, the same stripe count is maintained and the parity-based RAID array maintains redundancy despite physical separation of the single data storage device.
Control plane method and apparatus for providing erasure code protection across multiple storage devices
A system and method for providing erasure code protection across multiple storage devices. A data switch in a storage system connects a plurality of storage devices to a remote host. Each storage device is also connected to a controller, e.g., a baseboard management controller. During normal operation, read and write commands from the remote host are sent to respective storage devices through the data switch. When a write command is executed, the storage device executing the command sends a copy of the data to the controller, which generates and stores erasure codes, e.g., on a storage device that is dedicated to the storage of erasure codes, and invisible to the remote host. When a device fails or is removed, the controller reconfigures the data switch to redirect all traffic addressed to the failed or absent storage device to the controller, and the controller responds to host commands in its stead.
Content-based data storage
An example system and method may provide for important data files to be stored in differently reliable storage medium based upon an importance score that is representative of the importance of the data file. A data file importance score is generated based on the data file. The data file is stored in a first data storage zone of a storage medium in a data storage device, in response to the data file importance score being greater than a data file importance threshold. The data file is stored in a second data storage zone of the storage medium in the data storage device, in response to the data file importance score being less than the data file importance threshold.
ACCELERATED ERASURE CODING SYSTEM AND METHOD
An accelerated erasure coding system includes a processing core for executing computer instructions and accessing data from a main memory, and a non-volatile storage medium for storing the computer instructions. The processing core, storage medium, and computer instructions are configured to implement an erasure coding system, which includes: a data matrix for holding original data in the main memory; a check matrix for holding check data in the main memory; an encoding matrix for holding first factors in the main memory, the first factors being for encoding the original data into the check data; and a thread for executing on the processing core. The thread includes: a parallel multiplier for concurrently multiplying multiple entries of the data matrix by a single entry of the encoding matrix; and a first sequencer for ordering operations through the data matrix and the encoding matrix using the parallel multiplier to generate the check data.
Fractional redundant array of silicon independent elements
Higher-level redundancy information computation enables a Solid-State Disk (SSD) controller to provide higher-level redundancy capabilities to maintain reliable operation in a context of failures of non-volatile (e.g. flash) memory elements during operation of an SSD implemented in part by the controller. For example, a first computation is an XOR, and a second computation is a weighted-sum. Various amounts of storage are dedicated to storing the higher-level redundancy information, such as amounts equivalent to an integer multiple of flash die (e.g. one, two, or three entire flash die), and such as amounts equivalent to a fraction of a single flash die (e.g. one-half or one-fourth of a single flash die).
Storage apparatus and storage apparatus control method
A storage apparatus includes a channel control unit, a storage device, and a processor. The channel control unit includes a plurality of operation units. The processor specifies, when receiving a request for read of a plurality of pieces of element data from a host computer, the plurality of pieces of element data to the plurality of operation units, respectively. The plurality of operation units respectively reads the plurality of pieces of element data from the storage device, calculates a plurality of partial codes that is a plurality of guarantee codes on the basis of the plurality of pieces of element data, and transmits the plurality of partial codes to the processor. The processor calculates, on the basis of the plurality of partial codes, a sequence code that is a guarantee code of sequence data including the plurality of pieces of element data which is concatenated.
STORAGE SYSTEM HAVING RAID STRIPE METADATA
A processing device obtains a write operation which comprises first data and second data to be stored in first and second strips of a given stripe. The processing device stores the first data in the first strip and determines that the second strip is unavailable. The processing device determines a parity based on the first data and the second data and stores the parity in a parity strip. The processing device updates metadata to indicate that the second data was not stored in the second strip. In some embodiments, the updated metadata is non-persistent and the processing device may be further configured to rebuild the given stripe, update persistent metadata corresponding to a sector of stripes including the given stripe and clear the non-persistent metadata based at least in part on a completion of the rebuild.
CONTENT-BASED DATA STORAGE
An example system and method may provide for important data files to be stored in differently reliable storage medium based upon an importance score that is representative of the importance of the data file. A data file importance score is generated based on the data file. The data file is stored in a first data storage zone of a storage medium in a data storage device, in response to the data file importance score being greater than a data file importance threshold. The data file is stored in a second data storage zone of the storage medium in the data storage device, in response to the data file importance score being less than the data file importance threshold.
DATA REBUILD INDEPENDENT OF ERROR DETECTION
A method for proactively rebuilding user data in a plurality of storage nodes of a storage cluster in a single chassis is provided. The method includes distributing user data and metadata throughout the plurality of storage nodes such that the plurality of storage nodes can read the user data, using erasure coding, despite loss of two of the plurality of storage nodes. The method includes determining to rebuild the user data for one of the plurality of storage nodes in the absences of an error condition. The method includes rebuilding the user data for the one of the plurality of storage nodes. A plurality of storage nodes within a single chassis that can proactively rebuild the user data stored within the storage nodes is also provided.