PARTIAL FILE RESTORE IN A DATA STORAGE SYSTEM
First Claim
1. A method of partially restoring a secondary copy of a file stored in a data storage system, comprising:
- receiving an instruction to restore a portion of a secondary copy of a file stored in secondary storage to primary storage for use by a software application, data stored in the secondary storage being organized in one or more chunks, each chunk being a logical data unit,wherein the instruction comprises a starting application offset corresponding to a beginning of the portion of the file to be restored, the starting application offset associated with the software application;
identifying, using computer hardware, a chunk in the secondary storage that includes a part of the secondary copy corresponding to the starting application offset;
accessing, using computer hardware, an index stored in association with the chunk, wherein the index comprises a plurality of entries, each entry of the plurality of entries listing and providing a mapping between a respective application offset and a corresponding respective secondary storage offset, the respective application offset associated with the software application, the respective secondary storage offset corresponding to an offset within the secondary copy of the file;
determining, using computer hardware, a first entry in the plurality of entries that references a respective application offset that corresponds to the starting application offset; and
using the respective secondary storage offset of the first entry to restore a portion in the chunk from the secondary storage to the primary storage.
4 Assignments
0 Petitions
Accused Products
Abstract
The data storage system according to certain aspects can implement partial file restore, where only a portion of the secondary copy of a file is restored. Such portion may be designated by one or more application offsets for the file. The system may provide an in-chunk index that includes mapping information between the application offsets and the secondary copy offsets. Chunks may refer to logical data units in which secondary copies are stored, and the in-chunk index for a chunk may be stored in secondary storage with the chunk. Because the mapping information may not be provided at a fixed interval, the system can search through application offsets in the in-chunk index to locate the secondary copy offset corresponding to the portion application offset(s). In this manner, the system may restore the designated portion of the secondary copy in a fast and efficient manner by using the in-chunk index.
63 Citations
20 Claims
-
1. A method of partially restoring a secondary copy of a file stored in a data storage system, comprising:
-
receiving an instruction to restore a portion of a secondary copy of a file stored in secondary storage to primary storage for use by a software application, data stored in the secondary storage being organized in one or more chunks, each chunk being a logical data unit, wherein the instruction comprises a starting application offset corresponding to a beginning of the portion of the file to be restored, the starting application offset associated with the software application; identifying, using computer hardware, a chunk in the secondary storage that includes a part of the secondary copy corresponding to the starting application offset; accessing, using computer hardware, an index stored in association with the chunk, wherein the index comprises a plurality of entries, each entry of the plurality of entries listing and providing a mapping between a respective application offset and a corresponding respective secondary storage offset, the respective application offset associated with the software application, the respective secondary storage offset corresponding to an offset within the secondary copy of the file; determining, using computer hardware, a first entry in the plurality of entries that references a respective application offset that corresponds to the starting application offset; and using the respective secondary storage offset of the first entry to restore a portion in the chunk from the secondary storage to the primary storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A data storage system for partially restoring a secondary copy of a file, comprising:
-
a storage manager executing on computer hardware and configured to; receive an instruction to restore a portion of a secondary copy of a file stored in secondary storage to primary storage for use by a software application, data stored in the secondary storage being organized in one or more chunks, each chunk being a logical data unit, wherein the instruction comprises a starting application offset corresponding to a beginning of the portion of the file to be restored, the starting application offset associated with the software application; and one or more computing devices comprising computer hardware and configured to; identify a chunk in the secondary storage that includes a part of the secondary copy corresponding to the starting application offset; access an index stored in association with the chunk, wherein the index comprises a plurality of entries, each entry of the plurality of entries listing and providing a mapping between a respective application offset and a corresponding respective secondary storage offset, the respective application offset associated with the software application, the respective secondary storage offset corresponding to an offset within the secondary copy of the file; determine a first entry in the plurality of entries that references a respective application offset that corresponds to the starting application offset; and use the respective secondary storage offset of the first entry to restore a portion in the chunk from the secondary storage to the primary storage. - View Dependent Claims (17, 18, 19, 20)
-
Specification