Methods for synchronizing storage system data
First Claim
1. A method for comparing data units, the method comprising:
- generating a first digest representing a first data unit stored in a first memory, by a first control device associated with the first memory;
deriving a first encoded value based, at least in part, on the first digest and a predetermined value, by the first control device;
generating a second digest representing a second data unit stored in a second memory different from the first memory, by a second control device different from the first control device, the second control device being associated with the second memory;
deriving a second encoded value based, at least in part, on the second digest and the predetermined value, by the second control device;
determining whether the first data unit and the second data unit are the same; and
if the second data unit is not the same as the first data unit, storing the first data unit in the second memory, by the second control device.
0 Assignments
0 Petitions
Accused Products
Abstract
In accordance with one example, a method for comparing data units is disclosed comprising generating a first digest representing a first data unit stored in a first memory. A first encoded value is generated based, at least in part, on the first digest and a predetermined value. A second digest representing a second data unit stored in a second memory different from the first memory, is generated. A second encoded value is derived based, at least in part, on the second digest and the predetermined value. It is determined whether the first data unit and the second data unit are the same based, at least in part, on the first digest, the first predetermined value, the first encoded value, and the second digest, by first processor. If the second data unit is not the same as the first data unit, the first data unit is stored in the second memory.
16 Citations
43 Claims
-
1. A method for comparing data units, the method comprising:
-
generating a first digest representing a first data unit stored in a first memory, by a first control device associated with the first memory; deriving a first encoded value based, at least in part, on the first digest and a predetermined value, by the first control device; generating a second digest representing a second data unit stored in a second memory different from the first memory, by a second control device different from the first control device, the second control device being associated with the second memory; deriving a second encoded value based, at least in part, on the second digest and the predetermined value, by the second control device; determining whether the first data unit and the second data unit are the same; and if the second data unit is not the same as the first data unit, storing the first data unit in the second memory, by the second control device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for synchronizing a first unit of data stored in a first storage system and a second unit of data stored in a second storage system, comprising:
-
generating a first digest representing the first unit of data stored by the first storage system, by a first control device in the first storage system; generating an initial value associated with the first unit of data, by the first control device; deriving an encoded value using the first digest and the initial value, by the first control device; transmitting the encoded value from the first storage system to the second storage system, by the first control device; receiving a decoded value from the second storage system, the decoded value being derived by using a second digest of a second unit of data stored by the second storage system, to decode the encoded value; determining whether the first unit of data and the second unit of data are duplicates of one another by comparing the decoded value and the initial value, by the first control device; and sending a copy of the first unit of data from the first storage system to the second storage system, by the first control device, if the first unit of data is determined to be different from the second unit of data, for storage. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for comparing data units comprising:
-
a first storage system comprising; first memory; a first control device configured to; generate a first digest that represents the first unit of data stored in the first memory; generate an initial value associated with the first unit of data; and derive an encoded value using the first digest and the initial value; and a first interface configured to; transmit the encoded value from the first storage system to the second storage system; the second storage system comprising; second memory; a second controller configured to; generate a second digest that represents the second unit of data stored in the second memory; and derive a decoded value using the second digest to decode the encoded value; and a second interface configured to; transmit the decoded value from the second storage system to the first storage system; wherein the first control device is further configured to; determine whether the first unit of data and the second unit of data are duplicates of one another by comparing the decoded value and the initial value; and send a copy of the first unit of data from the first storage system to the second storage system for storage in the second memory, if the first unit of data is determined to be different from the second unit of data. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system for comparing data units comprising:
-
a first storage system comprising; first memory; a first control device configured to; generate a first digest representing the first unit of data; and generate an initial value associated with the first unit of data; and derive an encoded value using the first digest and the initial value; and a first interface configured to; transmit the initial value from the first storage system to a second storage system; the second storage system comprising; second memory; a second control device configured to; generate a second digest representing the second unit of data; and derive a first encoded value using the second digest and the initial value; and a second interface configured to; transmit the encoded value from the second storage system to the first storage system; wherein the first control device is further configured to; determine whether the first unit of data and the second unit of data are duplicates of one another by comparing the first encoded value and the second encoded value; send a copy of the first unit of data from the first storage system to the second storage system for storage in a memory in the second storage system, if the first unit of data is determined to be different from the second unit of data. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A method for comparing data units, the method comprising:
-
generating a first digest representing a first data unit stored in a first memory, by a first control device associated with the first memory; deriving a first encoded value based, at least in part, on the first digest and a predetermined value, by the first control device; generating a second digest representing a second data unit stored in a second memory different from the first memory, by a second control device different from the first control device, the second control device being associated with the second memory; deriving a decoded value based, at least in part, on the second digest and the encoded value, by the second control device; determining whether the first data unit and the second data unit are the same; and if the second data unit is not the same as the first data unit, storing the first data unit in the second memory, by the second control device. - View Dependent Claims (42, 43)
-
Specification