摘要:
An apparatus and method provides the capability of mirroring storage between geographically remote locations in an asynchronous manner that does not require all writes on primary storage to be performed in the same order on the mirrored storage. The mirroring of the present invention is “logical mirroring”, which does not require identical disk drives, and which supports mirroring between geographically remote locations to protect against catastrophic site failure. A sequence number is assigned to data written to primary storage before the data is transferred to the mirrored storage. The mirrored storage can write data asynchronously, which may result in some data being written before previous data on the mirrored storage. When a system failure occurs that requires use of the mirrored storage, the mirrored storage is first quiesced to allow all pending writes to occur. If the mirrored storage has no missing data corresponding to a sequence number that is lower than the highest sequence number of data written to the mirrored storage, the mirrored storage may be used. If, however, the mirrored storage has missing data corresponding to a sequence number that is lower than the highest sequence number of data written to the mirrored storage, the mirrored storage cannot be used.
摘要:
An apparatus, program product and method backs up computer data by organizing update requests into groups. All update requests in one group complete concurrently before requests of a subsequent group complete.
摘要:
An apparatus and method provides the capability of mirroring storage from a primary system to a mirrored system in a way that uses parallelism in the mirrored system to maximize the efficiency of writing data to the mirrored storage for operations that do not conflict while serializing operations that do conflict. The mirroring of the present invention is “logical mirroring”, which does not require identical disk drives, and which supports mirroring between geographically remote locations to protect against catastrophic site failure. Parallelism is achieved in the mirrored system by dividing the virtual address space into multiple ranges, and by assigning a group of tasks to each range. When an operation is received on the mirrored system, the virtual address range that the operation affects is determined, and the operation is then delegated to the task group that corresponds to the affected virtual address range. By dividing the virtual address space into ranges, tasks in different ranges (i.e., in different task groups) may execute in parallel without any threat of conflict, and even tasks within the same range may execute in parallel if they operate in different portions of the range.