×

Vector processing for segmentation hash values calculation

  • US 10,459,961 B2
  • Filed: 08/02/2017
  • Issued: 10/29/2019
  • Est. Priority Date: 04/19/2016
  • Status: Active Grant
First Claim
Patent Images

1. A system for block deduplication, comprising:

  • a non-transitory memory comprising instructions;

    a vector processor in communication with the memory, wherein the vector processor is configured to execute the instructions to create, from an input data stream, a segmented data stream comprising a plurality of variable size segments, wherein defining a segment of the plurality of variable size segments comprises;

    applying a rolling sequence over a sequence of consecutive data items of the input data stream, the rolling sequence including a subset of consecutive data items of the sequence;

    calculating a plurality of partial hash values, wherein the plurality of partial hash values are calculated concurrently by a plurality of vector processing pipelines of the vector processor, wherein each partial hash value corresponds to a respective partial rolling sequence out of a plurality of partial rolling sequences, and wherein each partial rolling sequence is comprised of a plurality of evenly spaced data items of the subset;

    determining compliance of each of the plurality of partial hash values with at least one respective partial segmentation criterion; and

    designating a cut in the sequence which defines the segment of the sequence in response to at least one of the plurality of partial hash values complying with the at least one respective partial segmentation criterion; and

    a deduplication application configured to receive the segmented data stream and perform block deduplication on the segmented data stream;

    wherein the at least one respective partial segmentation criterion defines a data pattern; and

    wherein determining compliance of each of the plurality of partial hash values with at least one respective partial segmentation criterion comprises;

    checking whether a portion of each partial hash value equals a predefined value;

    orchecking whether each partial hash value is larger than a predefined value.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×