Pre-fetching stored data from a memory
First Claim
1. A method for pre-fetching stored data from a slower memory, the method comprising:
- receiving data from a network at a first digital device, the first digital device comprising at least one slower memory and at least one faster memory, wherein the at least one slower memory comprises a non-volatile storage device and the at least one faster memory comprises random access memory, the first digital device in communication with a second digital device over a communication network;
pre-scanning the received data to generate a set of fingerprints;
identifying stored fingerprints similar to the set of fingerprints;
determining that the received data is not stored in the at least one faster memory;
comparing the set of fingerprints with the stored fingerprints in the at least one slower memory to identify a fingerprint match;
copying stored data associated with the set of fingerprints from the at least one slower memory into the at least one faster memory; and
retrieving the stored data associated with the identified stored fingerprints according to a prioritization algorithm.
5 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for pre-fetching of data in a memory are provided. By pre-fetching stored data from a slower memory into a faster memory, the amount of time required for data retrieval and/or processing may be reduced. First, data is received and pre-scanned to generate a sample fingerprint. Fingerprints stored in a faster memory that are similar to the sample fingerprint are identified. Data stored in the slower memory associated with the identified stored fingerprints is copied into the faster memory. The copied data may be compared to the received data. Various embodiments may be included in a network memory architecture to allow for faster data matching and instruction generation in a central appliance.
-
Citations
25 Claims
-
1. A method for pre-fetching stored data from a slower memory, the method comprising:
-
receiving data from a network at a first digital device, the first digital device comprising at least one slower memory and at least one faster memory, wherein the at least one slower memory comprises a non-volatile storage device and the at least one faster memory comprises random access memory, the first digital device in communication with a second digital device over a communication network; pre-scanning the received data to generate a set of fingerprints; identifying stored fingerprints similar to the set of fingerprints; determining that the received data is not stored in the at least one faster memory; comparing the set of fingerprints with the stored fingerprints in the at least one slower memory to identify a fingerprint match; copying stored data associated with the set of fingerprints from the at least one slower memory into the at least one faster memory; and retrieving the stored data associated with the identified stored fingerprints according to a prioritization algorithm. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for pre-fetching stored data from a slower memory, the system comprising:
-
a scan module configured to pre-scan received data at a first digital device to generate a set of fingerprints, the received data being received from a network; a second digital device in communication with the first digital device over the network; a search module configured to identify at least one stored fingerprint identical to the set of fingerprints, the at least one stored fingerprint corresponding to stored data in a slower memory of the first digital device, the slower memory comprising a non-volatile storage device; a priority module configured to retrieve the stored data associated with the set of fingerprints according to a prioritization algorithm; and a duplication module configured to copy the stored data corresponding to the set of fingerprints from the slower memory into a faster memory, the faster memory comprising random access memory. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable medium having embodied thereon a program, the program being executable by a processor at a first digital device for performing a method for pre-fetching stored data from a slower memory into a faster memory, wherein the slower memory comprises a non-volatile storage device and the faster memory comprises random access memory, the first digital device in communication with a second digital device over a communication network, the method comprising:
-
receiving data from a network at the first digital device, the first digital device comprising at least one slower memory and at least one faster memory; pre-scanning the received data to generate a set of fingerprints; determining that the received data is not stored in the at least one faster memory; comparing the set of fingerprints with a plurality of stored fingerprints in the at least one slower memory to identify a fingerprint match; copying stored data associated with the set of fingerprints from the at least one slower memory into the at least one faster memory; and retrieving the stored data associated with the set of fingerprints according to a prioritization algorithm. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification