Patent ID: 9513814
Filing Date: 2016-12-06
CPC Classification: G06F

Claim Text:
1. A method for use in balancing I/O load on data storage systems, the method comprising: determining storage capability of each storage container of a set of storage containers included in a storage tier, wherein the storage capability of a storage container indicates a maximum I/O load enabled for the storage container based on storage performance characteristics of the storage container, wherein the set of storage containers include first and second storage containers configured such that storage characteristics associated with the first storage container is different from storage characteristics associated with the second storage container, wherein each storage container includes a set of slices; evaluating I/O load of each storage container of the set of storage containers, wherein evaluating the I/O load includes determining current I/O load and desired I/O load of each storage container, wherein the desired I/O load for a storage container is determined based on a storage utilization ratio of the storage tier and the storage capability of the storage container; and based on the evaluation, relocating a slice from the first storage container to the second storage container based on storage capabilities of the first and second storage containers, wherein the slice is relocated from the first storage container to the second storage container upon determining that the current I/O load of the first storage container is greater than the desired I/O load for the first storage container and the current I/O load of the second storage container is less than the desired I/O load for the second storage container indicating that the first storage container is over-utilized and the second storage container is under-utilized, wherein the slice is relocated by using a temporary slice relocation list, wherein the temporary slice relocation list includes a set of slices identified for relocation and temporarily holds the set of slices prior to relocating the set of slices from a source storage container to a destination storage container, wherein the current I/O load of each storage container is managed by relocating slices among the set of storage containers in order for each storage container to achieve similar storage utilization, wherein storage utilization of each storage container of the set of storage containers is changed by relocation of the slices among the set of storage containers for balancing I/O load across the storage containers, wherein storage utilization of a storage container is determined based on total I/O load and storage capability of the storage container.