Data synchronization of multiple remote storage
First Claim
1. A storage system comprising a plurality of storage subsystems, wherein the plurality of storage subsystems each include a memory and a storage medium for storing data, wherein the plurality of storage subsystems include at least one first storage subsystem and at least one second storage subsystem, the first storage subsystem being connected to the second storage subsystem which is configured to receive and store one or more blocks of data from the first storage subsystem, the first storage subsystem being a preceding storage subsystem to the second storage subsystem, the second storage subsystem being a succeeding storage subsystem to the first storage subsystem;
- wherein each block of data being copied has an associated sequence number in ascending order, wherein the memory in each of the storage subsystems includes a queue to receive and store the one or more blocks of data and a sequence number associated with each block of data, a last sequence number record to store a last sequence number associated with a last block of data received by the queue, and a table to store a last sequence number received from each succeeding storage system connected to the storage subsystem.
3 Assignments
0 Petitions
Accused Products
Abstract
A storage system comprises a plurality of storage subsystems. One storage subsystem as a succeeding subsystem is configured to receive and store one or more blocks of data from another storage subsystem as a preceding subsystem. Each block of data has an associated sequence number in ascending order. The memory in each storage subsystem includes a queue to store the blocks of data and a sequence number associated with each block of data, a record to store a last sequence number associated with a last block of data received by the queue, and a table to store last sequence numbers stored in the last sequence number record gathered from each succeeding storage system. In some embodiments, a smallest last sequence number is determined from the last sequence numbers associated with the blocks of data in the storage subsystems. Blocks of data in the queue of each storage subsystem having associated sequence numbers less than or equal to the determined smallest last sequence number are deleted. In case of a failure of one or more storage subsystems, blocks of data are copied from the surviving storage subsystem having associated sequence numbers higher than the last sequence number of other surviving storage subsystems.
138 Citations
20 Claims
-
1. A storage system comprising a plurality of storage subsystems,
wherein the plurality of storage subsystems each include a memory and a storage medium for storing data, wherein the plurality of storage subsystems include at least one first storage subsystem and at least one second storage subsystem, the first storage subsystem being connected to the second storage subsystem which is configured to receive and store one or more blocks of data from the first storage subsystem, the first storage subsystem being a preceding storage subsystem to the second storage subsystem, the second storage subsystem being a succeeding storage subsystem to the first storage subsystem; -
wherein each block of data being copied has an associated sequence number in ascending order, wherein the memory in each of the storage subsystems includes a queue to receive and store the one or more blocks of data and a sequence number associated with each block of data, a last sequence number record to store a last sequence number associated with a last block of data received by the queue, and a table to store a last sequence number received from each succeeding storage system connected to the storage subsystem. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for managing data stored in a storage system having a plurality of storage subsystems each including a memory and a storage medium for storing data, the plurality of storage subsystems including at least one first storage subsystem and at least one second storage subsystem, the first storage subsystem being connected to the second storage subsystem which is configured to receive and store one or more blocks of data from the first storage subsystem, the first storage subsystem being a preceding storage subsystem to the second storage subsystem, the second storage subsystem being a succeeding storage subsystem to the first storage subsystem, each block of data having an associated sequence number in ascending order, the method comprising:
-
copying one or more blocks of data from one storage subsystem to a succeeding storage subsystem connected to the one storage subsystem and storing each block of data copied and the associated sequence number in a queue in the memory of the succeeding storage subsystem;
storing a last sequence number in a last sequence number record in the memory of the succeeding storage subsystem; and
storing in a table in the memory of each storage subsystem a last sequence number in the last sequence number record of each succeeding storage system connected to the storage subsystem. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method for managing data stored in a storage system having a plurality of storage subsystems each including a memory and a storage medium for storing data, the plurality of storage subsystems including at least one first storage subsystem and at least one second storage subsystem, the first storage subsystem being connected to the second storage subsystem which is configured to receive and store one or more blocks of data from the first storage subsystem, the first storage subsystem being a preceding storage subsystem to the second storage subsystem, the second storage subsystem being a succeeding storage subsystem to the first storage subsystem, each block of data having an associated sequence number in ascending order, the method comprising:
-
copying one or more blocks of data from one storage subsystem to a succeeding storage subsystem connected to the one storage subsystem and storing each block of data copied and the associated sequence number in a queue in the memory of the succeeding storage subsystem;
determining a smallest last sequence number from the last sequence numbers associated with the blocks of data in the storage subsystems; and
deleting blocks of data in the queue of each storage subsystem having associated sequence numbers less than or equal to the determined smallest last sequence number. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification