Conditional page fault control for page residency
US-2015089146-A1 · Mar 26, 2015 · US
US9754561B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9754561-B2 |
| Application number | US-201314046064-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 4, 2013 |
| Priority date | Oct 4, 2013 |
| Publication date | Sep 5, 2017 |
| Grant date | Sep 5, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
One embodiment of the present invention includes a memory management unit (MMU) that is configured to manage sparse mappings. The MMU processes requests to translate virtual addresses to physical addresses based on page table entries (PTEs) that indicate a sparse status. If the MMU determines that the PTE does not include a mapping from a virtual address to a physical address, then the MMU responds to the request based on the sparse status. If the sparse status is active, then the MMU determines the physical address based on whether the type of the request is a write operation and, subsequently, generates an acknowledgement of the request. By contrast, if the sparse status is not active, then the MMU generates a page fault. Advantageously, the disclosed embodiments enable the computer system to manage sparse mappings without incurring the performance degradation associated with both page faults and conventional software-based sparse mapping management.
Opening claim text (preview).
The invention claimed is: 1. A system configured to manage sparse mappings, the system comprising: a memory that includes a page table having a plurality of page table entries; and a memory management unit coupled to the memory for managing sparse mappings and configured to: select a first page table entry included in the plurality of page table entries based on a first virtual memory address included in a first memory access request, determine that the first page table entry does not include a mapping associated with the first virtual memory address, determine that the first page table entry is associated with an active sparse status, set a physical memory address requested for the first virtual memory address to a first physical memory address if the first memory access request comprises a write operation involving the first virtual memory address, set the physical memory address requested for the first virtual memory address to a second physical memory address if the first memory access request comprises a non-write operation involving the first virtual memory address, and generate an acknowledgement of the first memory access request. 2. The system of claim 1 , wherein an active status bit included in the first page table entry indicates that the first page table entry is associated with the active sparse status. 3. The system of claim 1 , wherein the memory further includes a page directory that includes a first page directory entry that specifies the page table, and an active status bit included in the first page directory entry indicates that the first page table entry is associated with the active sparse status. 4. The system of claim 1 , wherein the first request is a write operation, and wherein setting the physical memory address requested for the first virtual memory address comprises determining a physical address associated with a sparse write page that is included in the memory. 5. The system of claim 4 , wherein the memory management unit is further configured to: receive a second request to translate a second virtual memory address to a physical memory address, wherein the second request also is a write operation, select a second page table entry included in the plurality of page table entries based on the second virtual memory address, determine that the second page table entry does not include a mapping that is associated with the second virtual memory address, determine that the second page table entry is associated with the active sparse status, set the physical memory address requested for the second virtual memory address to a physical address associated with the sparse write page, and generate an acknowledgement of the second request. 6. The system of claim 1 , wherein the first request is at least one of a read operation and an atomic operation, and wherein setting the physical memory address requested for the first virtual memory address comprises determining a physical address associated with a zero-filled sparse read page included in the memory. 7. The system of claim 6 , wherein the memory management unit is further configured to: receive a second request to translate a second virtual memory address to a physical memory address, wherein the second request is at least one of a read operation and an atomic operation, select a second page table entry based on the second virtual memory address, determine that the second page table entry does not include a mapping that is associated with the second virtual memory address, determine that the second page table entry is associated with the active sparse status, set the physical memory address requested for the second virtual memory address to a physical address associated with the zero-filled sparse read page, and generate an acknowledgement of the second request. 8. The system of claim 1 , wherein the memory management unit is further configured to set a sparse status field associated with the acknowledgement of the first request to indicate that the first page table entry is associated with the active sparse status. 9. The system of claim 8 , further comprising: a texture unit that is coupled to the memory management unit and is configured to: receive the acknowledgement of the first request from the memory management unit, and update a data cache based on the sparse status field associated with the acknowledgement of the first request. 10. A computer-implemented method for managing sparse mappings, the method comprising: accessing a page table having a plurality of page table entries, wherein the page table is included in a memory; selecting a first page table entry included in the plurality of page table entries based on a first virtual memory address included in a first memory access request; determining that the first page table entry does not include a first mapping associated with the first virtual memory address; determining that the first page table entry is associated with an active sparse status; setting a physical memory address requested for the first virtual memory address to a first physical memory address if the first memory access request comprises a write operation involving the first virtual memory address; setting the physical memory address requested for the first virtual memory address to a second physical memory address if the first memory access request comprises a non-write operation involving the first virtual memory address; and generating an acknowledgement of the first request; generate an acknowledgement of the first memory access request. 11. The method of claim 10 , wherein an active status bit included in the first page table entry indicates that the first page table entry is associated with the active sparse status. 12. The method of claim 10 , wherein the memory further includes a page directory that includes a first page directory entry that specifies the page table, and an active status bit included in the first page directory entry indicates that the first page table entry is associated with the active sparse status. 13. The method of claim 10 , wherein the first request is a write operation, and wherein setting the first physical memory address requested for the first virtual memory address comprises determining a physical address associated with a sparse write page that is included in the memory. 14. The method of claim 13 , further comprising: receiving a second request to translate a second virtual memory address to a physical memory address, wherein the second request also is a write operation; selecting a second page table entry included in the plurality of page table entries based on the second virtual memory address; determining that the second page table entry does not include a second mapping that is associated with the second virtual memory address; determining that the second page table entry is associated with the active sparse status; setting the physical memory address requested for the second virtual memory address to a physical address associated with the sparse write page; and generating an acknowledgement of the second request. 15. The method of claim 10 , wherein the first request is at least one of a read operation and an atomic operation, and wherein setting the physical memory address requested for the first virtual memory address comprises determining a physical address associated with a zero-filled sparse read page included in the memory. 16. The method of claim 15 , further comprising: receiving a second request to translate a second virtual memory address to a physical memory address, wherein the second reque
with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · CPC title
using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] · CPC title
Control of the bit-mapped memory · CPC title
Memory management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.