Preloading data in a cache memory according to user-specified preload criteria
First Claim
1. A method of pre-loading data into a storage array operating as a user cache for a computer system, the method comprising:
- causing data to be retrieved from a mass storage device in accordance with pre-load criteria, the pre-load criteria identifying data that is to be pre-loaded into the storage array prior to receiving a command on the data;
storing the data in the storage army for subsequent access by commands on the data;
inspecting a request for data from a process;
causing the requested data to be retrieved from a mass storage device if the requested data is not in the storage array; and
p1 storing the requested data in the storage array in accordance with exclusion criteria that specifies data excluded from storage in the storage array using a file identifier.
8 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for caching data in a storage device of a computer system. A relatively high-speed, intermediate-volume storage device is operated as a user-configurable cache. Requests to access a mass storage device such as a disk or tape are intercepted by a device driver that compares the access request against a directory of the contents of the user-configurable cache. If the user-configurable cache contains the data sought to be accessed, the access request is carried out in the user-configurable cache instead of being forwarded to the device driver for the target mass storage device. Because the user-cache is implemented using memory having a dramatically shorter access time than most mechanical mass storage devices, the access request is fulfilled much more quickly than if the originally intended mass storage device was accessed. Data is preloaded and responsively cached in the user-configurable cache memory based on user preferences.
-
Citations
26 Claims
-
1. A method of pre-loading data into a storage array operating as a user cache for a computer system, the method comprising:
-
causing data to be retrieved from a mass storage device in accordance with pre-load criteria, the pre-load criteria identifying data that is to be pre-loaded into the storage array prior to receiving a command on the data;
storing the data in the storage army for subsequent access by commands on the data;
inspecting a request for data from a process;
causing the requested data to be retrieved from a mass storage device if the requested data is not in the storage array; and
p1 storing the requested data in the storage array in accordance with exclusion criteria that specifies data excluded from storage in the storage array using a file identifier.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
obtaining the pre-load criteria from a user of the computer system.
-
-
3. The method of claim 2 further comprising:
displaying a user interface to obtain the pre-load criteria.
-
4. The method of claim 1, wherein the pre-load criteria specifies a file to be pre-loaded in the storage array.
-
5. The method of claim 4, wherein the pre-load criteria further specifies a logical drive and directory for the file.
-
6. The method of claim 4, wherein the pre-load criteria further specifies a file type.
-
7. The method of claim 1, wherein the pre-load criteria specifies a threshold and wherein the data is retrieved when the threshold is exceeded.
-
8. The method of claim 7 further comprising:
determining when the threshold is exceeded.
-
9. The method of claim 8, wherein the threshold is a number of files accessed within a specified directory.
-
10. The method of claim 8, wherein the threshold is number of files accessed with a specified file type.
-
11. The method of claim 1, wherein storing the data comprises overwriting existing data in the storage array.
-
12. The method of claim 1 further comprising protecting the data from being overwritten in the storage array.
-
13. The method of claim 1, wherein the file identifier specifies a file type.
-
14. The method of claim 1, wherein the file identifier specifies a portion of a filename.
-
15. The method of claim 14, wherein the portion of a filename includes a file extension.
-
16. The method of claim 1, wherein the storage array is distinct from system memory in the computer system.
-
17. The method of claim 1, wherein the storage array is a non-volatile memory.
-
18. The method of claim 1, wherein the storage array is a solid state memory.
-
19. The method of claim 1, wherein the storage array comprises one or more battery-backed dynamic random access memory (DRAM) components.
-
20. A computer system comprising:
-
a processing unit;
a system memory coupled to the processing unit;
a mass storage unit coupled to the processing unit;
a storage array distinct from the system memory and coupled to the processing it to operate as a user cache; and
computer-executable instructions that cause the processor to evaluate pre-load criteria upon initialization of the instructions, the pre-load criteria identifying data that is to be pre-loaded into the storage array prior to receiving a command on the data, to retrieve the data from the mass storage unit in accordance with the pre-load criteria, to store the data in the storage array for subsequent access by commands on the data, to inspect a request for data from a process, to cause the requested data to be retrieved from a mass storage device if the requested data is not in the storage array, and to store the requested data in the storage array in accordance with exclusion criteria that specifies data excluded from storage in the storage array using a file identifier. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A computer-readable medium having computer-executable instructions comprising:
-
causing data to be retrieved from a mass storage device in accordance with pre-load criteria, the pre-load criteria identifying data that is to be pre-loaded into a storage array prior to receiving a command on the data;
storing the data in the storage array for subsequence access by commands on the data, the storage array acting as a user cache for a computer system;
inspecting a request for data from a process;
causing the requested data to be retrieved from a mass storage device if the requested data is not in the storage array; and
storing the requested data in the storage array in accordance with exclusion criteria that specifies data excluded from storage in the storage array using a file identifier. - View Dependent Claims (26)
displaying a user interface to obtain the pre-load criteria from a user of the computer system.
-
Specification