Patent classifications
G06F2211/1004
Rebuilding missing data in a storage network via locally decodable redundancy data
A processing system of a storage network operates by: sending, to at least one storage unit of the storage network, at least one read request corresponding to at least a read threshold number of a set of encoded data slices to be retrieved, wherein the set of encoded data slices correspond to data, wherein the data is coded in accordance with dispersed error coding parameters that include a write threshold number and the read threshold number, wherein the write threshold number is a number of encoded data slices in the set of encoded data slices and wherein the read threshold number is a number of the set of encoded data slices that is required to decode the data; receiving, via the at least one processing circuit and from the at least one storage unit, a first subset of the set of encoded data slices, wherein the first subset is missing at least one missing encoded data slice that was not received from the at least one storage unit in response to the at least one read request and wherein a number of encoded data slices in the first subset is less than the read threshold number; generating, via the at least one processing circuit, at least one rebuilt encoded data slice corresponding to the at least one missing encoded data slice utilizing locally decodable redundancy data, wherein the locally decodable redundancy data generated from a second subset of the set of encoded data slices that includes the at least one missing encoded data slice; and recovering, via the at least one processing circuit, the data based on the at least one rebuilt encoded data slice and the first subset.
Data storage system and method for a plurality of disk arrays
The present invention provides a data storage system and method. A controller is connected to a plurality of disk arrays, and each disk array is provided with a data protection unit for data protection. When one disk drive of one of the disk arrays is damaged, this disk array is defined as a damaged disk array, while other disk arrays without disk drives being damaged are defined as at least one normal disk array. The controller stops to write a new written data into the damaged disk array, while write the new written data into the normal disk arrays. The new written data will be protected by the data protection units of the normal disk arrays. Thereby, continuous data protection for the new written data by the data protection units together with preservation of storage performance of the system, after the disk drive is damaged, may be achieved.
Raid system performance enhancement using compressed data and byte addressable storage devices
A method for operating a RAID storage system includes configuring the RAID storage devices to receive in a read or write command a byte count, receiving a first data block to write to the storage system, compressing the received first data block to generate a first compressed data block, and then storing the first compressed data block memory. The method additionally includes executing a set of RAID operations to perform a partial stripe update, including: retrieving a second compressed data block from memory; determining a physical size of the second compressed data block; generating, based on the second compressed data block and the physical size, redundant data corresponding with the second compressed data block; and writing the second compressed data block and the redundant data by transmitting a write command including the second compressed data block, the redundant data, and the physical size to the set of RAID storage devices.
Automatically reconfiguring a storage memory topology
A storage cluster is provided. The storage cluster includes a plurality of storage nodes within a single chassis. Each of the plurality of storage nodes has nonvolatile solid-state memory for storage of user data. The plurality of storage nodes are configured to distribute the user data and metadata throughout the plurality of storage nodes with erasure coding of the user data such that the plurality of storage nodes can access the user data, via the erasure coding, with a failure of two of the plurality of storage nodes. The plurality of storage nodes are configured to employ the erasure coding to reconfigure redundancy of the user data responsive to one of adding or removing a storage node.
Data protection for cold storage system
A data storage apparatus comprising a plurality of data storage devices configured to store data blocks, and one or more protection devices configured to store protection blocks, wherein the data devices and the protection devices are associated by a plurality of stripes, wherein each stripe comprises a memory block on each data device or protection device, and wherein each protection block in a protection device comprises a value for reconstructing storage blocks in the same stripe, and a controller configured to select a data device, store data blocks sequentially to the memory blocks in the selected data devices, store protection blocks in the protection devices for each updated stripe, read data blocks from a selected data device, and reconstruct damaged storage devices. It operates a cold storage system with less power consumption, low component wear, and flexible in capacity expansion.
Recovering Missing Data in a Storage Network via Locally Decodable Redundancy Data
A processing system of a storage network operates by: sending, to at least one storage unit of the storage network, at least one read request corresponding to at least a read threshold number of a set of encoded data slices to be retrieved, wherein the set of encoded data slices correspond to data, wherein the data is coded in accordance with dispersed error coding parameters that include a write threshold number and the read threshold number, wherein the write threshold number is a number of encoded data slices in the set of encoded data slices and wherein the read threshold number is a number of the set of encoded data slices that is required to decode the data; receiving, at the at least one processing circuit and from the at least one storage unit, a first subset of the set of encoded data slices, wherein at least one missing encoded data slice was not included in the first subset and wherein a number of encoded data slices in the first subset is less than the read threshold number; generating, via the at least one processing circuit, at least one rebuilt encoded data slice corresponding to the at least one missing encoded data slice utilizing locally decodable redundancy data, wherein the locally decodable redundancy data corresponds to a second subset of the set of encoded data slices that includes the at least one missing encoded data slice and wherein the locally decodable redundancy data is stored locally to the processing circuit; and recovering, via the at least one processing circuit, the data based on the at least one rebuilt encoded data slice and the first subset.
ALLOCATING DATA BASED ON HARDWARE FAULTS
A data storage service receives a request to store data into a data storage system that consists of many physical data storage locations, each location having various physical characteristics. The data storage service determines a proper location for the data based on data placement rules applied to the physical data storage locations such that a set of proper locations is identified. The data storage service can place the data according to data placement rules.
SELF-VALIDATING REQUEST MESSAGE STRUCTURE AND OPERATION
A method begins by a first device generating a self-validating message by creating a master key, using the master key to create a message encryption key, encrypting a message using the message encryption key to produce an encrypted message, encrypting the master key using a public key of a second device to produce an encrypted master key, and including a message authentication code of the first device in the self-validating message. The method continues by the second device receiving and decoding the self-validating message by verifying the message authentication code of the first device, and when the message authentication code of the first device is verified, decrypting the encrypted master key using a private key of the second device to recover the master key, using the master key to create the message encryption key, and decrypting the encrypted message using the message encryption key to recover the message.
Adjusting a number of dispersed storage units
A method begins by a processing module of a dispersed storage network (DSN) determining that a set of storage units of the DSN will be substantially used for read operations of dispersed storage error encoded data. For the set of storage units, the method continues with the processing module determining an actual level of reliability in retrieving a decode threshold number of encoded data slices per read request of a plurality of read requests. The method continues with the processing module comparing the actual reliability to a desired level of reliability in retrieving the decode threshold number of encoded data slices per read request of the plurality of read requests. When the actual reliability exceeds the desired reliability by a reconfiguration threshold, the method continues with the processing module removing one or more storage units from the set of storage units.
Data Protection For Cold Storage System
A data storage apparatus comprising a plurality of data storage devices configured to store data blocks, and one or more protection devices configured to store protection blocks, wherein the data devices and the protection devices are associated by a plurality of stripes, wherein each stripe comprises a memory block on each data device or protection device, and wherein each protection block in a protection device comprises a value for reconstructing storage blocks in the same stripe, and a controller configured to select a data device, store data blocks sequentially to the memory blocks in the selected data devices, store protection blocks in the protection devices for each updated stripe, read data blocks from a selected data device, and reconstruct damaged storage devices. It operates a cold storage system with less power consumption, low component wear, and flexible in capacity expansion.