David Meiri - Cambridge MA, US Mark J. Halstead - Holliston MA, US Haim Kopylovitz - Newton MA, US Benjamin W. Yoder - Framingham MA, US Adi Ofer - Wellesley MA, US Hana Moreshet - Framingham MA, US
Ordering data writes include a host computer providing a plurality of data writes to a primary storage device, the primary storage device assigning a first sequence number to data writes begun after a first time and before a second time, the primary storage device assigning a second sequence number, different from the first sequence number, to data writes begun after the second time, in response to completion of all writes assigned the first sequence number, the primary storage device transferring writes assigned the first sequence number to a secondary storage device, and, in response to the primary storage device transferring all writes assigned the first sequence number to the secondary storage device, the primary storage device sending a commit message to the secondary storage device. Ordering data writes may also include, in response to receiving a commit message from the primary storage device, the secondary storage device storing the data writes having the first sequence number.
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.
David Meiri - Cambridge MA, US Mark J. Halstead - Watertown MA, US Haim Kopylovitz - Newton MA, US Benjamin W. Yoder - Framingham MA, US Adi Ofer - Wellesley MA, US Hana Moreshet - Framingham MA, US
Ordering data writes include a host computer providing a plurality of data writes to a primary storage device, the primary storage device assigning a first sequence number to data writes begun after a first time and before a second time, the primary storage device assigning a second sequence number, different from the first sequence number, to data writes begun after the second time, in response to completion of all writes assigned the first sequence number, the primary storage device transferring writes assigned the first sequence number to a secondary storage device, and, in response to the primary storage device transferring all writes assigned the first sequence number to the secondary storage device, the primary storage device sending a commit message to the secondary storage device. Ordering data writes may also include, in response to receiving a commit message from the primary storage device, the secondary storage device storing the data writes having the first sequence number.
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.
David Meiri - Cambridge MA, US Mark J. Halstead - Watertown MA, US Benjamin W. Yoder - Framingham MA, US Haim Kopylovitz - Newton MA, US Hana Moreshet - Framingham MA, US
Reading desired data from a remote storage device that receives chunks of data from an other storage device includes determining if the desired data is part of a chunk of data committed by the other storage device, if the desired data is not part of a chunk of data committed by the other storage device, reading the desired data from a corresponding standard logical device, and if the desired data is part of a chunk of data committed by the other storage device, transferring the desired data to the standard logical device and obtaining the desired data from one of: the standard logical device after transferring the desired data thereto and the chunk of data committed by the other storage device. Reading desired data from a remote storage device may also include, if the desired data is part of a chunk of data committed by the other storage device, locking a corresponding slot of a cache only virtual device that points to the desired data. Reading desired data from a remote storage device may also include, locking a corresponding slot of the standard logical device, merging corresponding cache slots, and causing the corresponding slot of the cache only virtual device to point to the standard logical device.
Handling Data Writes Copied From A Remote Data Storage Device
Vadim Longinov - Marlborough MA, US Benjamin W. Yoder - Framingham MA, US Mark J. Halstead - Holliston MA, US David Meiri - Cambridge MA, US
Assignee:
EMC Corporation - Hopkinton MA
International Classification:
G06F 12/00
US Classification:
711118, 711154, 711216, 711221
Abstract:
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.
David Meiri - Cambridge MA, US Mark J. Halstead - Watertown MA, US Haim Kopylovitz - Newton MA, US Benjamin W. Yoder - Framingham MA, US Adi Ofer - Wellesley MA, US Hana Moreshet - Framingham MA, US
Ordering data writes include a host computer providing a plurality of data writes to a primary storage device, the primary storage device assigning a first sequence number to data writes begun after a first time and before a second time, the primary storage device assigning a second sequence number, different from the first sequence number, to data writes begun after the second time, in response to completion of all writes assigned the first sequence number, the primary storage device transferring writes assigned the first sequence number to a secondary storage device, and, in response to the primary storage device transferring all writes assigned the first sequence number to the secondary storage device, the primary storage device sending a commit message to the secondary storage device. Ordering data writes may also include, in response to receiving a commit message from the primary storage device, the secondary storage device storing the data writes having the first sequence number.
Switching Between Virtual Ordered Writes Mode And Synchronous Or Semi-Synchronous Rdf Transfer Mode
Benjamin W. Yoder - Framingham MA, US David Meiri - Cambridge MA, US Vadim Longinov - Marlborough MA, US
Assignee:
EMC Corporation - Hopkinton MA
International Classification:
G06F 12/00
US Classification:
711162, 711164, 711167
Abstract:
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.
Ben Yoder (1987-2000), Sheila Jacobsen (1988-1992), Jennifer Cole (1986-2002), Emily Heiser (1980-1994), Scott Albert (1985-1997), Andrew Smith (1990-1995)