×

System and method for application aware de-duplication of data blocks on a virtualized storage array

  • US 8,504,531 B2
  • Filed: 11/27/2010
  • Issued: 08/06/2013
  • Est. Priority Date: 11/27/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method for application aware de-duplication (de-dup) of data blocks on one or more virtualized storage arrays in a networked storage system, comprising:

  • enabling a de-dup agent on each of a host device, a data path module (DPM), and one or more virtualized storage arrays, wherein the DPM is connected between the host device and the one or more virtualized storage arrays such that operations between the host device and the one or more virtualized storage arrays are communicated via the DPM;

    creating a master list of metadata associated with indexed data and storing the masterlist in the one or more virtualized storage arrays;

    creating one or more sublists of metadata from the masterlist and storing the one or more sublists in one or more of the host device and the DPM;

    upon receiving a write request from an application residing in the host device, determining whether a data block being written has an entry in the sublist stored in the host device;

    if the data block has an entry in a sublist stored in the host device, replacing the data block with a pointer indicating where the data block is residing in the one or more virtualized storage arrays;

    if it is determined that the data block being written has no entry in the sublist stored in the host device, determining whether the data block being written is in the masterlist stored in the one or more virtualized storage arrays;

    if it is determined that the data block being written is in the masterlist stored in the one or more virtualized storage arrays, replacing the data block with a pointer indicating where the data block is residing in the one or more virtualized storage arrays; and

    if it is determined that the data block being written is not in the masterlist stored in the one or more virtualized storage arrays, writing the data block in one of the one or more virtualized storage arrays.

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