Patent classifications
G06F2211/1004
Utilizing Locally Decodable Redundancy Data in a Vast Storage Network
A network storage system operates by: sending, to at least one storage unit of a 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 a data segment, wherein the data segment is codable 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 slices that is required to decode the data segment; receiving from the at least one storage unit, a first subset of encoded data slices of the set of encoded data slices, wherein the first subset of encoded data slices is missing at least one missing encoded data slice from the number of the set of slices that is required to decode the data segment and that was not received from the at least one storage unit in response to the at least one read request; generating 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 includes a plurality of local redundancy slices generated from a second subset of the set of encoded data slices that includes the at least one missing encoded data slice; and recovering the data segment based on the at least one rebuilt encoded data slice and the first subset of encoded data slices.
STRIPING IN A STORAGE SYSTEM
A method for striping, the method may include performing, for each period of time out of multiple periods of time, the steps of: (i) determining striping rules; wherein the determining of the striping rules may include selecting one or more selected stripe size values out of multiple stripe size value candidates; wherein the selecting is based on values of storage system parameters that are obtained when applying the multiple stripe size value candidates; wherein the storage system parameters comprise storage space utilization and storage system throughput; and (ii) applying the striping rules by the storage system, during the period of time; wherein the applying comprises obtaining data chunks; converting the data chunks to stripes having at least one of the one or more selected stripe size values; and storing the stripes in the storage system.
Upgrading On-Disk Format Without Service Interruption
A logical map represents fragments from separate versions of a data object. Migration of data from a first (old) version to the second (new) version happens gradually, where write operations go to the new version of the data object. The logical map initially points to the old data object, but is updated to point to the portions of the new data object as write operations are performed on the new data object. A background migration copies data from the old data object to the new data object.
Efficient utilization of storage space in arrays of storage drives
A method for more efficiently utilizing storage space in a set of storage drives is disclosed. In one embodiment, such a method implements, in a set of storage drives, a first RAID utilizing data striping with distributed parity values. The method further implements, in a subset of the set of storage drives, a second RAID using residual storage space in storage drives belonging to the subset. Storage drives belonging to the subset may have a storage capacity that is larger than storage drives not belonging to the subset. In certain embodiments, the method adaptively alters a parity rotation of the first RAID to provide an increased concentration of parity values in certain storage drives of the first RAID compared to other storage drives of the first RAID. A corresponding system and computer program product are also disclosed.
Striping in a storage system
A method for striping, the method may include performing, for each period of time out of multiple periods of time, the steps of: (i) determining striping rules; wherein the determining of the striping rules may include selecting one or more selected stripe size values out of multiple stripe size value candidates; wherein the selecting is based on values of storage system parameters that are obtained when applying the multiple stripe size value candidates; wherein the storage system parameters comprise storage space utilization and storage system throughput; and (ii) applying the striping rules by the storage system, during the period of time; wherein the applying comprises obtaining data chunks; converting the data chunks to stripes having at least one of the one or more selected stripe size values; and storing the stripes in the storage system.
In-place RAID conversion system and method
A method, computer program product, and computing system for receiving a request to reconfigure a data array that currently includes N data drives and P parity drives to include N data drives and P+1 parity drives; confirming the availability of the P+1 parity drive; and distributing a plurality of new parity portions across the N data drives and P+1 parity drives.
Methods, devices and computer program products for managing a redundant array of independent disks
Embodiments of the present disclosure relate to methods, devices and computer program products for managing a redundant array of independent disks (RAID). The method comprises: in response to a number of a plurality of disks occupied by the RAID exceeding a first threshold, determining a first number of disk pairs to be disassociated among the plurality of disks, the first number of disk pairs at least comprising a first disk and a second disk associated with each other, and a first extent in the first disk and a second extent in the second disk being included in a same RAID extent of the RAID. The method further comprises determining a third disk for migrating at least one of the first extent and the second extent among the plurality of disks. Besides, the method further comprises migrating the at least one extent to the third disk to disassociate the first disk and the second disk so that a second number of disk pairs associated with each other among the plurality of disks is below a second threshold.
STRIPING DATA ACROSS ERASE BLOCKS HAVING DIFFERING SIZES
A method of operating a storage system having solid-state storage memory with segment level heterogeneity is provided. The method includes mapping data into data segments, and mapping the data segments into data stripes. The method includes writing a first data stripe from a first data segment across a first plurality of blades of the storage system comprising heterogeneous total amounts of the solid-state storage memory per blade, and writing a second data stripe from the first data segment across a second plurality of blades of the storage system.
Establishing an operation execution schedule in a storage network
A method for execution by a dispersed storage and task (DST) execution unit includes identifying a plurality of pending operations. A resource availability level to support execution of at least one of the plurality of pending operations is determined, and a required resource level to execute the at least one of the plurality of pending operations is determined. A balance factor between at least two types of the plurality of pending operations is determined based on the resource availability level and the required resource level. Determination of required timing of the execution of the at least one of the plurality of pending operations is coordinated with at least one other DST execution unit. An operation execution schedule is updated based on the required resource levels, the resource availability level, the balance factor, and the required timing of the execution.
SEGMENT LEVEL HETEROGENEITY
A method of operating a storage system having solid-state storage memory with segment level heterogeneity is provided. The method includes mapping data into data segments, and mapping the data segments into data stripes. The method includes writing a first data stripe from a first data segment across a first plurality of blades of the storage system comprising heterogeneous total amounts of the solid-state storage memory per blade, and writing a second data stripe from the first data segment across a second plurality of blades of the storage system.