Backing up volumes using fragment files
AssigneeEMC IP Holding Company LLC
InventorsYoval Nir, Saar Cohen, Donna Lewis, Bhimsen Bhanjois, Assaf Natanzon
Life of this patent
Estimating the term…
Abstract
In one aspect, a method includes determining a number of data streams to assign to a volume, assigning a fragment file for each data stream, sending fragment files to a backup storage device, synthesizing the fragment files to form an image file for the volume at the backup device, sending new fragment files with changes to the volume to the backup device and synthesizing the new fragment files with the corresponding image file to form a new image file for the volume.
Claims13
A method for use in a storage system having a storage array and at least one backup storage device, the method comprising:
- dividing a volume in the storage array into a plurality of regions, the volume being divided into the plurality of regions based on amount of changes that are made to the volume;
- generating a plurality of fragment files, each of the fragment files corresponding to a different one of the plurality of regions, each of the fragment files identifying changes that have occurred in the fragment file's corresponding region after a previous image file associated with the volume was generated;
- allocating a plurality of data streams that are associated with the volume;
- assigning each of the plurality of fragment files to a different one of the plurality of data streams;
- sending the fragment files to the backup storage device, each of the fragment files being sent to the backup storage device via the fragment file's assigned data stream;
- and
- generating, at the backup storage device, a new image file for the volume by mixing new data that is included in the fragment files with pointers to old data that is associated with the previous image file, the mixing including:
- (i) copying contents of the fragment files into the new image file, and (ii) copying unchanged portions of the previous image file into the new image file, the copying of the unchanged portions of the previous image file being performed by using pointer manipulation without moving the unchanged portions.
An apparatus, comprising:
- electronic hardware circuitry configured to:
- divide a volume in a storage array into a plurality of regions, the volume being divided into the plurality of regions based on amount of changes that are made to the volume;
- generate a plurality of fragment files, each of the fragment files corresponding to a different one of the plurality of regions, each of the fragment files identifying changes that have occurred in the fragment file's corresponding region after a previous image file associated with the volume was generated;
- allocate a plurality of data streams that are associated with the volume;
- assign each of the plurality of fragment files to a different one of the plurality of data streams;
- send the fragment files to a backup storage device, each of the fragment files being sent to the backup storage device via the fragment file's assigned data stream;
- and
- generate, at the backup storage device, a new image file for the volume by mixing new data that is included in the fragment files with pointer to old data that is associated with the previous image file, the mixing including:
- (i) copying contents of the fragment files into the new image file, and (ii) copying unchanged portions of the previous image file into the new image file, the copying of the unchanged portions of the previous image file being performed by using pointer manipulation without moving the unchanged portions.
An article comprising:
- a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to:
- divide a volume in a storage array into a plurality of regions, the volume being divided into the plurality of regions based on amount of changes that are made to the volume;
- generate a plurality of fragment files, each of the fragment files corresponding to a different one of the plurality of regions, each of the fragment files identifying changes that have occurred in the fragment file's corresponding region after a previous image file associated with the volume was generated;
- allocate a plurality of data streams that are associated with the volume;
- assign each of the plurality of fragment files to a different one of the plurality of data streams;
- send the fragment files to a backup storage device, each of the fragment files being sent to the backup storage device via the fragment file's assigned data stream;
- and
- generate, at the backup storage device, a new image file for the volume by mixing new data that is included in the fragment files with pointers to old data that is associated with the previous image file, the nixing including:
- (i) copying contents of the fragment files into the new image file, and (ii) copying unchanged portions of the previous image file into the new image file, the copying of the unchanged portions of the previous image file being performed by using pointer manipulation without moving the unchanged portions.
Dependencies are inferred from the claim text.