Efficient write-watch mechanism useful for garbage collection in a computer system
First Claim
1. A computer-readable medium having computer-executable instructions, comprising:
- maintaining information indicative of whether a page has been modified since last checked;
modifying the information upon the page being trimmed to storage to indicate that the page has been modified since last checked;
receiving a request as to whether the page has been modified since last checked; and
indicating in response to the request that the page has been modified since last checked based on the information.
1 Assignment
0 Petitions
Accused Products
Abstract
An efficient write-watch mechanism and process. A bitmap is associated with the virtual address descriptor (VAD) for a process, one bit for each virtual page address allocated to a process having write-watch enabled. As part of the write-watch mechanism, if a virtual address is trimmed to disk and that virtual address page is marked as modified, then the corresponding bit in the VAD is set for that virtual address page. In response to an API call (e.g., from a garbage collection mechanism) seeking to know which virtual addresses in a process have been modified since last checked, the memory manager walks the bitmap in the relevant VAD for the specified virtual address range for the requested process. If a bit is set, then the page corresponding to that bit is known to have been modified since last asked. If specified by the API, the bit is cleared in the VAD bitmap so that it will reflect the state since this time of asking. If the bit is not set, to determine if the page was modified, the page table entry (PTE) is checked for that page, and if the PTE indicates the page was modified, the page is known to be modified, otherwise that page is known to be unmodified since the last call. One enhancement uses page directory tables to locate a series of trimmed pages, sometimes avoiding the need to access the PTE.
-
Citations
20 Claims
-
1. A computer-readable medium having computer-executable instructions, comprising:
-
maintaining information indicative of whether a page has been modified since last checked; modifying the information upon the page being trimmed to storage to indicate that the page has been modified since last checked; receiving a request as to whether the page has been modified since last checked; and indicating in response to the request that the page has been modified since last checked based on the information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of write-watching memory, comprising
receiving a request as to whether a page has been modified since last checked; -
determining whether a page directory indicates that a plurality of pages including the page have been trimmed to storage; and if the plurality of pages have been trimmed to storage, examining information that indicates whether the page was modified since last checked and indicating whether the page was modified based on the information, wherein upon the page being trimmed to storage, the information is updated to indicate that the page was modified. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-readable medium having computer-executable instructions, comprising:
checking data other than a page table entry to determine whether a page has been trimmed to storage since last checked; and if the page has been trimmed to storage since last checked, indicating that the page has been modified since last checked, otherwise, checking the page table entry to determine whether the page has been modified since last checked and indicating whether the page has been modified since last checked. - View Dependent Claims (20)
Specification