Migration of encoded data slices in a dispersed storage network
First Claim
1. A method for execution by one or more processing modules of a storage unit of a dispersed storage network (DSN), the method comprises:
- monitoring input/output (IO) rates of a plurality of disk drives, wherein the storage unit stores a plurality of encoded data slices from a plurality of sets of encoded data slices in at least some of the plurality of disk drives, and wherein access requests for encoded data slices of the plurality of encoded data slices occur at varying rates;
determining that the IO rate of a first disk drive of the plurality of disk drives is exceeding a desired maximum IO rate;
identifying a pending access request for a first encoded data slice of the plurality of encoded data slices stored in the first disk drive, wherein the first encoded data slice is of a first set of encoded data slices of the plurality of sets of encoded data slices, and wherein a decode threshold number of encoded data slices of the first set of encoded data slices is needed to reconstruct a data segment;
evaluating disk drive processing rates of other storage units that are storing other encoded data slices of the first set of encoded data slices to determine whether the first encoded data slice is needed to satisfy the pending access request, wherein the evaluating the disk drive processing rates of the other storage units by;
receiving, from each of the other storage units, disk drive processing rates for each of a plurality of other disk drives;
identifying, for each of the other storage units, the disk drive processing rate of another disk drive of the plurality of other disk drives storing one of the other encoded data slices;
determining whether the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate;
when less than the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate, indicating that the first encoded data slice is needed; and
when the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate, indicating that the first encoded data slice is not needed; and
when the first encoded data slice is needed, migrating the first encoded data slice to another disk drive of the plurality of disk drives.
5 Assignments
0 Petitions
Accused Products
Abstract
A method includes a processing module of a storage unit of a dispersed storage network (DSN) monitoring input/output (IO) rates of a plurality of disk drives, where access requests for encoded data slices occur at varying rates. The method continues with the processing module determining that the IO rate of a disk drive is exceeding a desired maximum IO rate and identifying a pending access request for an encoded data slice stored in the disk drive. The method continues with the processing module evaluating disk drive processing rates of other storage units that are storing other encoded data slices of a set of encoded data slices that includes the encoded data slice to determine whether the encoded data slice is needed to satisfy the pending access request. When the encoded data slice is needed, the method continues with the processing module migrating the encoded data slice to another disk drive.
-
Citations
15 Claims
-
1. A method for execution by one or more processing modules of a storage unit of a dispersed storage network (DSN), the method comprises:
-
monitoring input/output (IO) rates of a plurality of disk drives, wherein the storage unit stores a plurality of encoded data slices from a plurality of sets of encoded data slices in at least some of the plurality of disk drives, and wherein access requests for encoded data slices of the plurality of encoded data slices occur at varying rates; determining that the IO rate of a first disk drive of the plurality of disk drives is exceeding a desired maximum IO rate; identifying a pending access request for a first encoded data slice of the plurality of encoded data slices stored in the first disk drive, wherein the first encoded data slice is of a first set of encoded data slices of the plurality of sets of encoded data slices, and wherein a decode threshold number of encoded data slices of the first set of encoded data slices is needed to reconstruct a data segment; evaluating disk drive processing rates of other storage units that are storing other encoded data slices of the first set of encoded data slices to determine whether the first encoded data slice is needed to satisfy the pending access request, wherein the evaluating the disk drive processing rates of the other storage units by; receiving, from each of the other storage units, disk drive processing rates for each of a plurality of other disk drives; identifying, for each of the other storage units, the disk drive processing rate of another disk drive of the plurality of other disk drives storing one of the other encoded data slices; determining whether the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate; when less than the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate, indicating that the first encoded data slice is needed; and when the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate, indicating that the first encoded data slice is not needed; and when the first encoded data slice is needed, migrating the first encoded data slice to another disk drive of the plurality of disk drives. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer readable non-transitory storage medium comprises:
-
at least one memory section that stores operational instructions that, when executed by one or more processing modules of a storage unit of a dispersed storage network (DSN), causes the storage unit to; monitor input/output (IO) rates of a plurality of disk drives, wherein the storage unit stores a plurality of encoded data slices from a plurality of sets of encoded data slices in at least some of the plurality of disk drives, and wherein access requests for encoded data slices of the plurality of encoded data slices occur at varying rates; determine that the IO rate of a first disk drive of the plurality of disk drives is exceeding a desired maximum IO rate; identify a pending access request for a first encoded data slice of the plurality of data slices stored in the first disk drive, wherein the first encoded data slice is of a first set of encoded data slices of the plurality of sets of encoded data slices, and wherein a decode threshold number of encoded data slices of the first set of encoded data slices is needed to reconstruct a data segment; evaluate disk drive processing rates of other storage units that are storing other encoded data slices of the first set of encoded data slices to determine whether the first encoded data slice is needed to satisfy the pending access request, wherein the disk drive processing rates of the other storage units are evaluated by; receiving, from each of the other storage units, disk drive processing rates for each of a plurality of other disk drives; identifying, for each of the other storage units, the disk drive processing rate of another disk drive of the plurality of other disk drives storing one of the other encoded data slices; determining whether the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate; when less than the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate, indicating that the first encoded data slice is needed; and when the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate, indicating that the first encoded data slice is not needed; and when the first encoded data slice is needed, migrate the first encoded data slice to another disk drive of the plurality of disk drives. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A storage unit of a dispersed storage network (DSN), the storage unit comprises:
-
an interface; a memory; and a processing module operably coupled to the interface and the memory, wherein the processing module functions to; monitor input/output (IO) rates of a plurality of disk drives, wherein the storage unit stores, in the memory, a plurality of encoded data slices from a plurality of sets of encoded data slices in at least some of the plurality of disk drives, and wherein access requests for encoded data slices of the plurality of encoded data slices occur at varying rates; determine that the IO rate of a first disk drive of the plurality of disk drives is exceeding a desired maximum IO rate; identify a pending access request for a first encoded data slice of the plurality of data slices stored in the first disk drive, wherein the first encoded data slice is of a first set of encoded data slices of the plurality of sets of encoded data slices and wherein a decode threshold number of encoded data slices of the first set of encoded data slices is needed to reconstruct a data segment; evaluate disk drive processing rates of other storage units that are storing other encoded data slices of the first set of encoded data slices to determine whether the first encoded data slice is needed to satisfy the pending access request, wherein the disk drive processing rates of the other storage units are evaluated by; receiving, from each of the other storage units, disk drive processing rates for each of a plurality of other disk drives; identifying, for each of the other storage units, the disk drive processing rate of another disk drive of the plurality of other disk drives storing one of the other encoded data slices; determining whether the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate; when less than the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate, indicating that the first encoded data slice is needed; and when the decode threshold number of the plurality of other disk drives have an IO rate below the desired maximum IO rate, indicating that the first encoded data slice is not needed; and when the first encoded data slice is needed, migrate the first encoded data slice to another disk drive of the plurality of disk drives. - View Dependent Claims (12, 13, 14, 15)
-
Specification