Patent ID: 8171238

Claim:
A method comprising: receiving a first data packet; comparing a first packet byte within the first data packet to a first memory byte within a memory, the memory comprising a first persistent memory and a second faster memory, at least the second faster memory residing in a network memory appliance; determining a mismatch between the first packet byte and the first memory byte; jumping to a memory location containing a second memory byte that is non-consecutive with the first memory byte; jumping to a packet location containing a second packet byte that is non-consecutive with the first packet byte; comparing the second packet byte to the second memory byte; receiving a second data packet associated with the same Internet Protocol flow as the first data packet; comparing a packet byte of the second data packet to a packet byte of the memory; generating a retrieval instruction configured to transform one or more bytes in memory based at least in part on a result of the comparison between the second packet byte and the second memory byte; pre-scanning the data packet to generate a sample fingerprint; identifying stored fingerprints identical to the sample fingerprint; and copying the first memory byte from the first persistent memory to the second faster memory based on the identification of matches with the identified stored fingerprints.