Abstract:
A method of recovery from a data storage system failure in a data storage system having a host computer writing data to a first storage unit with a first storage controller synchronously mirroring the data to a second storage unit, and with a second storage controller asynchronously mirroring the data to a third storage unit. The method begins with the detection of a failure associated with the first storage unit. Upon detection of the error or failure associated with the first storage unit, the synchronous data mirroring relationship between the first storage unit and the second storage unit is terminated and the host is directed to write data updates directly to the second storage unit. Upon correction of the failure associated with the first storage unit, the asynchronous mirroring of data updates from the second storage unit to the third storage unit is suspended and synchronous mirroring of the data updates in a reverse direction, from the second storage unit to the first storage unit, is commenced. When a full duplex state is reached between the first storage unit and the second storage unit, the synchronous PPRC relationship with the first storage volume mirroring data to the second storage volume may be reestablished and host I/O writes to the first storage unit may be resumed.
Abstract:
A computer system running under the control of an OS having a scheduler. The computer system includes a multi-threaded computer program that is partitioned into structures of which some are parallel. There is provided a Time-Related-Bug-Detector (TRBD) method for detecting data races between parallel structures in respect of common memory structures. The method includes performing the steps of coupling a private scheduler to the OS. Thereafter, running the program in few cycles and, during each cycle of program run, the private scheduler synchronizing the structures according to a specific interleaving of a partial order. For each cycle logging the results of the program, until every possible interleaving of the partial order has been tested. Thereafter, comparing the results, and in the case that they are identical indicating that said program is race free in a give degree of confidence, otherwise indicating that the program is susceptible to a data race in respect to a common memory.
Abstract:
A method for processing data using snapshots is provided. The method comprises generating a primary snapshot of data stored in a first storage medium, wherein the primary snapshot is a copy of the data stored in the first storage medium at a point in time; generating one or more secondary snapshots of the primary snapshot, wherein the secondary snapshots are copies of the data stored on the first storage medium at the point in time; and extracting the data stored in the first storage medium at the point in time by accessing the data included in the secondary snapshots, wherein multiple processing units concurrently transform the extracted data and load the transformed data onto a second storage medium.
Abstract:
Logging and storage transactions in a database are directed to a single storage server. A modification of a database record is written only once to a log record on the storage server. Subsequently, the storage server interprets the database log records, and modifies the database storage accordingly. The number of bytes written to storage is potentially reduced by fifty percent as compared to writing the log record and then writing the modified database record to the storage server.
Abstract:
Techniques are provided for performing a copy operation. A fast reverse restore command indicating a new source and a new target is received, wherein the new source is an original target and the new target is an original source. A synchronous scan is performed on the new target. A new target structure associated with the new target is updated using a new source structure associated with the new source. Techniques are also provided for performing a copy operation in which a fast reverse restore command is received after an instant virtual copy has been performed from a new target to a new source and wherein the fast reverse restore command is performed before a background copy has been performed by the instant virtual copy.
Abstract:
Methods, apparatus and systems for data storage including initiating a destaging process in a storage system for destaging data from a cache to a mass storage device. Upon inputting a standby command to the storage system to inhibit the destaging of the data in a specified range, the destaging of the data in the specified range from the cache to the mass storage device is inhibited.
Abstract:
Provided is a technique for allocating resources. Reserved resources are allocated to one or more depth levels, wherein the reserved resources form one or more reserved pools. Upon receiving a request for allocation of resources, a depth level from which to allocate resources is determined. A reserved pool is allocated from the determined depth level.
Abstract:
Disclosed is a technique for maintaining consistency of data. One or more blocks of data identified by a first structure are copied to form a consistent set of data. While not acknowledging completion of write requests to any blocks of data, a second structure is created, wherein the second structure indicates which blocks of data are modified while the consistent set of data is being formed. Also disclosed is a technique for asynchronous copy. Indicators are updated in a first structure for one or more blocks of data, wherein each indicator in the first structure indicates whether a corresponding block of data was modified since the block of data was last sent to remote storage. While copying the blocks of data identified by the indicators in the first structure as having been modified since the blocks of data were last sent to remote storage, indicators in a second structure are updated for the one or more blocks of data, wherein each indicator in the second structure indicates whether a corresponding block of data was modified while a consistent set of data is being formed.
Abstract:
A two-phase process FlashCopy operation is provided that can be used to aid in the formation of consistency groups across multiple storage control units. In the first phase, preparations to create a new consistency group are made “revertible” by write-inhibiting the source volumes through “Establish-FlashCopy-revertible” commands. If the preparation of any volume within the consistency group fails, a “Withdraw-FlashCopy-revert” command may be executed, thereby causing a retention of the prior FlashCopy point-in-time copy. In the second phase, executed if all preparations are successful, a “Withdraw-FlashCopy-commit” command may be executed to remove all write-inhibit indicators, complete the creation of the new FlashCopy point-in-time copy and secure the new consistency group. Write requests to the FlashCopy source volumes may then be received and processed without risking corruption of the new consistency group on the Flashcopy target volumes.
Abstract:
A computer-implemented method for reducing a computing overhead associated with objects that are local to a particular thread and can be accessed solely by that thread. Dynamically during run-time, an object is determined to be local to a particular thread and can be accessed solely by that thread, whereby a computing overhead associated with that object may be reduced. Likewise, cache locality may be optimized in respect of objects that are determined to be global so as to avoid putting them in the same cache line, whilst thread-local objects are preferably stored in a cache line associated with that thread.