Method and driver for sequential operation caching
First Claim
1. A computer-implemented method for sequential operation caching comprising the steps of:
- receiving a data request from a requesting program;
checking for an empty cache;
responsive to identifying an empty cache, reading requested data from a storage device into the cache and reading requested data from the cache into the requesting program;
responsive to the cache not being empty, checking for the requested data in the cache, responsive to identifying the requested data in the cache, checking whether said data request is sequential from a last data request;
responsive to said data request being sequential from a last data request, checking for a full cache;
responsive to said cache not being full, reading requested data and additional data from said storage device into the cache and appending said additional data to current cache data and reading requested data from the cache into the requesting program; and
responsive to identifying a full cache, reading requested data from the cache into the requesting program.
2 Assignments
0 Petitions
Accused Products
Abstract
In brief, methods, driver and computer program product are provided for sequential operation caching. When a data request from a requesting program is received, then checking for an empty cache is performed. Responsive to an empty cache, the requested data from a storage device is read into the cache. Then the requested data is read from the cache into the requesting program. Responsive to the cache not being empty, checking for the requested data in the cache is performed. Responsive to identifying the requested data in the cache, checking whether the data request is sequential from a last data request is performed. Responsive to the data request being sequential from a last data request, checking for a full cache is performed. Responsive to the cache not being full, the requested data and additional data are read from the storage device into the cache and the additional data is appended to current cache data. Then the requested data is read from the cache into the requesting program. Responsive to a full cache, the requested data is read from the cache into the requesting program. Once the cache is full, no further requests are sent to the storage device until all of the data in the cache has been used. Then the cache is emptied and the sequence is repeated.
21 Citations
19 Claims
-
1. A computer-implemented method for sequential operation caching comprising the steps of:
-
receiving a data request from a requesting program;
checking for an empty cache;
responsive to identifying an empty cache, reading requested data from a storage device into the cache and reading requested data from the cache into the requesting program;
responsive to the cache not being empty, checking for the requested data in the cache, responsive to identifying the requested data in the cache, checking whether said data request is sequential from a last data request;
responsive to said data request being sequential from a last data request, checking for a full cache;
responsive to said cache not being full, reading requested data and additional data from said storage device into the cache and appending said additional data to current cache data and reading requested data from the cache into the requesting program; and
responsive to identifying a full cache, reading requested data from the cache into the requesting program. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A device driver for sequential operation caching comprising:
-
means for receiving a data request from a requesting program;
means for checking for the requested data in the cache;
means responsive to identifying the requested data in the cache, for checking whether said data request is sequential from a last data request;
means responsive to said data request being sequential from a last data request, for checking for a full cache;
means responsive to said cache not being full, for reading requested data and additional data from said storage device into the cache and for appending said additional data to current cache data and for reading requested data from the cache into the requesting program; and
means responsive to a full cache, for reading requested data from the cache into the requesting program. - View Dependent Claims (9, 10, 11, 12, 13)
means; - responsive to receiving said data request, for checking for an empty cache;
means responsive to identifying an empty cache, for reading requested data from a storage device into the cache and for reading requested data from the cache into the requesting program; and
said means for checking for the requested data in the cache being responsive to the cache not being empty.
-
-
10. A device driver for sequential operation caching as recited in claim 8 further includes means responsive to not identifying the requested data in the cache, for resetting the cache to empty;
- for reading requested data from said storage device into the cache and for reading requested data from the cache into the requesting program.
-
11. A device driver for sequential operation caching as recited in claim 8 further includes means responsive to a write request, for checking for the write request being inside the cache.
-
12. A device driver for sequential operation caching as recited in claim 11 further includes means responsive to said write request being inside the cache, for resetting the cache to empty and for writing data to the storage device.
-
13. A device driver for sequential operation caching as recited in claim 11 further includes means responsive to said write request not being inside the cache, for writing data to the storage device.
-
14. A computer program product for sequential operation caching, said computer program product including a plurality of computer executable instructions stored on a computer readable medium, wherein said instructions, when executed by a device driver in a computer system, cause the device driver to perform the steps of:
-
receiving a data request from a requesting program;
checking for the requested data in the cache, responsive to identifying the requested data in the cache, checking whether said data request is sequential from a last data request;
responsive to said data request being sequential from a last data request, checking for a full cache;
responsive to said cache not being full, reading requested data and additional data from said storage device into the cache and appending said additional data to current cache data and reading requested data from the cache into the requesting program; and
responsive to identifying a full cache, reading requested data from the cache into the requesting program. - View Dependent Claims (15, 16, 17, 18, 19)
checking for an empty cache;
responsive to identifying an empty cache, reading requested data from a storage device into the cache and reading requested data from the cache into the requesting program; and
said step of checking for the requested data in the cache being responsive to the cache not being empty.
-
-
16. A computer program product for sequential operation caching as recited in claim 14 further includes the steps of:
- identifying a write request, and checking for the write request being inside the cache.
-
17. A computer program product for sequential operation caching as recited in claim 16 further includes the steps of:
- responsive to said write request being inside the cache, resetting the cache to empty and writing data to the storage device.
-
18. A computer program product for sequential operation caching as recited in claim 16 further includes the steps of:
- responsive to said write request not being inside the cache, writing data to the storage device.
-
19. A computer program product for sequential operation caching as recited in claim 14 further includes the steps of:
- responsive to not identifying the requested data in the cache, resetting the cache to empty;
reading requested data from a storage device into the cache and reading requested data from the cache into the requesting program.
- responsive to not identifying the requested data in the cache, resetting the cache to empty;
Specification