1. An apparatus for deduplicating data among one or more storage devices coupled via a network, wherein the network also couples to one or more computing systems, and wherein the one or more storage devices include a searchable data structure and a first set of data, the apparatus comprising: a computing device having at least one processor and at least one memory, wherein the computing device is configured to: receive a second set of data; divide the second set of data into at least one block, wherein the block includes a total number of bytes; access the searchable data structure; determine whether one or more bytes of the 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 block; replace the one or more bytes with a reference to the portion of the second set of data if the one or more bytes of the block are included in the portion of the first set of data in the searchable data structure; and cause the block to be stored using the one or more storage devices.