1. A method of deduplicating data performed by one or more computing systems which are coupled to one or more storage devices via a network, wherein the one or more computing system each comprise at least one processor and memory, and the one or more storage devices include a searchable data structure and a first set of data, the method comprising: receiving a second set of data; dividing the second set of data into at least one block, wherein the one block includes a total number of bytes; accessing the searchable data structure; determining whether one or more bytes of the one block are included in a portion of the first set of data in the searchable data structure, wherein the number of the one or more bytes is less than the total number of bytes of the one block; replacing the one or more bytes with a reference to the portion of the first set of data when the one or more bytes of the one block are included in the portion of the first set of data in the searchable data structure; and causing the one block to be stored using the one or more storage devices.