Pre-fetching stored data from a memory

US9253277B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9253277-B2
Application numberUS-201514734949-A
CountryUS
Kind codeB2
Filing dateJun 9, 2015
Priority dateJul 5, 2007
Publication dateFeb 2, 2016
Grant dateFeb 2, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The method of claim 1 , wherein the prioritization algorithm comprises counting a number of matching fingerprints associated with each block of stored data and retrieving the block with the highest number of matching fingerprints. 3. The method of claim 1 , wherein the data associated with the set of fingerprints comprises a block of bytes which includes data patterns that match the set of fingerprints. 4. The method of claim 1 , further comprising determining whether the received data represented by the set of fingerprints is similar to positioned data in the at least one faster memory. 5. The method of claim 1 , wherein the at least one faster memory is associated with a network memory appliance. 6. The method of claim 1 , wherein the set of fingerprints comprises a hash value. 7. The method of claim 1 , wherein the stored data corresponds to other stored data in at least one slower memory in the second digital device. 8. The method of claim 1 , further comprising: determining whether the received data represented by the set of fingerprints is in at least one slower memory of the second digital device; and transmitting at least a portion of the received data to the second digital device. 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. 10. The system of claim 9 , further comprising: a slip search module configured to compare a first data byte in the received data with a first memory byte within the faster memory, determine a mismatch between the first data byte and the first memory byte, access a memory location containing a second memory byte that is non-consecutive with the first memory byte to determine a second data byte that matches the second memory byte, and send instructions to a second device to reconstruct the received data. 11. The system of claim 9 , wherein the prioritization algorithm comprises counting the number of matching fingerprints associated with each block of stored data and retrieving the block with the highest number of matching fingerprints. 12. The system of claim 9 , wherein the data associated with the set of fingerprints comprises a block of bytes which includes data patterns that match the set of fingerprints. 13. The system of claim 9 , further comprising a comparison module configured to determine whether the received data represented by the set of fingerprints is similar to positioned data in the faster memory. 14. The system of claim 9 , wherein the faster memory is associated with a network memory appliance. 15. The system of claim 9 , wherein the set of fingerprints comprises a hash value. 16. The system of claim 9 , wherein the stored data corresponds to other stored data in a slower memory in the second digital device. 17. The system of claim 9 , further comprising a comparison module, wherein the comparison module is configured to determine whether the received data represented by the set of fingerprints is in a slower memory of the second digital device and transmit at least a portion of the received data to the second digital device. 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. 19. The non-transitory computer readable medium of claim 18 , wherein the prioritization algorithm comprises counting a number of matching fingerprints associated with each block of stored data and retrieving the block with the highest number of matching fingerprints. 20. The non-transitory computer readable medium of claim 18 , wherein the data associated with the set of fingerprints comprises a block of bytes which includes data patterns that match the set of fingerprints. 21. The non-transitory computer readable medium of claim 18 , wherein the method further comprises determining whether the received data represented by the set of fingerprints is similar to positioned data in the at least one faster memory. 22. The non-transitory computer readable medium of claim 18 , wherein the at least one faster memory is associated with a network memory appliance. 23. The non-transitory computer readable medium of claim 18 , wherein the set of fingerprints comprises a hash value. 24. The non-transitory computer readable medium of claim 18 , wherein the stored data corresponds to other stored data in a slower memory in the second digital device. 25. The non-transitory computer readable medium of cl

Assignees

Inventors

Classifications

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • in block erasable memory, e.g. flash memory · CPC title

  • Electricity · mapped topic

  • with prefetch · CPC title

  • Pre-fetching or pre-delivering data based on network characteristics · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9253277B2 cover?
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. Da…
Who is the assignee on this patent?
Silver Peak Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/2847. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 02 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).