Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method for improving the efficiency of recording data to tape, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising: identifying a command to duplicate a data unit to tape storage after a previous version of the data unit has already been duplicated to tape storage; identifying metadata that distinguishes between blocks of the data unit that have not changed since the previous version of the data unit already duplicated to tape storage and blocks of the data unit that have changed since the previous version of the data unit at least in part by comparing extent maps for the previous version of the data unit and extent maps for a current version of the data unit to identify changed extents; reading the previous version of the data unit from tape storage and reading the blocks of the data unit that have changed from a data sharing storage rather than tape storage, the data sharing storage linking a same instance of a common data portion to at least two instances of corresponding data that share the common data portion; and combining, using the metadata, the blocks read from tape storage that have not changed since the previous version and the blocks read from the data sharing storage that have changed to duplicate the data unit to tape storage, wherein the blocks read from the data sharing storage that have changed since the previous version are stored sequentially on data extents of the data sharing storage but are located non-sequentially across the data unit.
2. The computer-implemented method of claim 1 , wherein the data unit comprises a disk image.
3. The computer-implemented method of claim 2 , wherein the disk image stores both the content and the structure for at least one of a disk volume and a storage device.
4. The computer-implemented method of claim 2 , wherein the disk image comprises a sector-by-sector copy of a source medium.
5. The computer-implemented method of claim 1 , wherein: the previous version of the data unit is separately available on both tape storage and the data sharing storage; reading the previous version of the data unit from tape storage is faster than reading the data unit from the data sharing storage; and reading the previous version of the data unit from tape storage is performed to achieve an efficiency improvement over reading the data from the data sharing storage.
6. The computer-implemented method of claim 5 , wherein reading the previous version of the data unit from tape storage is faster than reading the data unit from the data sharing storage at least in part due to the data unit being fragmented on the data sharing storage.
7. The computer-implemented method of claim 1 , wherein identifying the metadata comprises generating the metadata that distinguishes between blocks of the data unit that have not changed since the previous version of the data unit already duplicated to tape storage and blocks of the data unit that have changed since the previous version of the data unit.
8. The computer-implemented method of claim 7 , wherein generating the metadata is performed in response to the command to duplicate the data unit to tape storage.
9. The computer-implemented method of claim 1 , wherein the data sharing storage stores multiple blocks of the data unit in separate original storage containers.
10. The computer-implemented method of claim 9 , wherein the data sharing storage stores: multiple blocks of each portion sequentially within a respective original storage container; and each changed block of the data unit sequentially within at least one additional container, separate from the original storage containers.
11. The computer-implemented method of claim 10 , wherein storing blocks sequentially enables the blocks to be read faster than if the blocks were stored non-sequentially.
12. The computer-implemented method of claim 1 , wherein the combining, using the metadata, the blocks read from tape storage that have not changed since the previous version and the blocks read from the data sharing storage that have changed is performed on a scheduled frequency of at least once weekly.
13. The computer-implemented method of claim 1 , wherein the blocks read from tape storage that have not changed since the previous version comprise a majority of the blocks combined to duplicate the data unit.
14. The computer-implemented method of claim 1 , wherein: the blocks read from the data sharing storage that have changed since the previous version are read sequentially from the data extents of the data sharing storage; reading the blocks that have changed sequentially eliminates a more inefficient process of performing random read operations that reference containers in an order in which they appear referenced within the data unit.
15. The computer-implemented method of claim 1 , wherein, prior to combining the blocks using the metadata, the blocks read from the data sharing storage that have changed since the previous version are stored within a buffer to enable these blocks to be reordered during combining with the blocks read from tape storage that have not changed since the previous version to duplicate the data unit to tape storage.
16. The computer-implemented method of claim 1 , wherein the data sharing storage comprises an integrated purpose-built backup appliance.
17. A system for improving the efficiency of recording data to tape, the system comprising: an identification module, stored in memory, that: identifies a command to duplicate a data unit to tape storage after a previous version of the data unit has already been duplicated to tape storage; identifies metadata that distinguishes between blocks of the data unit that have not changed since the previous version of the data unit already duplicated to tape storage and blocks of the data unit that have changed since the previous version of the data unit at least in part by comparing extent maps for the previous version of the data unit and extent maps for a current version of the data unit to identify changed extents; a reading module, stored in memory, that reads the previous version of the data unit from tape storage and that reads the blocks of the data unit that have changed from a data sharing storage rather than tape storage, the data sharing storage linking a same instance of a common data portion to at least two instances of corresponding data that share the common data portion; a combining module, stored in memory, that combines, using the metadata, the blocks read from tape storage that have not changed since the previous version and the blocks read from the data sharing storage that have changed to duplicate the data unit to tape storage; and at least one physical processor configured to execute the identification module, the reading module, and the combining module, wherein the blocks read from the data sharing storage that have changed since the previous version are stored sequentially on data extents of the data sharing storage but are located non-sequentially across the data unit.
18. The system of claim 17 , wherein the data unit comprises a disk image.
19. The system of claim 18 , wherein the disk image stores both the content and the structure for at least one of a disk volume and a storage device.
20. A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to: identify a command to duplicate a data unit to tape storage after a previous version of the data unit has already been duplicated to tape storage; identify metadata that distinguishes between blocks of the data unit that have not changed since the previous version of the data unit already duplicated to tape storage and blocks of the data unit that have changed since the previous version of the data unit at least in part by comparing extent maps for the previous version of the data unit and extent maps for a current version of the data unit to identify changed extents; read the previous version of the data unit from tape storage and read the blocks of the data unit that have changed from a data sharing storage rather than tape storage, the data sharing storage linking a same instance of a common data portion to at least two instances of corresponding data that share the common data portion; and combine, using the metadata, the blocks read from tape storage that have not changed since the previous version and the blocks read from the data sharing storage that have changed to duplicate the data unit to tape storage, wherein the blocks read from the data sharing storage that have changed since the previous version are stored sequentially on data extents of the data sharing storage but are located non-sequentially across the data unit.
Unknown
May 21, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.