FLEXIBLE REMOTE DATA MIRRORING
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and configured storage media are provided for flexible data mirroring. In particular, the invention provides many-to-one data mirroring, including mirroring from local servers running the same or different operating systems and/or file systems at two or more geographically dispersed locations. The invention also provides one-to-many data mirroring, mirroring with or without a dedicated private telecommunications link, and mirroring with or without a dedicated server or another server at the destination(s) to assist the remote mirroring unit(s). In addition, the invention provides flexibility by permitting the use of various combinations of one or more external storage units and/or RAID units to hold mirrored data. Spoofing, SCSI and other bus emulations, and further tools and techniques are used in various embodiments of the invention.
-
Citations
63 Claims
-
1-43. -43. (canceled)
-
44. A method for storing data from a host computing system, the method comprising:
-
receiving, at a storage system operationally independent from the host computing system, a plurality of blocks of the data, the plurality of blocks of the data representing a change from a first state of a storage volume to a second state of the storage volume, wherein each of the plurality of blocks of the data is associated with a value indicating an order, and wherein each value associated with a selected data block corresponds to a position in a sequence in which the host computing system stores the selected data block; storing each of the plurality of blocks of the data to a persistent data storage device; receiving an indication of a particular location in the sequence; and in response to receiving the indication of the particular location in the sequence; retrieving, from the persistent data storage device, based on the associated values that correspond to the sequence, one or more distinguished blocks of the data of the plurality of blocks of the data, the one or more distinguished blocks of the data comprising less than all of the plurality of blocks of the data and selected based on the particular location in the sequence; and providing the retrieved one or more distinguished blocks of the data. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. A computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform operations for storing data from a host computing system, the operations comprising:
-
receiving, at a storage system operationally independent from the host computing system, a plurality of blocks of the data, the plurality of blocks of the data representing a change from a first state of a storage volume to a second state of the storage volume, wherein each of the plurality of blocks of the data is associated with a value indicating an order, and wherein each value associated with a selected data block corresponds to a position in a sequence in which the host computing system stores the selected data block; storing each of the plurality of blocks of the data to a persistent data storage device; receiving an indication of a particular location in the sequence; and in response to receiving the indication of the particular location in the sequence; retrieving, from the persistent data storage device, based on the associated values that correspond to the sequence, one or more distinguished blocks of the data of the plurality of blocks of the data, the one or more distinguished blocks of the data comprising less than all of the plurality of blocks of the data and selected based on the particular location in the sequence; and providing the retrieved one or more distinguished blocks of the data. - View Dependent Claims (54, 55, 56, 57, 58)
-
-
59. A storage system that is operationally independent from a host computing system, the storage system comprising:
-
a persistent data storage device; one or more processors; and a network interface; wherein the storage system is configured to; receive, through the network interface, a plurality of blocks of the data, the plurality of blocks of the data representing a change from a first state of a storage volume to a second state of the storage volume, wherein each of the plurality of blocks of the data is associated with a value indicating an order, and wherein each value associated with a selected data block corresponds to a position in a sequence in which the host computing system stores the selected data block; store each of the plurality of blocks of the data to the persistent data storage device; receive, through the network interface, an indication of a particular location in the sequence; and in response to receiving the indication of the particular location in the sequence; retrieve, from the persistent data storage device, based on the associated values that correspond to the sequence, one or more distinguished blocks of the data of the plurality of blocks of the data, the one or more distinguished blocks of the data comprising less than all of the plurality of blocks of the data and selected based on the particular location in the sequence; and provide the retrieved one or more distinguished blocks of the data. - View Dependent Claims (60, 61, 62, 63)
-
Specification