US2009055587A1PendingUtilityA1

Adaptive Caching of Input / Output Data

Individually held — no corporate assignee on recordPriority: Jun 14, 2004Filed: Sep 8, 2008Published: Feb 26, 2009
Est. expiryJun 14, 2024(expired)· nominal 20-yr term from priority
G06F 12/0862G06F 2212/401G06F 12/0886G06F 12/0866Y10S707/99942
43
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

To improve caching techniques, so as to realize greater hit rates within available memory, of the present invention utilizes a entropy signature from the compressed data blocks to supply a bias to pre-fetching operations. The method of the present invention for caching data involves detecting a data I/O request, relative to a data object, and then selecting appropriate I/O to cache, wherein said selecting can occur with or without user input, or with or without application or operating system preknowledge. Such selecting may occur dynamically or manually. The method further involves estimating an entropy of a first data block to be cached in response to the data I/O request; selecting a compressor using a value of the entropy of the data block from the estimating step, wherein each compressor corresponds to one of a plurality of ranges of entropy values relative to an entropy watermark; and storing the data block in a cache in compressed form from the selected compressor, or in uncompressed form if the value of the entropy of the data block from the estimating step falls in a first range of entropy values relative to the entropy watermark. The method can also include the step of prefetching a data block using gap prediction with an applied entropy bias, wherein the data block is the same as the first data block to be cached or is a separate second data block. The method can also involve the following additional steps: adaptively adjusting the plurality of ranges of entropy values; scheduling a flush of the data block from the cache; and suppressing operating system flushes in conjunction with the foregoing scheduling step.

Claims

exact text as granted — not AI-modified
1 . A method for caching data comprising:
 detecting a data input/output (I/O) request, relative to a data object;   selecting appropriate I/O to cache, wherein said selecting can occur with or without user input, or with or without application or operating system preknowledge;   estimating an entropy of a data block to be cached in response to the data input/output request;   selecting a compressor using a value of the entropy of the data block from the estimating step, wherein each compressor corresponds to one of a plurality of ranges of entropy values relative to an entropy watermark;   storing the data block in a cache in compressed form from the selected compressor, or in uncompressed form if the value of the entropy of the data block from the estimating step falls in a first range of entropy values relative to the entropy watermark; and   prefetching the data block using gap prediction with an applied entropy bias.   
   
   
       2 . The method of  claim 1  further comprising adaptively adjusting the plurality of ranges of entropy values. 
   
   
       3 . The method of  claim 1  further comprising scheduling a flush of the data block from the cache. 
   
   
       4 . The method of  claim 3  further comprising suppressing operating system flushes in conjunction with the scheduling step. 
   
   
       5 . The method of  claim 1 , wherein said selecting occurs dynamically. 
   
   
       6 . The method of  claim 1 , wherein said selecting occurs manually. 
   
   
       7 . A method for caching data comprising:
 detecting a data input/output (I/O) request, relative to a data object;   selecting appropriate I/O to cache, wherein said selecting can occur with or without user input, or with or without application or operating system preknowledge;   estimating an entropy of a first data block to be cached in response to the data input/output request;   selecting a compressor using a value of the entropy of the first data block from the estimating step, wherein each compressor corresponds to one of a plurality of ranges of entropy values relative to an entropy watermark;   storing the first data block in a cache in compressed form from the selected compressor, or in uncompressed form if the value of the entropy of the first data block from the estimating step falls in a first range of entropy values relative to the entropy watermark; and   prefetching a second data block using gap prediction with an applied entropy bias.   
   
   
       8 . The method of  claim 7  further comprising adaptively adjusting the plurality of ranges of entropy values. 
   
   
       9 . The method of  claim 7  further comprising scheduling a flush of the data block from the cache. 
   
   
       10 . The method of  claim 9  further comprising suppressing operating system flushes in conjunction with the scheduling step. 
   
   
       11 . The method of  claim 7 , wherein said selecting occurs dynamically. 
   
   
       12 . The method of  claim 7 , wherein said selecting occurs manually. 
   
   
       13 . One or more computer program products readable by a machine and containing instructions for performing the method contained in  claim 1 . 
   
   
       14 . One or more computer program products readable by a machine and containing instructions for performing the method contained in  claim 7 .

Join the waitlist — get patent alerts

Track US2009055587A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.