1. A method of de-duplicating a volume of data, the method comprising: selecting a plurality of overlapping portions of an input segment within the volume of data; comparing each of the overlapping portions of the input segment with a plurality of portions of a dictionary segment from a de-duplication dictionary to identify a first portion of the input segment that matches a first portion of the dictionary segment; after identifying the matching first portions of the input segment and dictionary segment, determining a starting position of selected bytes within the input segment that differs from a starting position of selected bytes within the dictionary segment according to a difference between starting positions of the matching first portions of the input segment and dictionary segment, the selected bytes of the input segment including more bytes than any one of the overlapping portions of the input segment; comparing the selected bytes of the input segment with the selected bytes of the dictionary segment to identify dictionary-matching bytes within the input segment; and replacing the dictionary-matching bytes within the input segment with a token representative of the dictionary segment to reduce the size of the volume of data.
1. A method of de-duplicating a volume of data, the method comprising: selecting a plurality of overlapping portions of an input segment within the volume of data; comparing each of the overlapping portions of the input segment with a plurality of portions of a dictionary segment from a de-duplication dictionary to identify a first portion of the input segment that matches a first portion of the dictionary segment; after identifying the matching first portions of the input segment and dictionary segment, determining a starting position of selected bytes within the input segment that differs from a starting position of selected bytes within the dictionary segment according to a difference between starting positions of the matching first portions of the input segment and dictionary segment, the selected bytes of the input segment including more bytes than any one of the overlapping portions of the input segment; comparing the selected bytes of the input segment with the selected bytes of the dictionary segment to identify dictionary-matching bytes within the input segment; and replacing the dictionary-matching bytes within the input segment with a token representative of the dictionary segment to reduce the size of the volume of data. 11. The method of claim 1 further comprising determining whether the dictionary-matching bytes within the input segment exceeds a threshold number of bytes, and wherein replacing the dictionary-matching bytes within the input segment with a token representative of the dictionary segment comprises substituting the token representative of the dictionary segment for the dictionary-matching bytes if the number of dictionary-matching bytes exceeds the threshold number of bytes.