IP Library › Granted Patent US 8,285,959
Granted Patent B2
US 8,285,959 · App. 12/692,838 · Granted Oct 9, 2012

Method for placement of virtual volume hot-spots in storage pools using ongoing load measurements and ranking

Assignee: Netapp, Inc.
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,285,959
App. No.
12/692,838
Granted
Oct 9, 2012
Kind
B2
Abstract

The present invention is directed to a method for providing data element placement in a storage system via a Dynamic Storage Tiering (DST) mechanism, such that improved system efficiency is promoted. For example, the DST mechanism may implement an algorithm for providing data element placement. The data elements (ex.—virtual volume hot-spots) may be placed into storage pools, such that usage of higher performing storage pools is maximized. Hot-spots may be detected by dynamically measuring load on LBA ranges. Performance of the storage pools may be measured on an ongoing basis. Further, the hot-spots may be ranked according to load, while storage pools may be ranked according to measured performance. If a hot-spot's load decreases, the hot-spot may be moved to a lower performing storage pool. If a hot-spot's load increases, the hot-spot may be moved to a higher performing storage pool.

Claims (66)

1. A method for providing data element placement in a storage system via a Dynamic Storage Tiering (DST) mechanism, said method comprising:

organizing a plurality of storage pools of the storage system into a hierarchy based on relative performance levels of the storage pools;

placing a plurality of data elements into the plurality of storage pools based on relative activity levels of the data elements;

monitoring the plurality of data elements and the plurality of storage pools of the storage system;

determining a load of a first data element included in the plurality of data elements;

using the load of the first data element to determine a level of misfit between the first data element and a first storage pool; and

comparing the level of misfit with a misfit standard.

2. A method as claimed in claim 1 , further comprising:

determining a load range for a first storage pool included in the plurality of storage pools, the first data element being located in the first storage pool, the first storage pool having a first performance level.

3. A method as claimed in claim 2 , further comprising:

comparing the load of the first data element to the load range of the first storage pool.

4. A method as claimed in claim 3 , further comprising:

when said comparing of the load of the first data element to the load range of the first storage pool indicates that the load of the first data element is larger than an upper threshold of the load range of the first storage pool, determining a load range for a second storage pool included in the plurality of storage pools, the second storage pool having a second performance level, the second performance level being higher than the first performance level.

5. A method as claimed in claim 4 , further comprising:

comparing the load of the first data element to the load range of the second storage pool.

6. A method as claimed in claim 5 , further comprising:

when said comparing of the load of the first data element to the load range of the second data pool indicates that the load of the first data element is within the load range of the second storage pool, evaluating data element movement criteria to determine if said first data element is cleared to be moved, wherein the evaluated data element movement criteria includes at least one of: free capacity of the second storage pool; the level of misfit between the first data element and the first storage pool relative to the misfit standard; total load on the storage system; number of active DST move operations for the storage system; size of the first data element; and policy restrictions of the storage system.

7. A method as claimed in claim 6 , further comprising:

when said evaluating of said data element movement criteria indicates that the first data element is cleared to be moved, moving said first data element to the second storage pool.

8. A method as claimed in claim 7 , further comprising:

when the first data element has been moved to the second storage pool and when the load of the first data element drops below a lower threshold of the load range of the second storage pool and within the load range of the first storage pool, moving the first data element to the first storage pool.

9. A method as claimed in claim 6 , further comprising:

when said evaluating of said data element movement criteria indicates that the free capacity of the second storage pool is insufficient to allow for the first data element to be moved to the second storage pool, comparing the load of a second data element to the load of the first data element, the second data element residing in the second storage pool.

10. A method as claimed in claim 9 , further comprising:

when the load of the second data element is lesser than the load of first data element and when expulsion of the second data element would provide sufficient free capacity in the second storage pool to receive the first data element, removing the second data element from the second storage pool and moving the first data element to the second storage pool.

11. A computer program product comprising:

a computer readable non-transitory medium bearing:

computer-usable code configured for organizing a plurality of storage pools of a storage system into a hierarchy based on relative performance levels of the storage pools;

computer-usable code configured for placing a plurality of data elements into the plurality of storage pools based on relative activity levels of the data elements;

computer-usable code configured for monitoring the plurality of data elements and the plurality of storage pools of the storage system;

computer-usable code configured for determining a load of a first data element included in the plurality of data elements;

computer-usable code configured for determining a level of misfit between the first data element and a first storage pool using the load of the first data element; and

comparing the level of misfit with a misfit standard.

12. A computer program product as claimed in claim 11 , the computer readable non-transitory medium further bearing:

computer-usable code configured for determining a load range for a first storage pool included in the plurality of storage pools, the first data element being located in the first storage pool, the first storage pool having a first performance level; and

computer-usable code configured for comparing the load of the first data element to the load range of the first storage pool.

13. A computer program product as claimed in claim 12 , the computer readable non-transitory medium further bearing:

computer-usable code configured for, when said comparing of the load of the first data element to the load range of the first storage pool indicates that the load of the first data element is larger than an upper threshold of the load range of the first storage pool, determining a load range for a second storage pool included in the plurality of storage pools, the second storage pool having a second performance level, the second performance level being higher than the first performance level;

computer-usable code configured for comparing the load of the first data element to the load range of the second storage pool; and

computer-usable code configured for, when said comparing of the load of the first data element to the load range of the second data pool indicates that the load of the first data element is within the load range of the second storage pool, evaluating data element movement criteria to determine if said first data element is cleared to be moved, wherein the evaluated data element movement criteria includes at least one of: free capacity of the second storage pool; the level of misfit between the first data element and the first storage pool relative to the misfit standard; total load on the storage system; number of active DST move operations for the storage system; size of the first data element; and policy restrictions of the storage system.

14. A computer program product as claimed in claim 13 , the computer readable non-transitory medium further bearing:

computer-usable code configured for, when said evaluating of said data element movement criteria indicates that the first data element is cleared to be moved, moving said first data element to the second storage pool; and

computer-usable code configured for, when the first data element has been moved to the second storage pool and when the load of the first data element drops below a lower threshold of the load range of the second storage pool and within the load range of the first storage pool, moving the first data element to the first storage pool.

15. A computer program product as claimed in claim 13 , the computer readable non-transitory medium further bearing:

computer-usable code configured for, when said evaluating of said data element movement criteria indicates that the free capacity of the second storage pool is insufficient to allow for the first data element to be moved to the second storage pool, comparing the load of a second data element to the load of the first data element, the second data element residing in the second storage pool; and

computer-usable code configured for, when the load of the second data element is lesser than the load of first data element and when expulsion of the second data element would provide sufficient free capacity in the second storage pool to receive the first data element, removing the second data element from the second storage pool and moving the first data element to the second storage pool.

16. A method for providing data element placement in a storage system via a Dynamic Storage Tiering (DST) algorithm, said method comprising:

organizing a plurality of storage pools of the storage system into a hierarchy based on relative performance levels of the storage pools;

placing a plurality of data elements into the plurality of storage pools based on relative activity levels of the data elements;

monitoring the plurality of data elements and the plurality of storage pools of the storage system;

determining a load of a first data element included in the plurality of data elements; and

determining a load range for a first storage pool included in the plurality of storage pools, the first data element being located in the first storage pool, the first storage pool having a first performance level;

using the load of the first data element to determine a level of misfit between the first data element and the first storage pool; and

comparing the level of misfit with a misfit standard.

17. A method as claimed in claim 16 , further comprising:

comparing the load of the first data element to the load range of the first storage pool;

when said comparing of the load of the first data element to the load range of the first storage pool indicates that the load of the first data element is larger than an upper threshold of the load range of the first storage pool, determining a load range for a second storage pool included in the plurality of storage pools, the second storage pool having a second performance level, the second performance level being higher than the first performance level;

comparing the load of the first data element to the load range of the second storage pool;

when said comparing of the load of the first data element to the load range of the second data pool indicates that the load of the first data element is within the load range of the second storage pool, evaluating data element movement criteria to determine if said first data element is cleared to be moved, wherein the evaluated data element movement criteria includes at least one of: free capacity of the second storage pool; the level of misfit between the first data element and the first storage pool relative to the misfit standard; total load on the storage system; number of active DST move operations for the storage system; size of the first data element; and policy restrictions of the storage system.

18. A method as claimed in claim 17 , further comprising:

when said evaluating of said data element movement criteria indicates that the first data element is cleared to be moved, moving said first data element to the second storage pool; and

when the first data element has been moved to the second storage pool and when the load of the first data element drops below a lower threshold of the load range of the second storage pool and within the load range of the first storage pool, moving the first data element to the first storage pool.

19. A method as claimed in claim 17 , further comprising:

when said evaluating of said data element movement criteria indicates that the free capacity of the second storage pool is insufficient to allow for the first data element to be moved to the second storage pool, comparing the load of a second data element to the load of the first data element, the second data element residing in the second storage pool.

20. A method as claimed in claim 19 , further comprising:

when the load of the second data element is lesser than the load of first data element and when expulsion of the second data element would provide sufficient free capacity in the second storage pool to receive the first data element, removing the second data element from the second storage pool and moving the first data element to the second storage pool.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2011
From: LSI CORPORATION
To: NETAPP, INC.
Reel/Frame 026659/0883 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2010
From: JESS, MARTIN
To: LSI CORPORATION
Reel/Frame 023840/0242 →
Continuity (1)
Related Publication 20110185120A1 · Jul 28, 2011