Techniques for providing storage hints for use in connection with data movement optimizations
First Claim
1. A method for providing hints comprising:
- receiving input/output (I/O) wait time activity data for a plurality of data portions, said I/O wait time activity data for each of the plurality of data portions denoting an amount of time waiting for I/O operations, directed to said each data portion, to complete;
performing first processing for each of the plurality of data portions, said first processing including;
aggregating I/O wait time activity data for said each data portion for each of a plurality of time periods; and
determining a value for a metric for said each data portion in accordance with criteria including the I/O wait time activity data from said aggregating for said each data portion and an entropy value determined with respect to the I/O wait time activity data for said each data portion, wherein said entropy value for said each data portion is included in a range having a minimum and a maximum, wherein said entropy value of said metric for said each data portion provides an indication regarding how evenly I/O wait time for said each data portion is spread across said plurality of time periods, and denotes a variation in I/O wait time of said each data portion with respect to I/O wait time of said each data portion in said plurality of time periods, wherein if said each data portion has a same I/O wait time in each of the plurality of time periods, said entropy value of said metric for said each data portion is the maximum of the range indicating no variation in I/O wait for said each data portion, and if said each data portion has all its I/O wait time occur in a single one of the plurality of time periods, said entropy value of said metric for said each data portion is the minimum of the range indicating a largest possible variation in I/O wait time for said each data portion;
ranking a plurality of values for the metric determined by said first processing for said plurality of data portions;
identifying, based on said ranking, a set of one or more of said plurality of data portions, wherein each data portion in said set is ranked higher by said ranking as having a greater variation in I/O wait time over the plurality of time periods than any other data portion of said plurality of data portions not included in said set; and
performing hint generation processing to generate a hint for each data portion in said set, said hint being used in connection with performing data storage movement optimizations to move selected ones of said plurality of data portions between different storage tiers having different performance classifications, wherein said hint for said each data portion in said set includes a location of said each data portion, identifies one or more of the plurality of time periods, and identifies a level of activity for said each data portion during the identified one or more time periods of the hint based on said I/O wait time activity data, and wherein, when said level of activity of said each data portion denotes a level of activity above a threshold, the hint for said each data portion is used in connection with evaluating whether to promote said each data portion in connection with the data storage movement optimization thereby moving said each data portion from a first storage tier to a second storage tier, where the second storage tier has a performance classification higher than the first storage tier.
9 Assignments
0 Petitions
Accused Products
Abstract
Described are techniques for providing hints. Activity data for data portions is received. For each data portion, activity data is aggregated for each of a plurality of time periods and a value for a metric is determined for the data portion in accordance with the aggregated activity data. The values for the metric are ranked. A set of one or more data portions are identified based on the ranked metric values. Hint generation processing is performed to generate a hint for each data portion in said set. The hint may be used in connection with performing data storage movement optimizations to move selected data portions between different storage tiers having different performance classifications. The metric may be determined using one or more criteria including standard deviation, entropy and/or a maximum probability for a time period having the largest portion of I/O wait time for a data portion.
79 Citations
17 Claims
-
1. A method for providing hints comprising:
-
receiving input/output (I/O) wait time activity data for a plurality of data portions, said I/O wait time activity data for each of the plurality of data portions denoting an amount of time waiting for I/O operations, directed to said each data portion, to complete; performing first processing for each of the plurality of data portions, said first processing including; aggregating I/O wait time activity data for said each data portion for each of a plurality of time periods; and determining a value for a metric for said each data portion in accordance with criteria including the I/O wait time activity data from said aggregating for said each data portion and an entropy value determined with respect to the I/O wait time activity data for said each data portion, wherein said entropy value for said each data portion is included in a range having a minimum and a maximum, wherein said entropy value of said metric for said each data portion provides an indication regarding how evenly I/O wait time for said each data portion is spread across said plurality of time periods, and denotes a variation in I/O wait time of said each data portion with respect to I/O wait time of said each data portion in said plurality of time periods, wherein if said each data portion has a same I/O wait time in each of the plurality of time periods, said entropy value of said metric for said each data portion is the maximum of the range indicating no variation in I/O wait for said each data portion, and if said each data portion has all its I/O wait time occur in a single one of the plurality of time periods, said entropy value of said metric for said each data portion is the minimum of the range indicating a largest possible variation in I/O wait time for said each data portion; ranking a plurality of values for the metric determined by said first processing for said plurality of data portions; identifying, based on said ranking, a set of one or more of said plurality of data portions, wherein each data portion in said set is ranked higher by said ranking as having a greater variation in I/O wait time over the plurality of time periods than any other data portion of said plurality of data portions not included in said set; and performing hint generation processing to generate a hint for each data portion in said set, said hint being used in connection with performing data storage movement optimizations to move selected ones of said plurality of data portions between different storage tiers having different performance classifications, wherein said hint for said each data portion in said set includes a location of said each data portion, identifies one or more of the plurality of time periods, and identifies a level of activity for said each data portion during the identified one or more time periods of the hint based on said I/O wait time activity data, and wherein, when said level of activity of said each data portion denotes a level of activity above a threshold, the hint for said each data portion is used in connection with evaluating whether to promote said each data portion in connection with the data storage movement optimization thereby moving said each data portion from a first storage tier to a second storage tier, where the second storage tier has a performance classification higher than the first storage tier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium comprising code stored thereon for providing hints, the non-transitory computer readable medium comprising code stored thereon that, when executed by a processor, performs a method for providing hints comprising:
-
receiving I/O wait time activity data for a plurality of data portions, said I/O wait time activity data for each of the plurality of data portions denoting an amount of time waiting for I/O operations, directed to said each data portion, to complete; performing first processing for each of the plurality of data portions, said first processing including; aggregating I/O wait time activity data for said each data portion for each of a plurality of time periods; and determining a value for a metric for said each data portion in accordance with criteria including the I/O wait time activity data from said aggregating for said each data portion and an entropy value determined with respect to the I/O wait time activity data for said each data portion, wherein said entropy value for said each data portion is included in a range having a minimum and a maximum, wherein said entropy value of said metric for said each data portion provides an indication regarding how evenly I/O wait time for said each data portion is spread across said plurality of time periods, and denotes a variation in I/O wait time of said each data portion with respect to I/O wait time of said each data portion in said plurality of time periods, wherein if said each data portion has a same I/O wait time in each of the plurality of time periods, said entropy value of said metric for said each data portion is the maximum of the range indicating no variation in I/O wait for said each data portion, and if said each data portion has all its I/O wait time occur in a single one of the plurality of time periods, said entropy value of said metric for said each data portion is the minimum of the range indicating a largest possible variation in I/O wait time for said each data portion; ranking a plurality of values for the metric determined by said first processing for said plurality of data portions; identifying, based on said ranking, a set of one or more of said plurality of data portions, wherein each data portion in said set is ranked higher by said ranking as having a greater variation in I/O wait time over the plurality of time periods than any other data portion of said plurality of data portions not included in said set; and performing hint generation processing to generate a hint for each data portion in said set, said hint being used in connection with performing data storage movement optimizations to move selected ones of said plurality of data portions between different storage tiers having different performance classification, wherein said hint for said each data portion in said set includes a location of said each data portion, identifies one or more of the plurality of time periods, and identifies a level of activity for said each data portion during the identified one or more time periods of the hint based on said I/O wait time activity data, and wherein, when said level of activity of said each data portion denotes a level of activity above a threshold, the hint for said each data portion is used in connection with evaluating whether to promote said each data portion in connection with the data storage movement optimization thereby moving said each data portion from a first storage tier to a second storage tier, where the second storage tier has a performance classification higher than the first storage tier.
-
-
16. A system comprising:
-
one or more data storage systems for which data storage movement optimizations are performed by a data storage optimizer; and a non-transitory computer readable medium comprising code stored thereon that, when executed by a processor, performs a method for providing hints comprising; receiving I/O wait time activity data for a plurality of data portions, said I/O wait time activity data for each of the plurality of data portions denoting an amount of time waiting for I/O operations, directed to said each data portion, to complete; performing first processing for each of the plurality of data portions, said first processing including; aggregating I/O wait time activity data for said each data portion for each of a plurality of time periods; and determining a value for a metric for said each data portion in accordance with criteria including the I/O wait time activity data from said aggregating for said each data portion and an entropy value determined with respect to the I/O wait time activity data for said each data portion, wherein said entropy value for said each data portion is included in a range having a minimum and a maximum, wherein said entropy value of said metric for said each data portion provides an indication regarding how evenly I/O wait time for said each data portion is spread across said plurality of time periods, and denotes a variation in I/O wait time of said each data portion with respect to I/O wait time of said each data portion in said plurality of time periods, wherein if said each data portion has a same I/O wait time in each of the plurality of time periods, said entropy value of said metric for said each data portion is the maximum of the range indicating no variation in I/O wait for said each data portion, and if said each data portion has all its I/O wait time occur in a single one of the plurality of time periods, said entropy value of said metric for said each data portion is the minimum of the range indicating a largest possible variation in I/O wait time for said each data portion; ranking a plurality of values for the metric determined by said first processing for said plurality of data portions; identifying, based on said ranking, a set of one or more of said plurality of data portions, wherein each data portion in said set is ranked higher by said ranking as having a greater variation in I/O wait time over the plurality of time periods than any other data portion of said plurality of data portions not included in said set; and performing hint generation processing to generate a hint for each data portion in said set, said hint being used in connection with performing data storage movement optimizations to move selected ones of said plurality of data portions between different storage tiers having different performance classifications, wherein said hint for said each data portion in said set includes a location of said each data portion, identifies one or more of the plurality of time periods, and identifies a level of activity for said each data portion during the identified one or more time periods of the hint based on said I/O wait time activity data, and wherein, when said level of activity of said each data portion denotes a level of activity above a threshold, the hint for said each data portion is used in connection with evaluating whether to promote said each data portion in connection with the data storage movement optimization thereby moving said each data portion from a first storage tier to a second storage tier, where the second storage tier has a performance classification higher than the first storage tier. - View Dependent Claims (17)
-
Specification