Namespace range-based memory device compaction
A method includes receiving, at a management device from a first storage device, a first indication of compaction being performed on one or more drives of the first storage device of a plurality of storage devices. The first indication of compaction includes a drive identifier for the one or more drives and namespace range information associated with the one or more drives that are performing compaction. The compaction is triggered based on the namespace range information. The method further includes selecting drives for a second storage device that can perform compaction such that a namespace range is covered by enough non-compacting drives on the second storage device to service an input/output request without using the drives of the first storage device performing compaction. The method further includes transmitting, by the management device, a second indication of the selected drives to the second storage device.
1 . A computer-implemented method comprising:
receiving, at a management device from a first storage device, a first indication of compaction being performed on one or more drives of the first storage device of a plurality of storage devices, wherein the first indication of compaction comprises a drive identifier for the one or more drives and namespace range information associated with the one or more drives that are performing compaction, wherein the compaction is triggered based on the namespace range information;
selecting drives for a second storage device that can perform compaction such that a namespace range is covered by enough non-compacting drives on the second storage device to service an input/output request without using the drives of the first storage device performing compaction; and
transmitting, by the management device, a second indication of the selected drives to the second storage device, wherein the second storage device enables compaction to be performed on drives other than the selected drives.
2 . The computer-implemented method of claim 1 , wherein the drive identifier comprises a drive number.
3 . The computer-implemented method of claim 1 , wherein the selecting the drives is performed based on a client latency demand.
4 . The computer-implemented method of claim 1 , further comprising storing information about the one or more drives that are performing compaction on the first storage device to a database.
5 . The computer-implemented method of claim 1 , further comprising generating an alert to indicate information about the one or more drives that are performing compaction on the first storage device.
6 . The computer-implemented method of claim 1 , wherein a number of drives performing compaction is limited to an adjustable maximum percentage of drives in the first storage device and the second storage device across the namespace range.
7 . The computer-implemented method of claim 1 , the first storage device and the second storage device are part of a cloud storage system.
8 . A computer system comprising:
a processor set;
one or more computer-readable storage media; and
program instructions stored on the one or more computer-readable storage media to cause the processor set to perform operations comprising:
receiving, at a management device from a first storage device, a first indication of compaction being performed on one or more drives of the first storage device of a plurality of storage devices, wherein the first indication of compaction comprises a drive identifier for the one or more drives and namespace range information associated with the one or more drives that are performing compaction, wherein the compaction is triggered based on the namespace range information;
selecting drives for a second storage device that can perform compaction such that a namespace range is covered by enough non-compacting drives on the second storage device to service an input/output request without using the drives of the first storage device performing compaction; and
transmitting, by the management device, a second indication of the selected drives to the second storage device, wherein the second storage device enables compaction to be performed on drives other than the selected drives.
9 . The computer system of claim 8 , wherein the drive identifier comprises a drive number.
10 . The computer system of claim 8 , wherein the selecting the drives is performed based on a client latency demand.
11 . The computer system of claim 8 , the operations further comprising storing information about the one or more drives that are performing compaction on the first storage device to a database.
12 . The computer system of claim 8 , the operations further comprising generating an alert to indicate information about the one or more drives that are performing compaction on the first storage device.
13 . The computer system of claim 8 , wherein a number of drives performing compaction is limited to an adjustable maximum percentage of drives in the first storage device and the second storage device across the namespace range.
14 . The computer system of claim 8 , the first storage device and the second storage device are part of a cloud storage system.
15 . A computer program product comprising:
one or more computer-readable storage media; and
program instructions stored on the one or more computer-readable storage media to perform operations comprising:
receiving, at a management device from a first storage device, a first indication of compaction being performed on one or more drives of the first storage device of a plurality of storage devices, wherein the first indication of compaction comprises a drive identifier for the one or more drives and namespace range information associated with the one or more drives that are performing compaction, wherein the compaction is triggered based on the namespace range information;
selecting drives for a second storage device that can perform compaction such that a namespace range is covered by enough non-compacting drives on the second storage device to service an input/output request without using the drives of the first storage device performing compaction; and
transmitting, by the management device, a second indication of the selected drives to the second storage device, wherein the second storage device enables compaction to be performed on drives other than the selected drives.
16 . The computer program product of claim 15 , wherein the drive identifier comprises a drive number.
17 . The computer program product of claim 15 , wherein the selecting the drives is performed based on a client latency demand.
18 . The computer program product of claim 15 , the operations further comprising storing information about the one or more drives that are performing compaction on the first storage device to a database.
19 . The computer program product of claim 15 , the operations further comprising generating an alert to indicate information about the one or more drives that are performing compaction on the first storage device.
20 . The computer program product of claim 15 , wherein a number of drives performing compaction is limited to an adjustable maximum percentage of drives in the first storage device and the second storage device across the namespace range.