Patent ID: 8225060

Claim:
A computer enabled method of storing an input dataset in a storage medium, the method comprising: storing a copy for each of a plurality of repeatable blocks of data in an input dataset in a storage medium; finding a location in the storage medium of the copy of a block of data in the input dataset, wherein finding the location comprises: determining a most likely location in the storage medium of the copy of the block of data from one or more blocks of data preceding the block of data based on statistics of past stored data; and if the determined most likely location contains a block of data that matches with the actual block of data, retrieving the location in the storage medium of the copy of the block of data; and storing the location of the copy of the block of data, wherein the copy for each of the plurality of repeatable blocks of data is associated with a corresponding set of metadata, wherein determining the most likely location in the storage medium of the copy of the block of data comprises one of: determining using an n th order Markov chain, determining from a block of data preceding the block of data using a first order Markov chain, and determining from two blocks of data preceding the block of data using a second order Markov chain.