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

Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating

Assignee: EMC Corp
•
Filing: 1996-11-08
•
Granted: 1998-11-10
•
Expires: 2016-11-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for maintaining logically consistent backups using minimal data transfer are presented. A system comprises a backup system having a backup storage device and one or more primary systems having mass storage devices that are to be backed up on the backup storage device. The primary systems identify changes that are going to be made to the mass storage device. The combined effected locations in the mass storage device of these identified changes are then captured in a static snapshot when the mass storage device is in a logically consistent state. Only those data blocks changed since the last backup are then transferred to backup system. The backup system can then store these changes or apply the changes to the backup storage device in order to bring the backup storage device current to a particular point in time.

Inventors

  • 👤 Richard Ohran

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 20:12
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: 26
Claim 1
Independent Claim 274 words
In a computer system comprising a primary system having a mass storage system that stores data blocks in a plurality of storage locations each having a unique address, and a preservation memory means for providing a snapshot storage location, and wherein said computer system further comprises a backup system having a backup storage location, a method of backing up data blocks that are changed during a first time period that runs from a first instant in time to a second instant in time while reducing the amount of data that must be sent to the backup system, the method comprising the steps of: identifying during a first time period that runs from a first instant in time to a second instant in time, only those storage locations of said mass storage system that have changed by virtue of new data stored in them during said first time period; during a second time period that runs from the second instant in time to a third instant in time, when a data block that was stored at said second instant in time in any of said identified storage locations is to be changed, preserving in said preservation memory means a snapshot of the unchanged data block before said data block is changed so that the unchanged data blocks stored in said preservation memory means can be retrieved even though new data is written to said mass storage system after said second instant in time; and retrieving during said second time period the unchanged data blocks stored in said preservation memory means and transferring the retrieved data blocks to the backup storage location of the backup system.
Claim 2
Dependent Claim 274 words
In a computer system comprising a primary system having a mass storage system that stores data blocks in a plurality of storage locations each having a unique address, and a preservation memory means for providing a snapshot storage location, and wherein said computer system further comprises a backup system having a backup storage location, a method of backing up data blocks that are changed during a first time period that runs from a first instant in time to a second instant in time while reducing the amount of data that must be sent to the backup system, the method comprising the steps of: identifying during a first time period that runs from a first instant in time to a second instant in time, only those storage locations of said mass storage system that have changed by virtue of new data stored in them during said first time period; during a second time period that runs from the second instant in time to a third instant in time, when a data block that was stored at said second instant in time in any of said identified storage locations is to be changed, preserving in said preservation memory means a snapshot of the unchanged data block before said data block is changed so that the unchanged data blocks stored in said preservation memory means can be retrieved even though new data is written to said mass storage system after said second instant in time; and retrieving during said second time period the unchanged data blocks stored in said preservation memory means and transferring the retrieved data blocks to the backup storage location of the backup system.
Claim 3
Dependent Claim 31 words
A method of backing up data blocks as recited in claim 1 wherein said snapshot of the unchanged data is preserved without interruption of user access to said mass storage system.
Claim 4
Dependent Claim 22 words
A method of backing up data blocks as recited in claim 1 wherein said backup system is located at a remote site.
Claim 5
Dependent Claim 24 words
A method of backing up data blocks as recited in claim 1 wherein said backup system initiates the method of backing up data blocks.
Claim 6
Dependent Claim 24 words
A method of backing up data blocks as recited in claim 1 wherein said computer system initiates the method of backing up data blocks.
Claim 7
Dependent Claim 90 words
A method of backing up data blocks as recited in claim 1 further comprising the steps of: the backup system storing the transferred data blocks in a temporary storage means until all data blocks to be transferred are received, and after all data blocks to be transferred are received, then the backup system applying the transferred data blocks to a backup storage means that includes all changes made prior to said first instant in time in order to bring the backup storage means current to said second instant of time.
Claim 8
Dependent Claim 63 words
A method of backing up data blocks as recited in claim 1 further comprising the steps of: the backup system storing the transferred data blocks in a temporary storage means until all data blocks to be transferred are received; and after all data blocks to be transferred are received, then the backup system storing the transferred data blocks to a backup storage means.
Claim 9
Dependent Claim 52 words
A method of backing up data blocks as recited in claim 1, wherein the steps of identifying only those storage locations of said mass storage system that have changed and preserving a snapshot of the unchanged data are each conducted without regard to any file structure associated with said mass storage system.
Claim 10
Dependent Claim 395 words
In a computer system comprising a primary system having a mass storage system that stores data blocks in a plurality of storage locations each having a unique address, and a preservation memory means for providing a snapshot storage location, and wherein said computer system further comprises a backup system having a backup storage location, a method of backing up data blocks that are changed during a first time period that runs from first instant in time to second instant in time while reducing the amount of data that must be sent to the backup system, the method comprising the steps of: identifying during a first time period that runs from a first instant in time to a second instant in time, only those storage locations of said mass storage system that have changed by virtue of new data stored in them during said first time period; preserving a snapshot of the data stored, at said second instant of time, in the identified storage locations so that unchanged data from the identified storage locations is preserved when a write request that writes a new data block into at least one of the identified storage locations is received during a second time period that runs from said second instant of time to a third instant of time, by performing the steps of: first checking to determine if the data block stored in said at least one of the identified storage locations at said second instant in time has been preserved in a preservation memory means; if the data block stored in said at least one of the identified storage locations at said second instant in time has been preserved in said preservation memory means, then writing said new data block to said at least one of said identified storage locations; and if the data block stored in said at least one of the identified storage locations at said second instant in time has not been preserved in said preservation memory means, then first writing the data block stored in the at least one of the identified storage locations at said second instant in time into said preservation memory means, and then writing said new data block to said at least one of the identified storage locations; and transferring the data blocks stored at said second instant of time in the identified storage locations to a backup system.
Claim 11
Dependent Claim 395 words
In a computer system comprising a primary system having a mass storage system that stores data blocks in a plurality of storage locations each having a unique address, and a preservation memory means for providing a snapshot storage location, and wherein said computer system further comprises a backup system having a backup storage location, a method of backing up data blocks that are changed during a first time period that runs from first instant in time to second instant in time while reducing the amount of data that must be sent to the backup system, the method comprising the steps of: identifying during a first time period that runs from a first instant in time to a second instant in time, only those storage locations of said mass storage system that have changed by virtue of new data stored in them during said first time period; preserving a snapshot of the data stored, at said second instant of time, in the identified storage locations so that unchanged data from the identified storage locations is preserved when a write request that writes a new data block into at least one of the identified storage locations is received during a second time period that runs from said second instant of time to a third instant of time, by performing the steps of: first checking to determine if the data block stored in said at least one of the identified storage locations at said second instant in time has been preserved in a preservation memory means; if the data block stored in said at least one of the identified storage locations at said second instant in time has been preserved in said preservation memory means, then writing said new data block to said at least one of said identified storage locations; and if the data block stored in said at least one of the identified storage locations at said second instant in time has not been preserved in said preservation memory means, then first writing the data block stored in the at least one of the identified storage locations at said second instant in time into said preservation memory means, and then writing said new data block to said at least one of the identified storage locations; and transferring the data blocks stored at said second instant of time in the identified storage locations to a backup system.
Claim 12
Dependent Claim 22 words
A method of backing up data blocks as recited in claim 9 wherein said backup system is located at a remote site.
Claim 13
Independent Claim 327 words
A method of backing up the mass storage system of computer systems to a backup system, said method comprising the steps of: (1) establishing a connection between a backup system having attached backup storage means for storing data blocks and a computer system having attached mass storage means for storing a plurality of data blocks in a plurality of data storage locations, each having a unique address, so that data can be exchanged between said backup system and said computer system; (2) said backup system receiving, and said computer system transferring, only those data blocks that have changed during a first time period that runs from a first instant in time and a second instant in time, said transferring and receiving of changed data blocks being performed by executing at least the steps of: the computer system identifying storage locations of said mass storage system that have new data stored in them during said first time period; during a second time period that runs from the second instant in time to a third instant in time, when a data block that was stored at said second instant in time in any of said identified storage locations is to be changed, the computer system preserving a snapshot of the unchanged data block before said data block is changed so that the unchanged data blocks preserved by said computer system can be retrieved even though new data is written to said mass storage system after said second instant in time, the computer system retrieving the data blocks stored, at said second instant in time, in said identified storage locations and transferring the retrieved data blocks to said backup system; and the backup system receiving the transferred data blocks; and (3) repeating steps (1) and (2) for each of said plurality of computer systems so that each of said plurality of computer systems has transferred, to said backup system, the data blocks that have changed during said first time period.
Claim 14
Independent Claim 327 words
A method of backing up the mass storage system of computer systems to a backup system, said method comprising the steps of: (1) establishing a connection between a backup system having attached backup storage means for storing data blocks and a computer system having attached mass storage means for storing a plurality of data blocks in a plurality of data storage locations, each having a unique address, so that data can be exchanged between said backup system and said computer system; (2) said backup system receiving, and said computer system transferring, only those data blocks that have changed during a first time period that runs from a first instant in time and a second instant in time, said transferring and receiving of changed data blocks being performed by executing at least the steps of: the computer system identifying storage locations of said mass storage system that have new data stored in them during said first time period; during a second time period that runs from the second instant in time to a third instant in time, when a data block that was stored at said second instant in time in any of said identified storage locations is to be changed, the computer system preserving a snapshot of the unchanged data block before said data block is changed so that the unchanged data blocks preserved by said computer system can be retrieved even though new data is written to said mass storage system after said second instant in time, the computer system retrieving the data blocks stored, at said second instant in time, in said identified storage locations and transferring the retrieved data blocks to said backup system; and the backup system receiving the transferred data blocks; and (3) repeating steps (1) and (2) for each of said plurality of computer systems so that each of said plurality of computer systems has transferred, to said backup system, the data blocks that have changed during said first time period.
Claim 15
Dependent Claim 191 words
A computer-readable medium for use in a computer system comprising a mass storage means that stores a plurality of data blocks in a plurality of storage locations, each having a unique address, said computer-readable medium having computer-executable instructions comprising: means for identifying which of said storage locations has had new data blocks stored therein during a time period that runs from a first instant in time and a second instant in time; means for preserving a static snapshot at said second instant in time of the storage locations that have had new data blocks stored therein between said first instant in time and said second instant in time, said static snapshot including at least one unchanged data block that has been transferred, after said second instant in time, from one of said identified storage locations to said means for preserving a static snapshot before said one of said identified storage locations is changed by having a new data block written thereto, said static snapshot being preserved without terminating user access to said mass storage; means for transferring the data blocks that were preserved by said static snapshot to a backup system.
Claim 16
Dependent Claim 191 words
A computer-readable medium for use in a computer system comprising a mass storage means that stores a plurality of data blocks in a plurality of storage locations, each having a unique address, said computer-readable medium having computer-executable instructions comprising: means for identifying which of said storage locations has had new data blocks stored therein during a time period that runs from a first instant in time and a second instant in time; means for preserving a static snapshot at said second instant in time of the storage locations that have had new data blocks stored therein between said first instant in time and said second instant in time, said static snapshot including at least one unchanged data block that has been transferred, after said second instant in time, from one of said identified storage locations to said means for preserving a static snapshot before said one of said identified storage locations is changed by having a new data block written thereto, said static snapshot being preserved without terminating user access to said mass storage; means for transferring the data blocks that were preserved by said static snapshot to a backup system.
Claim 17
Dependent Claim 56 words
A computer-readable medium as recited in claim 12 wherein said static snapshot is preserved at said second instant in time by copying a block of data stored in an identified storage location at said second instant in time to a preservation memory means whenever said data block is to be over-written by a new data block.
Claim 18
Dependent Claim 40 words
A computer-readable medium as recited in claim 12 wherein said computer-executable instructions further comprise means for determining when a logically consistent state has been achieved by said mass storage means so that said static snapshot preserves said logically consistent state.
Claim 19
Dependent Claim 54 words
A computer-readable medium as recited in claim 12 wherein said computer-executable instructions further comprise means for identifying differences between data blocks stored in said plurality of storage locations of said mass storage means and data blocks stored on a backup storage means on said backup system, said differences being identified after said time period.
Claim 20
Dependent Claim 57 words
A computer-readable medium as recited in claim 15 wherein said means for identifying differences identifies differences by calculating a digest for the data block stored in each storage location on said mass storage means and comparing said digest to a digest calculated on the data block stored in a corresponding storage location on said backup storage means.
Claim 21
Dependent Claim 36 words
A computer-readable medium as recited in claim 12 wherein said computer-executable instructions further comprise means for identifying storage locations of said mass storage means that have new data stored therein after said second instant in time.
Claim 22
Dependent Claim 186 words
A computer-readable medium for use in a computer system comprising a mass storage means that stores a plurality of data blocks in a plurality of storage locations, each having a unique address, said computer-readable medium having computer-executable instructions comprising: means for identifying which of said storage locations has had new data blocks stored therein during a time period that runs from a first instant in time and a second instant in time; means for preserving a static snapshot, at said second instant in time, of the storage locations that have had new data blocks stored therein between said first instant in time and said second instant in time, said static snapshot including at least one unchanged data block that has been transferred, after said second instant in time, from one of said identified storage locations to said means for preserving a static snapshot before said one of said identified storage locations is changed by having a new data block written thereto; means for retrieving the data blocks that were preserved by said static snapshot; and means for transferring the retrieved data blocks to a backup system.
Claim 23
Dependent Claim 186 words
A computer-readable medium for use in a computer system comprising a mass storage means that stores a plurality of data blocks in a plurality of storage locations, each having a unique address, said computer-readable medium having computer-executable instructions comprising: means for identifying which of said storage locations has had new data blocks stored therein during a time period that runs from a first instant in time and a second instant in time; means for preserving a static snapshot, at said second instant in time, of the storage locations that have had new data blocks stored therein between said first instant in time and said second instant in time, said static snapshot including at least one unchanged data block that has been transferred, after said second instant in time, from one of said identified storage locations to said means for preserving a static snapshot before said one of said identified storage locations is changed by having a new data block written thereto; means for retrieving the data blocks that were preserved by said static snapshot; and means for transferring the retrieved data blocks to a backup system.
Claim 24
Dependent Claim 40 words
A computer-readable medium as recited in claim 18 wherein said computer-executable instructions further comprise means for determining when a logically consistent state has been achieved by said mass storage means so that said static snapshot preserves said logically consistent state.
Claim 25
Dependent Claim 54 words
A computer-readable medium as recited in claim 19 wherein said computer-executable instructions further comprise means for identifying differences between data blocks stored in said plurality of storage locations of said mass storage means and data blocks stored on a backup storage means on said backup system, said differences being identified after said time period.
Claim 26
Dependent Claim 57 words
A computer-readable medium as recited in claim 20 wherein said means for identifying differences identifies differences by calculating a digest for the data block stored in each storage location on said mass storage means and comparing said digest to a digest calculated on the data block stored in a corresponding storage location on said backup storage means.

References Cited (Backward Citations)

US3054560A Cited
US3303474A Cited
US3444528A Cited
US3557315A Cited
US3636331A Cited
US3544477A Cited
US3533082A Cited
US3665173A Cited
US3602900A Cited
US3623014A Cited
US3681578A Cited
US3735356A Cited
US3864670A Cited
US3760364A Cited
US3761884A Cited
US3810119A Cited
US3771137A Cited
US3725861A Cited
US3754211A Cited
US3865999A Cited
US4012717A Cited
US3812469A Cited
US3824547A Cited
US3810121A Cited
US3828321A Cited
US3803568A Cited
US3820085A Cited
US4099241A Cited
US3889237A Cited
US4073005A Cited
US3959638A Cited
US4164017A Cited
US4076961A Cited
US3991407A Cited
US4051461A Cited
US4118772A Cited
US4159517A Cited
US4484275A Cited
US4378588A Cited
US4152764A Cited
US4358823A Cited
US4208715A Cited
US4191996A Cited
US4156901A Cited
US4141066A Cited
US4270167A Cited
US4228503A Cited
US4402046A Cited
US4282572A Cited
US4257009A Cited
US4359718A Cited
US4428044A Cited
US4471429A Cited
US4318173A Cited
US4430699A Cited
US4351023A Cited
US4477895A Cited
US4445214A Cited
US4455645A Cited
US4439859A Cited
US4480304A Cited
US4371754A Cited
US4380047A Cited
US4403286A Cited
US4628508A Cited
US4380067A Cited
US4403303A Cited
US4516121A Cited
US4423414A Cited
US4453215A Cited
US4654857A Cited
US4332027A Cited
US4486826A Cited
US4750177A Cited
US4434487A Cited
US4455601A Cited
US4477882A Cited
US4459658A Cited
US4562535A Cited
US4581701A Cited
US4479214A Cited
US4483001A Cited
US4507751A Cited
US4648031A Cited
US4498145A Cited
US4530051A Cited
US4521847A Cited
US4589090A Cited
US4652940A Cited
US4530052A Cited
US4648061A Cited
US4590554A Cited
US4654819A Cited
US4727516A Cited
US4604690A Cited
US4583089A Cited
US4639856A Cited
US4610013A Cited
US4646300A Cited
US4607365A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-11-09 2002-05-11 2002-11-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-11-09 2006-05-11 2006-11-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-11-09 2010-05-11 2010-11-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag