Using a PID controller to opportunistically compress more data during garbage collection
First Claim
Patent Images
1. A storage system, comprising:
- a storage array;
a storage controller, operatively coupled with the storage array;
the storage controller configured to;
determine a garbage collection directive by evaluating a present amount of reclaimable space in the storage array relative to a target amount of reclaimable space in the storage array; and
perform garbage collection in the storage array, using data compression tuned to compression aggressiveness according to the garbage collection directive, whereina cost or benefit of the data compression is determined, over a range of parameter values or compression algorithms, relative to a rate of the garbage collection; and
,the data compression performed by the storage controller is tuned to compress live data from the reclaimable space over a range of the compression aggressiveness according to the garbage collection directive, to direct the rate of the garbage collection in accordance with the cost or benefit.
2 Assignments
0 Petitions
Accused Products
Abstract
A storage system performs garbage collection with data compression. A storage controller in the storage system determines a garbage collection directive by evaluating the amount of reclaimable space relative to a target amount of reclaimable space. Garbage collection is performed using data compression tunable to compression aggressiveness according to the garbage collection directive.
146 Citations
17 Claims
-
1. A storage system, comprising:
-
a storage array; a storage controller, operatively coupled with the storage array;
the storage controller configured to;
determine a garbage collection directive by evaluating a present amount of reclaimable space in the storage array relative to a target amount of reclaimable space in the storage array; andperform garbage collection in the storage array, using data compression tuned to compression aggressiveness according to the garbage collection directive, wherein a cost or benefit of the data compression is determined, over a range of parameter values or compression algorithms, relative to a rate of the garbage collection; and
,the data compression performed by the storage controller is tuned to compress live data from the reclaimable space over a range of the compression aggressiveness according to the garbage collection directive, to direct the rate of the garbage collection in accordance with the cost or benefit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of garbage collection in a storage system, performed by the storage system, the method comprising:
-
determining a present amount of reclaimable space in storage memory of the storage system; determining a garbage collection directive based on the present amount of reclaimable space in comparison to a target amount of reclaimable space, wherein the determining the garbage collection directive comprises determining the garbage collection directive as a process control output of a proportional-integral-derivative (PID) controller or proportional-integral (PI) controller that has as input an error comprising, the target amount of reclaimable space in the storage memory minus the present amount of reclaimable space; and performing garbage collection in the storage memory, using data compression tuned to compression aggressiveness according to the garbage collection directive. - View Dependent Claims (9, 10, 11)
-
-
12. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a storage controller, cause the storage controller to:
-
determine a present amount of reclaimable space in storage memory of a storage system; form a garbage collection directive based on a difference between the present amount of reclaimable space and a target amount of reclaimable space in the storage memory, wherein to form the garbage collection directive, the storage controller is to determine the garbage collection directive as a process control output of a proportional-integral-derivative (PID) controller or proportional-integral (PI) controller that has as input an error comprising the target amount of reclaimable space in the storage memory, as a set point, minus the present amount of reclaimable space, as a process variable; tune data compression aggressiveness according to the garbage collection directive; and perform garbage collection in the storage memory, with data compression, using the tuned data compression aggressiveness. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification