Abstract:
A method, computer program product, and computing system for receiving a read request on a first cache system, wherein the read request identifies previously-written content included within a data array. The previously-written content identified in the read request may be obtained from the data array. The previously-written content identified in the read request may be compressed, thus generating compressed previously-written content. A compression ratio may be determined for the compressed previously-written content.
Abstract:
Described are techniques for partitioning storage of a data storage system. A plurality of storage groups is selected. Each of the plurality of storage groups includes one or more devices and is associated with an allocation policy including a first threshold specifying one of a minimum or a maximum amount of storage of a first of a plurality of storage tiers. Workload data for the plurality of storage groups is analyzed. Storage of a plurality of storage tiers is partitioned for use by the plurality of storage groups in accordance with criteria. The criteria includes workloads of the plurality of storage groups and the allocation policy associated with each of the plurality of storage groups.
Abstract:
Described are techniques for caching. At a first point in time, a first set of data portions currently stored in a first cache of a first data storage system is determined. Each data portion of the first set is located on a first device of the first data storage system. Sent to a second data storage system is first information including information identifying a storage location on the first device for each data portion of the first set. The second data storage system includes a second device that is maintained as a mirror of the first device. The storage location for each data portion of the first set is used to identify a second storage location of the second device corresponding to the storage location. The first information is used to populate a second cache of the second data storage system.
Abstract:
Described are techniques for enforcing an allocation policy. Information is received that describes one or more storage groups. Each of the storage groups includes one or more thin devices. Each of the thin devices includes a plurality of chunks of storage allocated on one or more of a plurality of storage tiers. For each of the one or more storage groups, a plurality of counters is determined indicating amounts of storage currently allocated from the plurality of storage tiers for use by the storage group. Using the plurality of counters, it is determined whether each of the one or more storage groups violates thresholds included in an allocation policy associated with each storage group. Each of the thresholds specifies a maximum amount of storage of one of the plurality of storage tiers that can be used by each storage group.
Abstract:
Described are techniques for storing first data to a logical data in accordance with a static policy to service reads using data stored in a first storage area. The logical device has its data stored on a first physical device that is mirrored on a second physical device. Each of the first and second physical devices include a first storage area and a second storage area. The first storage areas provide better performance than the second storage areas. The first data is stored at a first location in one of the first storage areas of one of the physical devices and at a second location in one of the second storage areas at the other of the first and the second physical devices. An operation to read the first data is serviced by accessing the first data stored in the first area of the one physical device.
Abstract:
A data storage system capable of performing remote data services (e.g., data mirroring) over an IP network using native connections to the IP network is described. The data storage system employs an architecture that manages the remote data services and the native connections to the IP network in a way that isolates the remote data services application software from the TCP/IP and lower level network processing.
Abstract:
Guaranteeing space availability for thin devices includes reserving space without committing, or fully pre-allocating, the space to specific thin device ranges. Space may be held in reserve for a particular set of thin devices and consumed as needed by those thin devices. The system guards user-critical devices from running out of space, for example due to a “rogue device” scenario in which one device allocates an excessive amount of space. The system uses a reservation entity, to which a thin device may subscribe, which reserves space for the thin device without allocating that space before it is need to service an I/O request.
Abstract:
Described are techniques for performing processing in a data storage system. A client application executing on a host is identified as a candidate for migration to the data storage system. First data used by the client application is stored on one or more physical storage devices of the data storage system. The client application is migrated to the data storage system for temporary execution on the data storage system. The client application is executed on the data storage system for a time period using a first portion of resources of the data storage system allocated for exclusive use by migrated client applications executing on the data storage system.
Abstract:
A data storage system capable of performing remote data services (e.g., data mirroring) over an IP network using native connections to the IP network is described. The data storage system employs an architecture that manages the remote data services and the native connections to the IP network in a way that isolates the remote data services application software from the TCP/IP and lower level network processing.
Abstract:
A system having a plurality of directors, at least some of which have a local director memory, accesses requested data by determining if requested data is in local director memory of a first one of the directors in response to an access request for the requested data by the first one of the directors. The system also determines if the requested data is native to the first one of the directors in response to the requested data not being in the local director memory of the first one of the directors, where data provided on a physical storage device coupled to the first one of the directors is native to the first one of the directors. The system also obtains the requested data from a second one of the directors in response to the requested data not being native to the first one of the directors.