×

Writing data in a distributed data storage system

  • US 9,383,933 B2
  • Filed: 08/07/2014
  • Issued: 07/05/2016
  • Est. Priority Date: 03/05/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method for writing data, the data including one or more storage units, the method comprising:

  • receiving a write request, the write request including client data and a client address, wherein the client address identifies the client data;

    segmenting the client data into the one or more storage units;

    computing a storage unit identifier for each of the one or more storage units, wherein the storage unit identifier for each of the one or more storage units uniquely identifies content of a storage unit associated with the storage unit identifier;

    determining, by a metadata server, a mapping between each storage unit identifier to a block server; and

    for each of the one or more storage units, sending the storage unit and the corresponding storage unit identifier to a block server based upon the mapping between the storage unit identifier to the block server, wherein the block server stores the storage unit and maps the storage unit identifier to where the storage unit is stored on the block server, wherein a storage unit that is associated with multiple client addresses is mapped to a single storage unit and stored on a block server one time, wherein the storage unit is not stored multiple times on a single storage medium on the block server, determining a plurality of storage unit identifiers associated with client data;

    for each of the plurality of storage unit identifiers;

    determining if the storage unit identifier is present in a Bloom filter; and

    adding the storage unit identifier to the Bloom filter based upon the determining the storage unit identifier is not present in the Bloom filter; and

    calculating an amount of space used by the client data based upon the Bloom filter.

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