Patent US6085298A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6085298A Expired / Lapsed US ⏱️ 0.0 years remaining

Comparing mass storage devices through digests that are representative of stored data in order to minimize data transfer

Assignee: EMC Corp
•
Filing: 1998-10-01
•
Granted: 2000-07-04
•
Expires: 2018-10-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for comparing mass storage devices. Generally, a mass storage device is subdivided into data blocks representing physical storage locations of some particular size. For each one (or group) of data block(s), a digest is calculated, wherein the digest is an alternate representation of the data stored within the data block(s). A digest is highly dependent on the data it represents such that different data is extremely likely to result in different digests. This high dependence allows for comparing digests rather than directly comparing the data stored at each data block. Furthermore, by calculating a digest that requires fewer bits than the data block(s) it represents, the amount of data that must be transferred between mass storage devices during comparison is minimized.

Inventors

  • 👤 Richard Ohran

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 08:27
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1446; G06F11/1448; G06F11/1451; G06F11/1458; G06F11/1466; G06F2201/00; G06F2201/82

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 190 words
In a computing environment including a primary system having a primary mass storage device that stores a plurality of primary data blocks and a backup system having a backup mass storage device that stores a plurality of backup data blocks, a method for comparing the primary mass storage device to the backup mass storage device, comprising the steps of: calculating, by the backup system, a first digest based on a selected backup data block, the selected backup data block corresponding to a physical location within the backup mass storage device, wherein the first digest is smaller than the selected backup data block; calculating, by the primary system, a second digest based on a selected primary data block, the selected primary data block corresponding to the selected backup data block and also corresponding to a physical location within the primary mass storage device, wherein the second digest is smaller than the selected primary data block, and comparing the second digest with the first digest to determine whether the second digest and the first digest indicate that the selected backup data block and the selected primary data block contain the same data.
Claim 2
Dependent Claim 190 words
In a computing environment including a primary system having a primary mass storage device that stores a plurality of primary data blocks and a backup system having a backup mass storage device that stores a plurality of backup data blocks, a method for comparing the primary mass storage device to the backup mass storage device, comprising the steps of: calculating, by the backup system, a first digest based on a selected backup data block, the selected backup data block corresponding to a physical location within the backup mass storage device, wherein the first digest is smaller than the selected backup data block; calculating, by the primary system, a second digest based on a selected primary data block, the selected primary data block corresponding to the selected backup data block and also corresponding to a physical location within the primary mass storage device, wherein the second digest is smaller than the selected primary data block, and comparing the second digest with the first digest to determine whether the second digest and the first digest indicate that the selected backup data block and the selected primary data block contain the same data.
Claim 3
Dependent Claim 49 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 1 wherein the first and second digests represent data of the respective selected primary and backup data blocks, the digests having a high probability of uniquely correlating to the data.
Claim 4
Dependent Claim 46 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 1, further comprising, prior to the step of calculating the second digest, the step of transmitting the first digest from the backup system to the primary system.
Claim 5
Dependent Claim 31 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 3, wherein the step of comparing is conducted at the primary system.
Claim 6
Dependent Claim 31 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 1, wherein the step of comparing is conducted at the backup system.
Claim 7
Dependent Claim 48 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 1 wherein the step of comparing the second digest with the first digest comprises the step of determining whether the second digest and the first digest are the same.
Claim 8
Dependent Claim 54 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 1, further comprising the steps of: establishing a connection between the primary system and backup system; and terminating the connection between the primary system and backup system after the step of comparing has been completed.
Claim 9
Dependent Claim 36 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 1, further comprising the step of storing, at the primary system, the results of the comparing step.
Claim 10
Dependent Claim 76 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 1, further comprising repeating the steps of retrieving a selected backup data block, calculating a first digest, transmitting the first digest, retrieving a selected primary data block, calculating a second digest, and comparing the second digest with the first digest until all of the plurality of primary data blocks have been compared to corresponding backup data blocks.
Claim 11
Dependent Claim 76 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 1 wherein the step of comparing comprises the step of determining that the selected backup data block and the selected primary data block do not contain the same data, and wherein the method further comprises the step of updating the selected backup data block so that it contains the same data as the selected primary data block.
Claim 12
Dependent Claim 216 words
In a computing environment including a primary system having a primary mass storage device that stores a plurality of primary data blocks and a backup system having a backup mass storage device that stores a plurality of backup data blocks, a method for comparing the primary mass storage device to the backup mass storage device, comprising repeating, until all primary data blocks have been compared to corresponding backup data blocks, the steps of: calculating, by the backup system, a first digest based on a selected backup data block, the selected backup data block corresponding to a physical location within the backup mass storage device, wherein the first digest is smaller than the selected backup data block; transmitting the first digest from the backup system to the primary system; calculating, by the primary system, a second digest based on a selected primary data block, the selected primary data block corresponding to the selected backup data block and also corresponding to a physical location within the primary mass storage device, wherein the second digest is smaller than the selected primary data block; and comparing the second digest with the first digest to determine whether the second digest and the first digest indicate that the selected backup data block and the selected primary data block contain the same data.
Claim 13
Dependent Claim 216 words
In a computing environment including a primary system having a primary mass storage device that stores a plurality of primary data blocks and a backup system having a backup mass storage device that stores a plurality of backup data blocks, a method for comparing the primary mass storage device to the backup mass storage device, comprising repeating, until all primary data blocks have been compared to corresponding backup data blocks, the steps of: calculating, by the backup system, a first digest based on a selected backup data block, the selected backup data block corresponding to a physical location within the backup mass storage device, wherein the first digest is smaller than the selected backup data block; transmitting the first digest from the backup system to the primary system; calculating, by the primary system, a second digest based on a selected primary data block, the selected primary data block corresponding to the selected backup data block and also corresponding to a physical location within the primary mass storage device, wherein the second digest is smaller than the selected primary data block; and comparing the second digest with the first digest to determine whether the second digest and the first digest indicate that the selected backup data block and the selected primary data block contain the same data.
Claim 14
Dependent Claim 63 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 1, further comprising the step of updating the selected backup data block so that it contains the same data as the selected primary data block when the step of comparing the second digest and the first digest indicates the data blocks contain different data.
Claim 15
Dependent Claim 29 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 11 wherein the method is initiated by the primary system.
Claim 16
Dependent Claim 29 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 11 wherein the method is initiated by the backup system.
Claim 17
Dependent Claim 31 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 11 wherein the backup system is remotely located from the primary system.
Claim 18
Dependent Claim 30 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 11 wherein the first and second digests represent multiple data blocks.
Claim 19
Dependent Claim 33 words
A method for comparing the primary mass storage device to the backup mass storage device as recited in claim 11 wherein calculating the first digest is computationally faster than transmitting the first digest.
Claim 20
Dependent Claim 177 words
In a computing environment including a mass storage device having a plurality of data blocks, a method for comparing data blocks, comprising the steps of: selecting a first data block; calculating a first digest, the first digest being generated from data contained within the first data block and being smaller than the first data block, the first data block corresponding to a physical location within the mass storage device; selecting a second data block; calculating a second digest, the second digest being generated from data contained within the second data block and being smaller than the second data block, the second data block corresponding to a physical location within the mass storage device, the first and second digests being calculated in a process wherein a change in the data blocks would have a high probability of changing the value of the corresponding digest; and comparing the first digest with the second digest to determine whether the first digest and the second digest indicate that the first data block and the second data block contain the same data.
Claim 21
Dependent Claim 177 words
In a computing environment including a mass storage device having a plurality of data blocks, a method for comparing data blocks, comprising the steps of: selecting a first data block; calculating a first digest, the first digest being generated from data contained within the first data block and being smaller than the first data block, the first data block corresponding to a physical location within the mass storage device; selecting a second data block; calculating a second digest, the second digest being generated from data contained within the second data block and being smaller than the second data block, the second data block corresponding to a physical location within the mass storage device, the first and second digests being calculated in a process wherein a change in the data blocks would have a high probability of changing the value of the corresponding digest; and comparing the first digest with the second digest to determine whether the first digest and the second digest indicate that the first data block and the second data block contain the same data.
Claim 22
Independent Claim 264 words
A system for comparing mass storage, comprising: primary mass storage means attached to a primary system for storing a plurality of primary data blocks; backup mass storage means attached to a backup system for storing a plurality of backup data blocks; backup system processor means for performing the steps of: retrieving a backup data block from the backup mass storage means, the backup data block corresponding to a physical location within the backup mass storage means; calculating a first digest based on data stored in the backup data block, the first digest being smaller than and having a high probability of uniquely correlating to the backup data block it represents; and repeating the above steps until all backup data blocks have been considered; and primary system processor means for performing the steps of: receiving the first digest from the backup system processor means; retrieving a primary data block from the primary mass storage means, the primary data block corresponding to a physical location within the primary mass storage means and also corresponding to the backup data block associated with the first digest; calculating a second digest based on data stored in the primary data block, the second digest being smaller than and having a high probability of uniquely correlating to the primary data block it represents; comparing the first digest and the second digest; interpreting any difference between the first and second digests to indicate a difference between the primary mass storage means and the backup mass storage means; and repeating the above steps until all primary and backup data blocks have been considered.
Claim 23
Independent Claim 264 words
A system for comparing mass storage, comprising: primary mass storage means attached to a primary system for storing a plurality of primary data blocks; backup mass storage means attached to a backup system for storing a plurality of backup data blocks; backup system processor means for performing the steps of: retrieving a backup data block from the backup mass storage means, the backup data block corresponding to a physical location within the backup mass storage means; calculating a first digest based on data stored in the backup data block, the first digest being smaller than and having a high probability of uniquely correlating to the backup data block it represents; and repeating the above steps until all backup data blocks have been considered; and primary system processor means for performing the steps of: receiving the first digest from the backup system processor means; retrieving a primary data block from the primary mass storage means, the primary data block corresponding to a physical location within the primary mass storage means and also corresponding to the backup data block associated with the first digest; calculating a second digest based on data stored in the primary data block, the second digest being smaller than and having a high probability of uniquely correlating to the primary data block it represents; comparing the first digest and the second digest; interpreting any difference between the first and second digests to indicate a difference between the primary mass storage means and the backup mass storage means; and repeating the above steps until all primary and backup data blocks have been considered.
Claim 24
Dependent Claim 100 words
A system for comparing mass storage as recited in claim 19 further comprising: primary processor means for performing the steps of: establishing a connection between the primary processor means and backup processor means; storing the results of the comparing step; and transmitting an update data block to the backup processor means, when the comparing step indicates that the primary data block and the backup data block contain different data; and backup processor means for performing the steps of: receiving the update data block from the primary processor means; and updating the backup data block with the received update data block.
Claim 25
Dependent Claim 26 words
A system for comparing mass storage as recited in claim 19, wherein the backup system processor means is remotely located from the primary system processor means.
Claim 26
Dependent Claim 21 words
A system for comparing mass storage as recited in claim 19, wherein the first and second digests represent multiple data blocks.
Claim 27
Dependent Claim 175 words
A computer program product for implementing a method for use in a backup system including a backup mass storage device that stores a plurality of backup data blocks, the backup system being connected to a primary system including a primary mass storage device that stores a plurality of primary data blocks, the computer program product comprising: a computer-readable medium carrying computer-executable instructions for implementing the method, wherein the computer-executable instructions comprise: means for retrieving a backup data block from the backup mass storage device, the backup data block corresponding to a physical location within the backup mass storage device; means for calculating a first digest based on data stored in the backup data block, the first digest being smaller than and having a high probability of uniquely correlating to the backup data block it represents; and means for transmitting the first digest to the primary system; wherein retrieving the backup data block, calculating the first digest, and transmitting the first digest are conducted until all of the plurality of backup data blocks have been considered.
Claim 28
Dependent Claim 175 words
A computer program product for implementing a method for use in a backup system including a backup mass storage device that stores a plurality of backup data blocks, the backup system being connected to a primary system including a primary mass storage device that stores a plurality of primary data blocks, the computer program product comprising: a computer-readable medium carrying computer-executable instructions for implementing the method, wherein the computer-executable instructions comprise: means for retrieving a backup data block from the backup mass storage device, the backup data block corresponding to a physical location within the backup mass storage device; means for calculating a first digest based on data stored in the backup data block, the first digest being smaller than and having a high probability of uniquely correlating to the backup data block it represents; and means for transmitting the first digest to the primary system; wherein retrieving the backup data block, calculating the first digest, and transmitting the first digest are conducted until all of the plurality of backup data blocks have been considered.
Claim 29
Dependent Claim 60 words
A computer program product as recited in claim 23, wherein the computer-executable instructions further comprise backup means for receiving an update data block from the primary system for updating a corresponding backup data block when it has been determined that the corresponding backup data block and a corresponding primary data block at the primary mass storage device contain different data.
Claim 30
Dependent Claim 30 words
A computer program product as recited in claim 23, wherein the means for calculating a first digest calculates the first digest based on data stored in multiple backup data blocks.
Claim 31
Dependent Claim 229 words
A computer program product for implementing a method for use in a primary system including a primary mass storage device that stores a plurality of primary data blocks, the primary system connected to a backup system including a backup mass storage device that stores a plurality of backup data blocks, the computer program product comprising: a computer-readable medium carrying computer-executable instructions for implementing the method, wherein the computer-executable instructions comprise: means for receiving a first digest from the backup system; means for retrieving a primary data block from the primary mass storage device that corresponds to the first digest, the primary data block corresponding to a physical location within the primary mass storage device; means for calculating a second digest based on data stored in the primary data block, the second digest being smaller than and having a high probability of uniquely correlating to the primary data block it represents; means for comparing the first digest and the second digest; and means for interpreting any difference between the first and second digests to indicate a difference between the backup mass storage device and the primary mass storage device; wherein receiving the first digest, retrieving the primary data block, calculating the second digest, comparing the first digest and the second digest, and interpreting any difference are conducted until all backup data blocks and all primary data blocks have been considered.
Claim 32
Dependent Claim 229 words
A computer program product for implementing a method for use in a primary system including a primary mass storage device that stores a plurality of primary data blocks, the primary system connected to a backup system including a backup mass storage device that stores a plurality of backup data blocks, the computer program product comprising: a computer-readable medium carrying computer-executable instructions for implementing the method, wherein the computer-executable instructions comprise: means for receiving a first digest from the backup system; means for retrieving a primary data block from the primary mass storage device that corresponds to the first digest, the primary data block corresponding to a physical location within the primary mass storage device; means for calculating a second digest based on data stored in the primary data block, the second digest being smaller than and having a high probability of uniquely correlating to the primary data block it represents; means for comparing the first digest and the second digest; and means for interpreting any difference between the first and second digests to indicate a difference between the backup mass storage device and the primary mass storage device; wherein receiving the first digest, retrieving the primary data block, calculating the second digest, comparing the first digest and the second digest, and interpreting any difference are conducted until all backup data blocks and all primary data blocks have been considered.
Claim 33
Dependent Claim 62 words
A computer program product as recited in claim 26, wherein the computer executable instructions further comprise means for transmitting an update data block to the backup system for updating the corresponding data block in the backup system, wherein a difference between the first and second digests has indicated a difference between the backup mass storage device and the primary mass storage device.
Claim 34
Dependent Claim 30 words
A computer program product as recited in claim 26, wherein the means for calculating a second digest calculates the second digest based on data stored in multiple primary data blocks.

References Cited (Backward Citations)

US5349655A Cited
US5649196A Cited
US5819020A Cited
US5719889A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-07-04 2004-01-03 2004-07-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-07-04 2008-01-03 2008-07-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-07-04 2012-01-03 2012-07-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag