Performing data storage optimizations across multiple data storage systems
First Claim
1. A method for performing data storage optimizations comprising:
- receiving, by a data storage optimizer on a first data storage system connected to a set of one or more other data storage systems, performance classification information, said first data storage system including a first set of one or more storage devices of a first performance classification and said set of one or more other data storage systems including a second set of one or more storage devices of a second performance classification different from the first performance classification, wherein said performance classification information indicates that storage devices of the second set are of the second performance classification;
receiving, by the first data storage system from a host, a write operation to write first data to a target address of a virtually provisioned device;
determining that physical storage is not currently allocated for the target address of the virtually provisioned device; and
allocating a first portion of physical storage for storing the first data, the first portion of physical storage being included in a storage device of the second set having the second performance classification, wherein said target address is included in a first extent of the virtually provisioned device and said second performance classification is selected from a plurality of performance classifications in accordance with selection criteria, said selection criteria including one or more extent-level metrics characterizing workload of data operations directed to the first extent.
9 Assignments
0 Petitions
Accused Products
Abstract
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.
184 Citations
19 Claims
-
1. A method for performing data storage optimizations comprising:
-
receiving, by a data storage optimizer on a first data storage system connected to a set of one or more other data storage systems, performance classification information, said first data storage system including a first set of one or more storage devices of a first performance classification and said set of one or more other data storage systems including a second set of one or more storage devices of a second performance classification different from the first performance classification, wherein said performance classification information indicates that storage devices of the second set are of the second performance classification; receiving, by the first data storage system from a host, a write operation to write first data to a target address of a virtually provisioned device; determining that physical storage is not currently allocated for the target address of the virtually provisioned device; and allocating a first portion of physical storage for storing the first data, the first portion of physical storage being included in a storage device of the second set having the second performance classification, wherein said target address is included in a first extent of the virtually provisioned device and said second performance classification is selected from a plurality of performance classifications in accordance with selection criteria, said selection criteria including one or more extent-level metrics characterizing workload of data operations directed to the first extent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for performing data storage optimizations comprising:
-
receiving, by a data storage optimizer on a first data storage system connected to a set of one or more other data storage systems, performance classification information, said first data storage system including a first set of one or more storage devices of a first performance classification and said set of one or more other data storage systems including a second set of one or more storage devices of a second performance classification different from the first performance classification, wherein said performance classification information indicates that storage devices of the second set are of the second performance classification; receiving, by the first data storage system from a host, a write operation to write first data to a target address of a virtually provisioned device; determining that physical storage is not currently allocated for the target address of the virtually provisioned device; and allocating a first portion of physical storage for storing the first data, the first portion of physical storage being included in a storage device of the second set having the second performance classification, wherein a subrange of a logical address range for the virtually provisioned device includes the target address and is mapped to the first portion of physical storage, and wherein said allocating includes selecting said second performance classification from a plurality of performance classifications in accordance with selection criteria, said selection criteria including a first set of one or more metrics used to characterize an expected workload or level of activity in connection with data operations directed to said subrange, and wherein the method further includes; performing processing to collect one or more metrics for each of a plurality of data portions of said virtually provisioned device; and performing processing for evaluating whether to perform a data movement optimization to move the first data currently included in one of the plurality of data portions of the virtually provisioned device and currently stored on the first portion of physical storage of the storage device having the second performance classification to a second portion of physical storage included on another device of the first set having the first performance classification, wherein said processing for evaluating uses information including at least one said one or more metrics collected for each data portion of the virtually provisioned device, wherein said plurality of data portions are extents, each of said extents being partitioned into a plurality of sub extents, said target address of the virtually provisioned device being included in a first sub extent of a first of the extents, wherein said one or more metrics for each of said extents includes one or more extent-level metrics, wherein one or more thresholds identify performance score thresholds and are dynamically determined using any of a capacity limit and a performance limit, and wherein said selecting said second performance classification in accordance with selection criteria includes; receiving first extent-level metrics for the first extent; determining a first score using said first extent-level metrics for the first extent; and selecting, using information including said first score and said one or more thresholds, said second performance classification from said plurality of performance classifications. - View Dependent Claims (17)
-
-
18. A system comprising:
-
a plurality of data storage systems including a first data storage system and one or more other data storage systems, said first data storage system including a first set of one or more storage devices of a first performance classification and said one or more other data storage systems including a second set of one or more storage devices of a second performance classification different from the first performance classification; and a computer readable medium comprising code stored thereon for performing data storage optimizations, the computer readable medium comprising code stored thereon that; receives performance classification information by a data storage optimizer on the first data storage system connected to the one or more other data storage systems, wherein said performance classification information indicates that storage devices of the second set are of the second performance classification; receives, by the first data storage system from a host, a write operation to write first data to a target address of a virtually provisioned device; determines that physical storage is not currently allocated for the target address of the virtually provisioned device; and allocates a first portion of physical storage for storing the first data, the first portion of physical storage being included in a storage device of the second set having the second performance classification, wherein said target address is included in a first extent of the virtually provisioned device and said second performance classification is selected from a plurality of performance classifications in accordance with selection criteria, said selection criteria including one or more extent-level metrics characterizing workload of data operations directed to the first extent.
-
-
19. A system comprising:
-
a plurality of data storage systems including a first data storage system and one or more other data storage systems, said first data storage system including a first set of one or more storage devices of a first performance classification and said one or more other data storage systems including a second set of one or more storage devices of a second performance classification different from the first performance classification; and a computer readable medium comprising code stored thereon for performing data storage optimizations, the computer readable medium comprising code stored thereon that; receives performance classification information by a data storage optimizer on the first data storage system connected to the one or more other data storage systems, wherein said performance classification information indicates that storage devices of the second set are of the second performance classification; receives, by the first data storage system from a host, a write operation to write first data to a target address of a virtually provisioned device; determines that physical storage is not currently allocated for the target address of the virtually provisioned device; and allocates a first portion of physical storage for storing the first data, the first portion of physical storage being included in a storage device of the second set having the second performance classification, wherein said second set of devices is a set of logical devices and the computer readable medium further comprises; code that performs discovery processing to determine said performance classification information, where said discovery processing includes issuing I/Os to said set of logical devices and determining performance classifications based on observed response times; and code that evaluates data movement alternatives, wherein said code that evaluates data movement alternatives further includes code that; receives a set of criteria including capacity limits and performance limits, said performance limits including a plurality of sets of performance limits, each of said plurality of sets specifying a plurality of performance limits for a plurality of storage tiers, a first of said plurality of storage tiers corresponding to said first performance classification and a second of said plurality of storage tiers corresponding to said second performance classification; performs first processing to evaluate a plurality of alternatives for use in data movement with respect to said set of logical devices having data stored on a set of physical storage devices, each of said plurality of alternatives including a different set of data movement criteria comprising said capacity limits and a different one of said plurality of sets of performance limits, said set of physical storage devices comprising at least a first physical device of one of said plurality of storage tiers and a second physical device of another one of said plurality of storage tiers; and selects one of said plurality of sets of performance limits in accordance with said first processing.
-
Specification