IP Library Granted Patent US 8,788,658
Granted Patent B2
US 8,788,658 · App. 13/365,793 · Granted Jul 22, 2014

Allocation and balancing of storage resources

Inventors: Rohith K. Ashok (Apex, NC); Roy F. Brabson (Raleigh, NC); Wei L. Chan (Cary, NC)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,788,658
App. No.
13/365,793
Granted
Jul 22, 2014
Kind
B2
Abstract

A system and technique for allocating and balancing storage resources includes: a plurality of storage controllers each controlling one or more storage volumes, and a processor unit operable to execute a management application to: determine, for each controller, an input/output (I/O) latency value based on an I/O latency associated with each storage volume controlled by a respective controller; determine network bandwidth utilization and network latency values corresponding to each controller; responsive to a request to allocate a new storage volume, select a controller having a desired I/O latency value; determine whether the network bandwidth utilization and network latency values for the selected controller are below respective network bandwidth utilization and network latency value thresholds; and responsive to determining that the network bandwidth utilization and network latency values for the selected controller are below respective thresholds, allocate the new storage volume to the selected controller.

Claims (36)

1. A system, comprising:

a plurality of storage controllers each controlling one or more storage volumes; and

a processor unit operable to execute a management application, the management application configured to:

determine, for each of the plurality of storage controllers, an input/output (I/O) latency value based on an I/O latency associated with each storage volume controlled by a respective storage controller, wherein the I/O latency value comprises an average I/O latency value, and wherein the average I/O latency for each storage controller is calculated by calculating a weighted average I/O latency value for each storage volume controlled by a respective storage controller, and wherein calculating the weighted average I/O latency value for each storage volume comprises calculating a weighted average I/O latency value based on weighting write I/O operations greater than read I/O operations;

determine a network bandwidth utilization value and a network latency value corresponding to each storage controller;

responsive to receiving a request to allocate a new storage volume, select a storage controller having a desired I/O latency value;

determine whether the network bandwidth utilization value and the network latency value for the selected storage controller are below a respective network bandwidth utilization threshold and a network latency value threshold;

responsive to determining that the network bandwidth utilization value and the network latency value for the selected storage controller are below the respective network bandwidth utilization threshold and network latency value threshold, allocate the new storage volume to the selected storage controller; and

responsive to determining that at least one of the network bandwidth utilization value and the network latency value for the selected storage controller are not below the respective network bandwidth utilization threshold and network latency value threshold, the management application is configured to rebalance one or more storage volumes among the plurality of storage controllers to enable the allocation of the new storage volume.

2. The system of claim 1 , wherein the management application is configured to:

determine a type of application to be utilizing the new storage volume;

determine an anticipated storage workload corresponding to the application; and

select a storage controller for allocation of the new storage volume based on the anticipated storage workload.

3. The system of claim 1 , wherein the management application is configured to verify that the I/O latency value for the selected storage controller is below a threshold I/O latency value.

4. The system of claim 1 , wherein the management application is configured to:

monitor at least one of the I/O latency value, the network bandwidth utilization value and the network latency value for the storage controllers; and

responsive to at least one of the I/O latency value, the network bandwidth utilization value and the network latency value for at least one storage controller exceeding a respective threshold, rebalance storage volume distribution among the storage controllers.

5. The system of claim 1 , wherein the management application is configured to:

analyze the I/O latency value, the network bandwidth utilization value and the network latency value for the storage controllers;

determine whether moving one or more storage volumes will lower at least one of the I/O latency value, the network bandwidth utilization value and the network latency value for at least one storage controller; and

responsive to determining that moving one or more storage volumes will lower at least one of the I/O latency value, the network bandwidth utilization value and the network latency value for at least one storage controller, migrate at least one storage volume from one storage controller to another storage controller.

6. A computer program product for storage management, the computer program product comprising:

a computer readable storage device having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to:

determine, for each of a plurality of storage controllers, an input/output (I/O) latency value based on an I/O latency associated with each storage volume controlled by a respective storage controller, wherein the I/O latency value comprises an average I/O latency value, and wherein the average I/O latency for each storage controller is calculated by calculating a weighted average I/O latency value for each storage volume controlled by a respective storage controller, and wherein calculating the weighted average I/O latency value for each storage volume comprises calculating a weighted average I/O latency value based on weighting write I/O operations greater than read I/O operations;

determine a network bandwidth utilization value and a network latency value corresponding to each storage controller;

responsive to receiving a request to allocate a new storage volume, select a storage controller having a desired I/O latency value;

determine whether the network bandwidth utilization value and the network latency value for the selected storage controller are below a respective network bandwidth utilization threshold and a network latency value threshold;

responsive to determining that the network bandwidth utilization value and the network latency value for the selected storage controller are below the respective network bandwidth utilization threshold and network latency value threshold, allocate the new storage volume to the selected storage controller; and

responsive to determining that at least one of the network bandwidth utilization value and the network latency value for the selected storage controller are not below the respective network bandwidth utilization threshold and network latency value threshold, the management application is configured to rebalance one or more storage volumes among the plurality of storage controllers to enable the allocation of the new storage volume.

7. The computer program product of claim 6 , wherein the computer readable program code is configured to:

monitor at least one of the I/O latency value, the network bandwidth utilization value and the network latency value for the storage controllers; and

responsive to at least one of the I/O latency value, the network bandwidth utilization value and the network latency value for at least one storage controller exceeding a respective threshold, rebalance storage volume distribution among the storage controllers.

8. The computer program product of claim 6 , wherein the computer readable program code is configured to:

analyze the I/O latency value, the network bandwidth utilization value and the network latency value for the storage controllers;

determine whether moving one or more storage volumes will lower at least one of the I/O latency value, the network bandwidth utilization value and the network latency value for at least one storage controller; and

responsive to determining that moving one or more storage volumes will lower at least one of the I/O latency value, the network bandwidth utilization value and the network latency value for at least one storage controller, migrate at least one storage volume from one storage controller to another storage controller.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2012
From: ASHOK, ROHITH K.; BRABSON, ROY F.; CHAN, WEI L.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027650/0876 →
Continuity (1)
Related Publication 20130205005A1 · Aug 8, 2013