×

Partial file restore in a data storage system

  • US 9,804,930 B2
  • Filed: 01/10/2014
  • Issued: 10/31/2017
  • Est. Priority Date: 01/11/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method of partially restoring a secondary copy of a first file stored in a data storage system, comprising:

  • using one or more computing devices comprising computer hardware;

    receiving an instruction to restore a portion of a secondary copy of a first file stored in a secondary storage subsystem to a primary storage subsystem for use by a software application that generated the first file, wherein data in the secondary storage subsystem, including the secondary copy of the first file, is stored in one or more chunks, and each chunk is a logical data unit for storing the data in the secondary storage subsystem in one or more secondary storage devices in the secondary storage subsystem,the instruction comprising a starting application offset corresponding to a beginning of the portion of the first file to be restored, the starting application offset associated with the software application;

    identifying a chunk stored in the secondary storage subsystem that includes a part of the secondary copy corresponding to the starting application offset;

    accessing an index for the chunk, wherein the index is stored in the chunk and both the index and the chunk are stored in the secondary storage subsystem, the index comprising a plurality of entries, a first entry in the plurality of entries providing a mapping between a first application offset of the first file and a corresponding first secondary storage offset, a second entry in the plurality of entries providing a mapping between a second application offset of a second file and a corresponding second secondary storage offset,wherein the first application offset is an offset within the first file and is associated with the software application, the first secondary storage offset is an offset within the secondary copy of the first file, and the first secondary storage offset within the secondary copy of the first file corresponds to the first application offset within the first file,wherein the mapping between the first application offset of the first file and the corresponding first secondary storage offset is stored in the first entry in response to data corresponding to the first application offset being written to a buffer for storage in the secondary storage subsystem during creation of the secondary copy, wherein creation of the secondary copy involves a series of transactions in which data is written to the buffer and then written from the buffer to the secondary storage devices, and wherein an amount of data written to the buffer in each transaction is not predetermined;

    iteratively searching application offsets of the plurality of entries in the index to determine that the first entry in the plurality of entries is usable to locate a portion in the chunk that includes data corresponding to the starting application offset; and

    using the first secondary storage offset of the first entry to restore the portion in the chunk from the secondary storage subsystem to the primary storage subsystem.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×