摘要:
Transitioning from a first data transfer mode to a second data transfer mode that is different from the first data transfer mode includes a primary storage device transitioning to the second data transfer mode by first transferring writes associated with a first chunk of data to a secondary storage device after completion of all writes associated with the first chunk of data and then, after all writes associated with the first chunk of data have been transferred to the secondary storage device, transferring writes associated with a second chunk of data to the secondary storage device using the first data transfer mode. Writes begun after initiating transitioning are provided to the secondary storage device using the second data transfer mode.
摘要:
Handling ordered writes to a data storage device includes receiving a first chunk of data into slots of a cache of the data storage device and using a hash table to provide a correlation between cache slots containing data from the first chunk of data and locations of a logical storage device of the data storage device. Handling ordered writes may also include maintaining a circularly linked list of pointers to cache slots containing the first chunk of data. Handling ordered writes may also include receiving a second chunk of data into slots of the cache of the data storage device and receiving a message indicating that all data corresponding to the first chunk of data has been transferred to the data storage device. Handling ordered writes may also include, in response to receiving the message, storing data from the first chunk on to the logical storage device. Handling ordered writes may also include using a hash table to provide a correlation between cache slots containing data from the second chunk of data and locations of a logical storage device of the data storage device.
摘要:
Handling ordered writes to a data storage device includes receiving a first chunk of data into slots of a cache of the data storage device and using a hash table to provide a correlation between cache slots containing data from the first chunk of data and locations of a logical storage device of the data storage device. Handling ordered writes may also include maintaining a circularly linked list of pointers to cache slots containing the first chunk of data. Handling ordered writes may also include receiving a second chunk of data into slots of the cache of the data storage device and receiving a message indicating that all data corresponding to the first chunk of data has been transferred to the data storage device. Handling ordered writes may also include, in response to receiving the message, storing data from the first chunk on to the logical storage device. Handling ordered writes may also include using a hash table to provide a correlation between cache slots containing data from the second chunk of data and locations of a logical storage device of the data storage device.
摘要:
A computer-implemented method of ordering data writes includes at least some of a plurality of primary storage devices receiving a first plurality of data writes and causing a cycle switch for the plurality of primary storage devices. The first plurality of data writes are associated with a particular cycle on each primary storage device in the plurality of primary storage devices. At least some of the plurality of primary storage devices receive a second plurality of writes after initiating the cycle switch. All of the second plurality of writes are associated with a cycle different from the particular cycle on each of the plurality of primary storage devices.
摘要:
Ordering data writes includes at least some of a group of primary storage devices receiving a first plurality of data writes, causing a cycle switch for the group of primary storage devices where the first plurality of data writes are associated with a particular cycle on each primary storage device in the group, and at least some of the group of primary storage devices receiving a second plurality of writes after initiating the cycle switch where all of the second plurality of writes are associated with a cycle different from the particular cycle on each primary storage device. Writes to the group begun after initiating the cycle switch may not complete until after the cycle switch has completed. Ordering data writes may also include, after completion of the cycle switch, each of the primary storage devices of the group initiating transfer of the first plurality of writes to a corresponding secondary storage device. Ordering data writes may also include, following each of the primary storage devices of the group completing transfer of the first plurality of writes to a corresponding secondary storage device, each of the primary storage devices sending a message to the corresponding secondary storage device.
摘要:
Maintaining an ordering of transmitted data includes associating a sequence number with each element of the transmitted data, where the sequence number indicates a temporal relationship between different ones of the elements. Maintaining an ordering also includes maintaining a last aborted sequence number and an indicator of whether receipt of information indicating that the last aborted sequence number has been acknowledged and rejecting data associated with a sequence number indicative of a time before a time corresponding to the last aborted sequence number. The last aborted sequence number may be sent until receipt thereof is acknowledged. No data may be transmitted until receipt of the last aborted sequence number is acknowledged. The sequence numbers may be incremented by one.
摘要:
Managing data transferred from a local storage device to a remote storage device includes maintaining the data in chunks in cache memory, where data writes to the local storage device begun during a particular time interval are associated with a chunk of data that is separate from other chunks of data and where data is transferred from the local storage device to the remote storage device by transferring a particular chunk after all data writes associated with the particular chunk have completed and after a previous chunk has been acknowledged as being received by the remote storage device and, in response to use of the cache memory exceeding a first threshold, storing data from a first chunk of the cache memory to a local disk. Data writes to the local storage device may be provided by a host coupled to the local storage device.
摘要:
Recovering data provided in chunks to a plurality of secondary storage devices includes, for each of the secondary storage devices, discarding data corresponding chunks for which all data thereof has not been received, and, for each of the secondary storage devices, restoring a chunk of data thereto where all of the chunks of data restored to the plurality of secondary storage devices correspond to a particular transmission cycle of primary storage devices that provide data to the plurality of secondary storage devices. Recovering data may also include, following discarding and prior to restoring, for each of the plurality of secondary storage devices having two different chunks, waiting for external intervention to indicate whether to restore a particular one of the chunks. The external intervention may be provided by a host computer that is proximate to at least one of the secondary storage devices or may be provided by a host computer that is proximate to at least one of the primary storage computers.
摘要:
Handling ordered writes to a data storage device includes receiving a first chunk of data into slots of a cache of the data storage device and using a hash table to provide a correlation between cache slots containing data from the first chunk of data and locations of a logical storage device of the data storage device. Handling ordered writes may also include maintaining a circularly linked list of pointers to cache slots containing the first chunk of data. Handling ordered writes may also include receiving a second chunk of data into slots of the cache of the data storage device and receiving a message indicating that all data corresponding to the first chunk of data has been transferred to the data storage device. Handling ordered writes may also include, in response to receiving the message, storing data from the first chunk on to the logical storage device. Handling ordered writes may also include using a hash table to provide a correlation between cache slots containing data from the second chunk of data and locations of a logical storage device of the data storage device.
摘要:
Ordering data writes includes at least some of a group of primary storage devices receiving a first plurality of data writes, causing a cycle switch for the group of primary storage devices where the first plurality of data writes are associated with a particular cycle on each primary storage device in the group, and at least some of the group of primary storage devices receiving a second plurality of writes after initiating the cycle switch where all of the second plurality of writes are associated with a cycle different from the particular cycle on each primary storage device. Writes to the group begun after initiating the cycle switch may not complete until after the cycle switch has completed. Ordering data writes may also include, after completion of the cycle switch, each of the primary storage devices of the group initiating transfer of the first plurality of writes to a corresponding secondary storage device. Ordering data writes may also include, following each of the primary storage devices of the group completing transfer of the first plurality of writes to a corresponding secondary storage device, each of the primary storage devices sending a message to the corresponding secondary storage device.