Management of external memory functioning as virtual cache
First Claim
1. A computing device comprising:
- a main system memory configured for storing a plurality of pages of data;
at least one auxiliary memory configured for storing the plurality of pages of data and for being removable from the computing device; and
a memory manager configured for controlling the caching of virtual pages of data on the at least one auxiliary memory, the memory manager further configured for identifying a virtual page of the virtual pages using a page key comprising a tuple, the page key configured for identifying the virtual page as cached in a file based on the tuple comprising the virtual page'"'"'s file identifier and its file offset information, and further configured for identifying the virtual page as employed by a process based on the tuple comprising the virtual page'"'"'s process identifier and its virtual address within the process, the memory manager further configured for verifying that virtual pages of data cached on the auxiliary memory are consistent with pages of data stored in the main system memory after the auxiliary memory is removed from the computing device and reconnected to the computing device, where the verifying is based on an analysis of non-time stamp virtual page data on the auxiliary memory.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for managing the caching of data on an auxiliary memory of a computer. Pages of data may be cached on an auxiliary memory, such as a flash memory, at a virtual level using an identifier that does not involve a physical address of the pages on a memory. Pages may be cached on auxiliary memory that may be removable from the computer, e.g., by unplugging the memory from the computer. Page data may be encrypted and/or compressed on the auxiliary memory. An authentication indicator may be used to verify the accuracy of cached data in the case of an interrupted connection to the auxiliary memory, e.g., as a result of computer power down, hibernation, removal of the memory from the computer, etc.
-
Citations
20 Claims
-
1. A computing device comprising:
-
a main system memory configured for storing a plurality of pages of data; at least one auxiliary memory configured for storing the plurality of pages of data and for being removable from the computing device; and a memory manager configured for controlling the caching of virtual pages of data on the at least one auxiliary memory, the memory manager further configured for identifying a virtual page of the virtual pages using a page key comprising a tuple, the page key configured for identifying the virtual page as cached in a file based on the tuple comprising the virtual page'"'"'s file identifier and its file offset information, and further configured for identifying the virtual page as employed by a process based on the tuple comprising the virtual page'"'"'s process identifier and its virtual address within the process, the memory manager further configured for verifying that virtual pages of data cached on the auxiliary memory are consistent with pages of data stored in the main system memory after the auxiliary memory is removed from the computing device and reconnected to the computing device, where the verifying is based on an analysis of non-time stamp virtual page data on the auxiliary memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method performed on a computing device for managing virtual pages cached in auxiliary memory, the method comprising:
-
providing a main system memory configured for storing a plurality of pages of data, and the auxiliary memory configured for storing the plurality of pages of data and for being removable from the computing device; caching virtual pages of data on the auxiliary memory, a virtual page of the virtual pages being identified by a page key comprising a tuple, the page key configured for identifying the virtual page as cached in a file based on the tuple comprising the virtual page'"'"'s file identifier and its file offset information, and further configured for identifying the virtual page as employed by a process based on the tuple comprising virtual page'"'"'s process identifier and its virtual address within the process; disconnecting the auxiliary memory from the computing device; reconnecting the auxiliary memory to the computing device; and verifying that virtual pages cached on the auxiliary memory are consistent with corresponding page data stored in the main system memory, the verifying performed after reconnecting the auxiliary memory to the computing device and based on an analysis of non-time stamp cached virtual page data on the auxiliary memory. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method performed on a computing device for managing pages cached in memory, the method comprising:
-
providing a main system memory configured for storing a plurality of pages of data, and an auxiliary memory configured for storing the plurality of pages of data and for being removable from the computer system; caching virtual pages of data on the auxiliary memory, a virtual page of the virtual pages being identified by a page key comprising a tuple, the page key configured for identifying the virtual page as cached in a file based on the tuple comprising the virtual page'"'"'s file identifier and file offset information, and further configured for identifying the virtual page as employed by a process based on the tuple comprising the virtual page'"'"'s process identifier and its virtual address within the process. - View Dependent Claims (19, 20)
-
Specification