IP Library Granted Patent US 10,248,319
Granted Patent B2
US 10,248,319 · App. 14/675,151 · Granted Apr 2, 2019

Storage pool capacity management

Inventors: Gabriel Alatorre (Long Beach, CA); Heiko Hary Ludwig (San Francisco, CA); Nagapramod S. Mandagere (San Jose, CA); Yang Song (San Jose, CA)
Assignee: International Business Machines Corporation
G06F3/0608G06F3/067G06F3/0641G06F3/0644G06F3/0685
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 10,248,319
App. No.
14/675,151
Granted
Apr 2, 2019
Kind
B2
Abstract

Embodiments relate to a pool of persistent storage volumes. Capacity of the volumes is managed to ensure continued operation and function of the volumes with respect to their corresponding storage pool capacity threshold(s). A background process groups the volumes within each pool into one or more clusters based on a similarity or commonality characteristic. The background process selectively performs one or more space savings techniques of a copy of a selected volume, measures impact data associated with the techniques, and maintains the data. At such time as the threshold level is approached for a storage pool, one or more space reduction actions take place on constituent volumes in view of the background process and the associated groups. The reduction action includes implementation of a space saving technique, such as compression and/or thinning, of one or more volumes in one or more clusters in an associated storage pool.

Claims (49)

1. A computer implemented method for managing capacity of a storage pool comprising:

decoupling estimation of capacity saving from one or more space reduction actions and actual execution of the one or more space reduction actions, comprising:

processing non-compressed data and maintaining live usage statistics associated with volumes in the storage pool operating at a first state;

maintaining a list of candidate volumes in each storage pool for space reduction, the list associated with corresponding capacity savings and performance measurements;

prioritizing volumes for each storage pool in the list as a function of storage growth projection;

selecting a volume from the storage pool, and performing a first space reduction action on a copy of the selected volume, including:

measuring a capacity change associated with the selected volume, and recording capacity change data in a first location;

measuring performance change from a workload on the selected volume, and recording performance change data in a second location; and

producing a subset of optimal space reduction actions for execution, the actions based on the recorded capacity and performance change data; and

on-demand, executing at least one action from the produced subset of optimal space reduction actions on a corresponding volume in the storage pool in the first state, the execution selectively converting one or more non-compressed volumes in the storage pool to a second state, wherein the second state is selected from the group consisting of: compressed and thinned.

2. The method of claim 1 , further comprising inferring capacity saving and performance degradation for a non-selected volume in the pool, wherein the inference is based on the measurements from the selected volume.

3. The method of claim 1 , further comprising predicting a change in space saving since a prior measurement, the prediction employing an I/O access pattern observed for each volume.

4. The method of claim 1 , wherein measuring performance change from the workload on the selected subset further comprises:

performing an application execution workload on an un-reduced copy of each selected subset;

performing the application execution workload on the copy of each selected subset after performing the first space reduction action; and

comparing the performance of the application workload on the un-reduced copy of each selected subset and the copy of each selected subset after performing the first space reduction action.

5. The method of claim 1 , wherein measuring performance change from the workload on the selected subset includes measuring a performance impact associated with a switch from a non-reducing state to a space reducing state of the selected subset.

6. The method of claim 1 , wherein estimating capacity savings further comprises:

clustering two or more volumes in the storage pool into a cluster based on a similarity protocol, and limiting the capacity and performance measurements to a subset of volumes in the cluster.

7. The method of claim 1 , further comprising predicting a change in storage capacity within the storage pool based on an expected new storage allocation.

8. A computer program product for managing capacity of a storage pool, the computer program product comprising a computer readable storage device having program code embodied therewith, the program code executable by a processing unit to:

decouple estimation of capacity saving from one or more space reduction actions and actual execution of the one or more space reduction actions, comprising program code to:

process non-compressed data and maintain live usage statistics associated with volumes in the storage pool operating at a first state;

maintain a list of candidate volumes in each storage pool for space reduction, the list associated with corresponding capacity savings and performance measurements;

prioritize volumes for each storage pool in the list as a function of storage growth projection;

select a volume from the storage pool and perform a first space reduction action on a copy of the selected volume, including:

measure a capacity change associated with the selected volume, and record capacity change data in a first location;

measure performance change from a switched workload on the selected volume, and record performance change data in a second location; and

produce a subset of optimal space reduction actions for execution, the actions based on the recorded capacity and performance change data; and

on-demand, execute at least one action from the produced subset of optimal space reduction actions on a corresponding volume in the storage pool in the first state, the execution to selectively convert one or more non-compressed volumes in the storage pool to a second state, wherein the second state is selected from the group consisting of: compressed and thinned.

9. The computer program code of claim 8 , further comprising program code to infer capacity saving and performance degradation for a non-selected volume in the pool, wherein the inference is based on the measurements from the selected volume.

10. The computer program code of claim 8 , further comprising program code to:

predict a change in space saving since a prior measurement, the prediction employing an I/O access pattern observed for each volume; and

periodically update the measurements, including invalidating any prior measurement data.

11. A computer system comprising:

a processing unit operatively coupled to memory;

a storage pool, having two or more storage volumes, operatively coupled to the processing unit, wherein non-compressed data is processed and live usage statistics associated with the volumes in the storage pool operating at a first state is maintained;

a tool in communication with the processing unit to manage capacity of the storage pool, including:

a decouple module to estimate capacity saving from one or more space reduction actions and actual execution of the one or more space reduction actions, the decouple module to:

select a volume from the storage pool, and perform a first space reduction action on a copy of the selected volume;

maintain a list of candidate volumes in each storage pool for space reduction, the list associated with corresponding capacity savings and performance measurements;

prioritize volumes for each storage pool in the list as a function of storage growth projection;

measure a capacity change associated with the selected volume, and record capacity change data in a first location;

measure performance change from a workload on the selected volume, and record performance change data in a second location;

a selection module to produce a subset of optimal space reduction actions for execution, the actions based on the recorded capacity and performance change data; and

the selection module to on-demand, execute at least one action on the produced subset of optimal space reduction actions on a corresponding volume in the storage pool in the first state, the execution selectively converting one or more non-compressed volumes in the storage pool to a second state, wherein the second state is selected from the group consisting of: compressed and thinned.

12. The system of claim 11 , further comprising the decouple module to infer capacity saving and performance degradation for a non-selected volume in the pool, wherein the inference is based on the measurements from the selected volume.

13. The system of claim 11 , further comprising the decouple module to predict a change in space saving since a prior measurement, the prediction employing an I/O access pattern observed for each volume.

14. The system of claim 13 , further comprising an update of the measurements, including an invalidation of any prior measurement data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2015
From: ALATORRE, GABRIEL; LUDWIG, HEIKO HARY; MANDAGERE, NAGAPRAMOD S.; SONG, YANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035346/0795 →
Continuity (1)
Related Publication 20160291876A1 · Oct 6, 2016