US2004139125A1PendingUtilityA1

Snapshot copy of data volume during data access

Priority: Jun 5, 2001Filed: Oct 10, 2003Published: Jul 15, 2004
Est. expiryJun 5, 2021(expired)· nominal 20-yr term from priority
G06F 11/2064H04L 67/564H04L 67/566H04L 67/10G06F 16/128G06F 16/10G06F 3/0619G06F 16/182G06F 2201/84Y10S707/966H04L 67/1097G06F 11/2082G06F 3/065G06F 3/067
42
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A computer system with read/write access to storage devices creates a snapshot of a data volume at a point in time while continuing to accept access requests to the mirrored data volume by copying before making changes to the base data volume. Multiple snapshots may be made of the same data volume at different points in time. Only data that is not stored in a previous snapshot volume or in the base data volume are stored in the most recent snapshot volume.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A method of maintaining a copy of at least one data volume in a computer system for at least one point in time, comprising: 
 establishing a first repository for a first snapshot of a base volume; and    prior to a write operation to a first region of the base volume, copying the first region of the base volume to the first repository.    
     
     
         2 . A method as recited in  claim 1 , 
 further comprising detecting write operations to the base volume; and    wherein said copying is performed only for regions in the base volume for which write operations are detected.    
     
     
         3 . A method as recited in  claim 2 , 
 further comprising determining whether the first region was previously written to the first repository, and    wherein said copying is performed only if the first region was not previously written to the first repository.    
     
     
         4 . A method as recited in  claim 3 , further comprising reading data from a second region of the first snapshot by: 
 determining whether the second region has changed in the base volume;    reading the second region from the first repository if the second region has changed; and    reading the second region from the base volume if the second region has not changed.    
     
     
         5 . A method as recited in  claim 4 , further comprising: 
 establishing a second repository for a second snapshot of the base volume at a point in time later than said establishing of the first repository; and    prior to writing to a third region of the base volume after said establishing of the second repository, copying the third region of the base volume to the second repository.    
     
     
         6 . A method as recited in  claim 5 , further comprising reading data from a fourth region of the second snapshot by: 
 determining whether the fourth region has changed in the base volume since said establishing of the second repository;    reading the fourth region from the second repository if the fourth region has changed since said establishing of the second repository; and    reading the fourth region from the base volume if the fourth region has not changed since said establishing of the second repository.    
     
     
         7 . A method as recited in  claim 6 , wherein said establishing, copying, detecting, determining and reading are performed at least in part using filesystem software also used for the writing to the base volume.  
     
     
         8 . A method as recited in  claim 7 , wherein the first and second repositories are filesystems and said determining of changes in the base volume is based on whether one of the second and fourth regions corresponds to a written extent.  
     
     
         9 . A method as recited in  claim 8 , further comprising maintaining data integrity of the first and second snapshots by changing a flag indicating that data has not been written to an extent only after the write operation to the base volume is completed.  
     
     
         10 . A method as recited in  claim 4 , wherein the first repository is a filesystem created and accessed by filesystem software also used for the writing to the base volume and said determining of whether the second region has changed in the base volume is based on whether the second region corresponds to an unwritten extent in the filesystem of the first repository.  
     
     
         11 . A method as recited in  claim 3 , wherein the first repository is a filesystem created and accessed by filesystem software also used for the writing to the base volume and said determining of whether the first region was previously written to the first repository is based on whether the first region corresponds to a written extent in the filesystem of the first repository.  
     
     
         12 . A computer system maintaining a copy of at least one data volume for at least one point in time, comprising: 
 at least one storage device storing at least one data volume; and    a processor, coupled to said storage device, to establish a first repository for a first snapshot of a base volume and, prior to a write operation to a first region of the base volume, to copy the first region of the base volume to the first repository.    
     
     
         13 . A computer system as recited in  claim 12 , wherein said processor further detects write operations to the base volume and copies only regions in the base volume for which write operations are detected.  
     
     
         14 . A computer system as recited in  claim 13 , wherein said processor further determines whether the first region was previously written to the first repository and copies the first region only if the first region was not previously written to the first repository.  
     
     
         15 . A computer system as recited in  claim 14 , wherein said processor further reads data from a second region of the first snapshot by determining whether the second region has changed in the base volume, reading the second region from the first repository if the second region has changed and reading the second region from the base volume if the second region has not changed.  
     
     
         16 . A computer system as recited in  claim 15 , 
 wherein said at least one storage device stores a second repository for a second snapshot of the base volume at a point in time after establishment of the first repository; and    wherein said processor further copies a third region of the base volume to the second repository prior to writing to the third region of the base volume after establishment of the second repository.    
     
     
         17 . A computer system as recited in  claim 16 , wherein said processor further reads data from a fourth region of the second snapshot by determining whether the fourth region has changed in the base volume since establishment of the second repository, reading the fourth region from the second repository if the fourth region has changed since establishment of the second repository and reading the fourth region from the base volume if the fourth region has not changed since establishment of the second repository.  
     
     
         18 . At least one computer readable medium storing at least one program embodying a method of maintaining a copy of at least one data volume in a computer system for at least one point in time, said method comprising: 
 establishing a first repository for a first snapshot of a base volume; and    prior to a write operation to a first region of the base volume, copying the first region of the base volume to the first repository.    
     
     
         19 . At least one computer readable medium as recited in  claim 18 , 
 wherein said method further comprises detecting write operations to the base volume; and    wherein said copying is performed only for regions in the base volume for which write operations are detected.    
     
     
         20 . At least one computer readable medium as recited in  claim 19 , 
 wherein said method further comprises determining whether the first region was previously written to the first repository, and    wherein said copying is performed only if the first region was not previously written to the first repository.    
     
     
         21 . At least one computer readable medium as recited in  claim 20 , wherein said method further comprises reading data from a second region of the first snapshot by: 
 determining whether the second region has changed in the base volume;    reading the second region from the first repository if the second region has changed; and    reading the second region from the base volume if the second region has not changed.    
     
     
         22 . At least one computer readable medium as recited in  claim 21 , wherein said method further comprises: 
 establishing a second repository for a second snapshot of the base volume at a point in time later than said establishing of the first repository; and    prior to writing to a third region of the base volume after said establishing of the second repository, copying the third region of the base volume to the second repository.    
     
     
         23 . At least one computer readable medium as recited in  claim 22 , wherein said method further comprises reading data from a fourth region of the second snapshot by: 
 determining whether the fourth region has changed in the base volume since said establishing of the second repository;    reading the fourth region from the second repository if the fourth region has changed since said establishing of the second repository; and    reading the fourth region from the base volume if the fourth region has not changed since said establishing of the second repository.

Join the waitlist — get patent alerts

Track US2004139125A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.