×

Block-level single instancing

  • US 9,058,117 B2
  • Filed: 10/09/2013
  • Issued: 06/16/2015
  • Est. Priority Date: 05/22/2009
  • Status: Active Grant
First Claim
Patent Images

1. A system for storing a single instance of a block of data in a data storage network, wherein the data storage network includes multiple storage devices coupled via a computer network, and wherein the computer network also couples to one or more computing devices having file systems on which files are stored, the system comprising:

  • one or more storage devices storing multiple blocks of data in one or more container files, wherein a file stored on a file system of a computing device is comprised of one or more blocks of data;

    one or more single instance databases storing, for at least some of the multiple blocks of data, an identifier of the stored block of data, and a location of the stored block of data in a container file;

    one or more index files storing, for at least some of the multiple blocks of data, a single flag indicating whether the stored block of data is referred to in one or more metadata files on the one or more storage devices; and

    a secondary storage computing device configured to—

    receive data corresponding to one or more data storage jobs from the one or more computing devices,wherein a data storage job is performed on one or more files stored on the file systems of the one or more computing devices, and wherein the received data includes multiple blocks of data; and

    for at least some of the multiple blocks of data in the received data—

    determine an identifier of the received block of data;

    determine if one of the single instance databases already stores the identifier;

    when one of the single instance databases already stores the identifier,determine the corresponding block of data in a container file,store a reference to the corresponding block of data in one of the metadata files, andupdating the flag for the corresponding block of data in one of the index files; and

    when none of the single instance databases already stores the identifier,store the received block of data in a container file, 

    wherein a container file includes stored blocks of data from more than one file stored on the one or more computing devices,storing a reference to the received block of data in one of the metadata files, andcreating a new entry for the received block in one of the index files.

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