Nova Patents
EP2012235A2

Commonality factoring

Abstract

The invention can provide for systems and methods for commonality factoring for storing data on removable storage media are described. The systems and methods allow for highly compressed data, e.g., data compressed using archiving or backup methods including de-duplication, to be stored in an efficient manner on portable memory devices such as removable storage cartridges. The methods include breaking data, e.g., data files for backup, into unique chunks and calculating identifiers, e.g., hash identifiers, based on the unique chunks. Redundant chunks can be identified by calculating identifiers and comparing identifiers of other chunks to the identifiers of unique chunks previously calculated. When a redundant chunk is identified, a reference to the existing unique chunk is generated such that the chunk can be reconstituted in relation to other chunks in order to recreate the original data. The method further includes storing one or more of the unique chunks, the identifiers and/or the references on the removable storage medium. The acceleration hardware and/or software can reside in multiple devices, depending on the embodiment. For example, hardware and/or software for the chunking and/or hashing functions can reside in one or more of a host computer, a removable storage device, a removable cartridge holder and the removable storage cartridge.

EP2012235A2, drawing sheet 1
Sheet 1 of 6

Term

Projected expiry 4 July 2028.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

13 claims: 2 independent, 11 dependent

  1. 1
    A method of commonality factoring for storing data with a removable storage cartridge, comprising:receiving, at an expansion module removably coupled to a host computer, an original data stream, wherein the expansion module comprises: a chunking module, and a hashing module, wherein the hashing module and the chunking module are configured in a pipeline architecture such that at least a portion of input to the hashing module comprises output from the chunking module;at the chunking module, breaking the original data stream into a plurality of chunks;and forwarding the chunks toward the hashing module, wherein the hashing module performs the following steps: calculating an identifier for each forwarded chunk;storing the identifiers;and determining, based on the identifiers, whether each chunk is unique;and forwarding at least one of the unique chunks and the identifier to the removable storage cartridge, wherein the removable storage cartridge includes a storage drive.
  2. 2
    The method for commonality factoring for storing data with the removable storage cartridge according to Claim 1, wherein the identifiers are stored in low latency memory.
  3. 3
    The method for commonality factoring for storing data with the removable storage cartridge according to Claim 1, wherein at least one of the chunking module and the hashing module is external to the host computer.
  4. 4
    An expansion card for commonality factoring for storing data with a removable storage cartridge, comprising:a chunking module configured to: receive an original data stream from the host computer, and break the original data stream into a plurality of chunks, the expansion card being configured to: be removably coupled to a host computer and the removable storage cartridge, and store data on the removable storage cartridge;and a hashing module coupled to the chunking module in a pipeline fashion such that at least a portion of input to the hashing module comprises output from the chunking module, wherein the hashing module is configured to: receive the plurality of chunks from the chunking module, calculate an identifier for each of the received chunks, determine, based on the identifiers, if each chunk is unique, and store the unique chunks on the removable storage cartridge.
  5. 5
    The expansion card for commonality factoring for storing data with the removable storage cartridge according to Claim 4, wherein the original data stream comprises a plurality of files.
  6. 6
    The expansion card for commonality factoring for storing data with the removable storage cartridge according to Claim 4, wherein multiple data paths in parallel are utilized.
  7. 7
    The expansion card for commonality factoring for storing data with the removable storage cartridge according to Claim 4, wherein a first byte of each chunk is processed by the hashing module before a last byte of the chunk has been processed by the chunking module.
  8. 8
    The expansion card for commonality factoring for storing data with the removable storage cartridge according to Claim 4, further comprising an additional data processing module.
  9. 9
    The expansion card for commonality factoring for storing data with the removable storage cartridge according to Claim 8, further comprising an identifier database search module for performing a search of an identifier database based on outputs from the hashing module and forwarding the unique chunks to the additional processing module.
  10. 10
    The expansion card for commonality factoring for storing data with the removable storage cartridge according to Claim 8, wherein the additional data processing module comprises one or more of a data compression module, an encryption module and an error correction coding module.
  11. 11
    The expansion card for commonality factoring for storing data with the removable storage cartridge according to Claim 4, wherein the hashing module is further configured to:calculate an identifier for each forwarded chunk;storing the identifiers;and determining that the chunks are unique based on the identifiers.
  12. 12
    The expansion card for commonality factoring for storing data with the removable storage cartridge according to Claim 4, wherein:the multiple data paths comprise a single data stream split across multiple instances by truncating the data stream at locations that do not necessarily align with chunk boundaries as calculated by the chunking module, wherein a size of truncated portions of the data stream is either fixed or variable.
  13. 13
    The expansion card for commonality factoring for storing data with the removable storage cartridge according to Claim 4, wherein the hashing module is configured to use one or more of Message Digest Algorithm 5 (MD5) hashing, Secure Hash Algorithm - 1 (SHA-1) hashing and Secure Hash Algorithm - 2 (SHA-2) hashing.
Independent claims13