CACHING USING VIRTUAL MEMORY
First Claim
Patent Images
1. A method for caching in a processor system having virtual memory, the method comprising:
- monitoring slow memory in the processor system to determine frequently accessed pages;
for a frequently accessed page in slow memory;
copying the frequently accessed page from slow memory to a location in fast memory; and
updating virtual address page tables to reflect the location of the frequently accessed page in fast memory.
4 Assignments
0 Petitions
Accused Products
Abstract
In a first embodiment of the present invention, a method for caching in a processor system having virtual memory is provided, the method comprising: monitoring slow memory in the processor system to determine frequently accessed pages; for a frequently accessed page in slow memory: copy the frequently accessed page from slow memory to a location in fast memory; and update virtual address page tables to reflect the location of the frequently accessed page in fast memory.
-
Citations
20 Claims
-
1. A method for caching in a processor system having virtual memory, the method comprising:
-
monitoring slow memory in the processor system to determine frequently accessed pages; for a frequently accessed page in slow memory; copying the frequently accessed page from slow memory to a location in fast memory; and updating virtual address page tables to reflect the location of the frequently accessed page in fast memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for operating a processor contained on a microchip, the method comprising:
-
receiving a command requiring information stored in a memory page; determining if the information is located in a level 1 cache stored on the microchip; retrieving the information from the level 1 cache if the information is located in the level 1 cache, otherwise; accessing page tables controlled by a virtual memory management unit on the microchip, to determine a location for the memory page; retrieving the information from a slow memory external to the microchip if the page tables indicate that the memory page is located in the slow memory; and retrieving the information from a fast memory on the microchip if the page tables indicate that the page is located in the fast memory; continuously monitoring the slow memory to locate heavily accessed pages; and copying heavily accessed pages from the slow memory to the fast memory and updating the pages tables to reflect the locations of the heavily accessed pages in fast memory. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A microchip comprising:
-
a processor; a virtual memory address translation unit; a first memory storing page tables controlled by the virtual memory address translation unit; a second memory storing a level 1 cache; a third memory comprising fast memory; a system bus interface configured to interface with a system bus connected to a fourth memory, wherein the fourth memory comprises slow memory; and wherein the virtual memory address translation unit is configured to, upon a notification of a level 1 cache miss, access the page tables in the first memory to determine if a location of a page corresponding to the level 1 cache miss is contained in the third memory or the fourth memory, and to return the corresponding location to the processor for retrieval. - View Dependent Claims (13, 14)
-
-
15. A program storage device readable by a machine tangibly embodying a program of instructions executable by the machine to perform a method for operating a processor contained on a microchip, the method comprising:
-
receiving a command requiring information stored in a memory page; determining if the information is located in a level 1 cache stored on the microchip; retrieving the information from the level 1 cache if the information is located in the level 1 cache, otherwise; accessing page tables controlled by a virtual memory management unit on the microchip, to determine a location for the memory page; retrieving the information from a slow memory external to the microchip if the page tables indicate the memory page is located in the slow memory; and retrieving the information from a fast memory on the microchip if the page tables indicate the page is located in the fast memory; continuously monitoring the slow memory to locate heavily accessed pages; and copying heavily accessed pages from the slow memory to the fast memory and updating the pages tables to reflect the locations of the heavily accessed pages in fast memory. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification