摘要:
Described are techniques for performing data storage optimizations. A data storage optimizer on a first data storage system connected to a set of other data storage systems receives performance classification information. The first data storage system includes a first set of storage devices of a first performance classification. The set of other data storage systems includes a second set of storage devices of a second performance classification different from the first performance classification. A write operation is received from the host to write first data to a target address of a virtually provisioned device. It is determined that physical storage is not currently allocated for the target address of the virtually provisioned device. A first portion of physical storage is allocated for storing the first data. The first portion of physical storage is included in a storage device of the second set having the second performance classification.
摘要:
Described is data storage system modeling. Received at a first data storage system is information representing a workload for I/O operations directed to a logical devices having storage provisioned on physical devices of a second data storage system. Information representing the workload may be obtained by performing discovery processing to discover performance characteristics of the physical devices of the second data storage system. Discovery processing may include receiving, at the first data storage system, I/O operations from a client directed to the set of one or more logical devices having storage provisioned on the physical devices of the second data storage system. The I/O operations are then issued to the second data storage system. In response, performance data is obtained at the first data storage system representing the workload for the plurality of I/O operations. Performance of the second data storage system is modeled in accordance with the workload.
摘要:
Identifying data for placement in a storage system having a plurality of storage classes includes subdividing the data into portions, for each of the portions, independently determining at least one score for a particular portion based on a metric corresponding to access of the particular portion, where the at least one score for the particular portion is independent of scores for other ones of the portions, and identifying sub-portions of data for placement in a particular storage class based on the at least one score of a portion of data corresponding to the sub-portions. The at least one score may be based on short term access statistics and long term access statistics. The access statistics may include read misses, writes, and prefetches.
摘要:
Managing data in a storage system having a plurality of classes of storage includes determining an amount of data to be provided on at least one of the classes of storage according to a policy, dynamically setting a threshold according to the amount of data to be provided on the at least one of the classes or an expected performance based on the threshold, and placing data on particular classes of storage based on the threshold. Dynamically setting a threshold may include sorting data portions according to at least one score thereof and may include determining a particular score corresponding to the amount of data to be provided. The data portions may be provided in a histogram having a horizontal scale corresponding to a score value and a vertical scale corresponding to a number of data portions having a particular value.
摘要:
Described are techniques for evaluating data movement alternative. A set of criteria including capacity and performance limits is received. First processing is performed to evaluate a plurality of alternatives for use in data movement with respect to a set of logical devices having data stored on a set of physical storage devices. Each of the plurality of alternatives includes a different set of data movement criteria comprising capacity limits and a different set of performance limits. The set of physical storage devices includes at least a first physical device of one of a plurality of storage tiers and a second physical device of another one of the plurality of storage tier. One of the sets of performance limits is selected in accordance with the first processing.
摘要:
Described are techniques for tracking activity for one or more devices. Each of the one or more devices is partitioned into one or more extents. Each of the one or more extents includes a plurality of sub extents. Each of the sub extents includes a plurality of chunks. For each of said one or more extents of each of said one or more devices, extent activity level information is determined including one or more metrics indicating an activity level for said each extent; and For each of said one or more extents of each of said one or more devices, an activity bitmap is determined. The activity bitmap includes an entry for each sub extent included in said each extent, said entry indicating an activity level for said each sub extent.
摘要:
When migrating data, a first message is received at a target data storage system from a source data storage system. The target data storage system includes a data storage optimizer that performs automated data movement optimizations. The first message requests a reservation of a first amount of storage on a first storage tier for performing a data migration to migrate data from the source to the target data storage system. A first capacity limit of the first storage tier is reduced by the first amount thereby representing the reservation of the first amount of storage for performing the data migration. If the first storage tier does not include an amount of available storage of at least the first amount, processing is performed to increase the amount of available storage of the first storage tier.
摘要:
To facilitate both minimal allocations and adaptive allocations, two sets of storage group policies are defined—one policy setting minimal allocation values for storage group access to storage resources and one policy setting maximal allocation values for storage group access to storage. In addition, a set of priority weights is specified that is used to balance access to storage tiers across storage groups. Upon existence of contention for storage resources, minimum allocation values for storage groups are determined based on the priority weights for the storage groups, resulting in threshold values being set to enable at least partial access to storage resources for all storage groups without requiring priority weighting of the activity density distributions of the competing storage groups. Allocations other than the minimal allocations are provided based on relative activity density distribution of storage extents between groups.
摘要:
Described are techniques for performing storage optimizations in a system. The optimizations may include a data movement optimization. First processing may be performed by a first component to determine whether to automatically perform the data movement optimization for devices included in one or more data storage systems. The first component may be external with respect to the data storage systems and may not be included in any of the data storage systems. As a result of performing the data movement optimization, a first portion of data is automatically moved from a first of the devices to a second of the devices. The first and second devices may have different performance classifications. Additionally, automated discovery processing may be performed to determine performance classifications for devices of the data storage systems and/or determine physical device dependencies.
摘要:
A networked data storage system includes data movement logic and a virtual machine for executing a data management processing plan which is generated by a facility outside the storage array based on statistical information associated with extent level activity metrics provided by the storage array. Dynamically updated and automatically generated data management processing plans are provided to the storage array in the form of units of compiled byte code which the storage array is able to verify and execute using a virtual machine. The virtual machine interfaces with the environment in which it is embedded in a carefully constrained manner, thereby preventing clearly undesirable operations.