摘要:
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.
摘要:
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.
摘要:
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.
摘要:
Setting a plurality of table entries in a storage device includes subdividing the table entries into a N tasks, placing each of the N tasks in a memory location disposed within the storage device and accessible by a plurality of internal devices, the plurality of the internal devices accessing the memory location to retrieve at least one of the N tasks, and each of the plurality of the internal devices setting table entries corresponding to at least one of the N tasks retrieved from the memory location. Setting table entries may also include setting logical device table entries to indicate corresponding tracks contain invalid data in connection with operation of remote data transfer between multiple storage devices.
摘要:
Storing recovery data includes providing chunks of data to a remote destination, where each chunk of data represents data written before a first time and after a second time and where the second time for one of the particular chunks corresponds to a first time for a subsequent one of the particular chunks, providing synchronous data to a local destination, and providing an indicator to the local destination in connection with creation of a new chunk of data for storage at the remote destination. The local destination may maintain a plurality of maps, where each of the maps associates synchronous data being provided thereto with a specific chunk of data. In response to receiving an indicator in connection with creation of a new chunk of data, the local destination may point to a new map. There may be two maps or more than two maps.
摘要:
Setting a plurality of table entries in a storage device includes subdividing the table entries into a N tasks, placing each of the N tasks in a memory location disposed within the storage device and accessible by a plurality of internal devices, the plurality of the internal devices accessing the memory location to retrieve at least one of the N tasks, and each of the plurality of the internal devices setting table entries corresponding to at least one of the N tasks retrieved from the memory location. Setting table entries may also include setting logical device table entries to indicate corresponding tracks contain invalid data in connection with operation of remote data transfer between multiple storage devices.