Abstract:
Described are techniques for verifying data. A write operation request for writing to a first data block is received. A first copy of an identifier for said first data block in a memory is updated. A second copy of the identifier for the first data block is updated. The second copy is stored with the first data block on a data storage device. A read operation request is received for the first data block. The first data block and an associated identifier from the data storage device are read. Data verification processing is performed for the first block in accordance with the associated identifier, the first copy from the memory, and any pending write operations for the first data block.
Abstract:
Described are techniques for processing a data operation in a data storage system. A front-end component of the data storage system receives the data operation. In response to receiving the data operation, the front-end component performs first processing. The first processing includes determining whether the data operation is a read operation requesting to read a data portion which results in a cache miss; and if said determining determines that the data operation is a read operation resulting in a cache miss, performing read miss processing. Read miss processing includes sequential stream recognition processing performed by the front-end component to determine whether the data portion is included in a sequential stream.
Abstract:
A method for generating transaction aware snapshots, the method may include: (a) starting a creation of a certain point in time snapshot for a consistency group that comprises at least one logical volume; (b) detecting that at the certain point in time there is an uncompleted transaction for writing multiple information units to the consistency group; the uncompleted transaction started at a transaction start point in time that precedes the certain point in time; (c) preventing an access to the certain point in time snapshot until a completion of the uncompleted transaction; and (d) associating the multiple information units with at least the certain point in time snapshot.
Abstract:
Storage system(s) for storing data in physical storage in a recurring manner, method(s) of operating thereof, and corresponding computer program product(s). For example, a possible method can include: upon start of a storage recurrence, destaging dirty data which had been accommodated in the cache memory prior to the start of said storage recurrence thus giving rise to destaged data group, wherein destaging is provided with no overwriting of at least superseded data destaged before starting said storage recurrence while enabling retaining metadata indicative of location of said superseded data in the physical storage space; accommodating data obtained in said cache memory subsequent to the start of said storage recurrence while preventing said data from being destaged during said storage recurrence, thus giving rise to accommodated data group; and registering a point-in-time indicative of successful destaging of the destaged data group, thereby providing an order-preservation consistency indication corresponding to said recurrence.
Abstract:
A method for responding to an extent change operation, the method may include receiving, by a storage system and from a requesting entity, a request to perform an extent content change operation that involves changing a content of a certain extent within a logical space supported by a storage system; generating, in response to the request, extent change operation information that comprises (a) an event counter indicative of a time of requested occurrence of the extent change operation, (ii) a type of extent change operation indicator, and (ii) logical addresses associated with the extent change operation; and sending to the requesting entity an acknowledgement indicative of a completion of the extent change operation before a completion of the extent change operation if an expected content of the certain extent is known before completion of the extent change operation.
Abstract:
A storage system that may include a management module, a communication module and a storage module; wherein the management module is arranged to receive, at an intermediate point in time that occurs between the first point in time and a second point in time, a first request that indicates that a certain extent of the second logical volume is irrelevant; participate in a creation of second point in time snapshots of the first and second logical volumes; select, in response to the first request, out of all data deltas generated between the first and second point in time, selected data deltas to be transmitted to the other storage system; wherein the selected data deltas exclude data deltas associated with the certain extent that were generated between the first point in time and the intermediate point in time.
Abstract:
Described are techniques for servicing data requests in a data storage system. One or more data requests from an application executing on the host are received. The data storage system allocates a first amount of resources for use in servicing data requests from the application. Behavior of the host is monitored for occurrences of I/O failure. In accordance with criteria and the occurrences of I/O failure, it is determined whether at least one of the host or the application is in a state of pending failure. If it is determined that at least one of the host or the application is in a state of pending failure, a second amount of resources larger than the first amount are allocated for a time period when servicing data requests from the application. After the time period, data requests from the application are serviced in accordance with the first amount of resources.
Abstract:
A method and system are disclosed for storage optimization. Data parts and metadata within a source data unit are identified and the data parts are compared with data which is already stored in the physical storage space. In case identical data parts are found within the physical storage, the data parts from the source data unit are linked to the identified data, while the data parts can be discarded, thereby reducing the required storage capacity. The metadata parts can be separately stored in a designated storage area.
Abstract:
Methods and systems are disclosed that relate to selecting a path for sending an I/O request from a host to a data storage subsystem from among a plurality of paths from the host to the subsystem. An exemplary method includes identifying a limitation on the traffic level for the plurality of paths, tracking a first metric corresponding to the limitation on the traffic level for each path, and transmitting a first I/O request having an urgency level other than the highest urgency level by one of the plurality of paths whose first metric does not exceed its limitation on the traffic level.
Abstract:
A method for implementing the invention is carried out in a data-storage system having a data storage unit that includes at least two constituent data storage elements. Each of the constituent data storage elements is either in a first state or a second state. The method includes providing a data structure having an entry corresponding to the data storage unit. The entry includes status information indicating whether at least one constituent data storage element of the data storage unit is in the first state. These entries are updated as necessary following any changes in state of the constituent data storage element. Scanning the data storage units instead of the data storage elements provides a more efficient way to locate data storage elements in the first state, particularly where such data storage elements are rare.