Microcontroller for memory management unit

US2017371802A9 · US · A9

Patent metadata
FieldValue
Publication numberUS-2017371802-A9
Application numberUS-201314011643-A
CountryUS
Kind codeA9
Filing dateAug 27, 2013
Priority dateMar 15, 2013
Publication dateDec 28, 2017
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

One embodiment of the present invention includes a microcontroller coupled to a memory management unit (MMU). The MMU is coupled to a page table included in a physical memory, and the microcontroller is configured to perform one or more virtual memory operations associated with the physical memory and the page table. In operation, the microcontroller receives a page fault generated by the MMU in response to an invalid memory access via a virtual memory address. To remedy such a page fault, the microcontroller performs actions to map the virtual memory address to an appropriate location in the physical memory. By contrast, in prior-art systems, a fault handler would typically remedy the page fault. Advantageously, because the microcontroller executes these tasks locally with respect to the MMU and the physical memory, latency associated with remedying page faults may be decreased. Consequently, overall system performance may be increased.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system configured to perform virtual memory operations, the system comprising: a first memory that includes a page table having a plurality of page table entries; a memory management unit coupled to the first memory and configured to: process requests for translating virtual memory addresses to physical memory addresses, and manage the plurality of page table entries; a microcontroller coupled to the memory management unit and configured to perform one or more operations related to remedying a page fault generated by the memory management unit; and a parallel processing unit coupled to the first memory, the memory management unit, and the microcontroller. 2 . The system of claim 1 , wherein the page fault is associated with a reserved zero-filled page included in the first memory. 3 . The system of claim 2 , wherein the one or more operations comprise: receiving the page fault, wherein the page fault is associated with a write attempt via a first virtual memory address; determining that the first virtual memory address is mapped to the reserved zero-filled page; selecting a first memory page, wherein no virtual memory address is mapped to the first memory page, and every entry included in the first memory page has a value of binary zero; updating a first page table entry included in the plurality of page table entries to map the first virtual memory address to the first memory page; and activating both a read permission bit and a write permission bit included in the first page table entry. 4 . The system of claim 3 , wherein the one or more operations further comprise deactivating a status of zero-fill-on-demand in a state entry that is associated with the first virtual memory address. 5 . The system of claim 4 , wherein the state entry is included in a page state directory included in a second physical memory. 6 . The system of claim 2 , wherein the one or more operations comprise: receiving the page fault, wherein the page fault is associated with a write attempt via a first virtual memory address; determining that the first virtual memory address is mapped to the reserved zero-filled page; allocating a first memory page; setting every entry included in the first memory page to a value of binary zero. updating a first page table entry included in the plurality of page table entries to map the first virtual memory address to the first memory page; and activating both a read permission bit and a write permission bit included in the first page table entry. 7 . The system of claim 1 , wherein the page fault is associated with a copy-on-write page included in the first memory. 8 . The system of claim 7 , wherein the one or more operations comprise: receiving the page fault, wherein the page fault is associated with a write attempt via a first virtual memory address; determining that the first virtual memory address is mapped to the copy-on-write page; selecting a first memory page, wherein no virtual memory address is mapped to the first memory page; copying the copy-on-write page to the first memory page; updating a first page table entry included in the plurality of page table entries to map the first virtual memory address to the first memory page; and activating both a read permission bit and a write permission bit included in the first page table entry. 9 . The system of claim 8 , wherein the one or more operations further comprise: determining that only one virtual memory address is mapped to the copy-on-write page; and deactivating a status of copy-on-write in a state entry that is associated with the copy-on-write page. 10 . The system of claim 9 , wherein the state entry is included in a page state directory included in a second physical memory. 11 . The system of claim 1 , wherein the page fault is associated with a first virtual memory address that is not associated with any page table entries included in the plurality of page table entries. 12 . The system of claim 11 , wherein the one or more operations comprise updating a first page table entry included in the plurality of page table entries to map the first virtual memory address to a first memory page included in a second memory. 13 . A computing device, comprising: a first memory that includes a page table having a plurality of page table entries; a memory management unit configured to: process requests for translating virtual memory addresses to physical memory addresses, and manage the plurality of page table entries; a microcontroller configured to: perform one or more operations related to remedying a page fault generated by the memory management unit, and a parallel processing unit. 14 . The computing device of claim 13 , wherein the one or more operations comprise: receiving the page fault, wherein the page fault is associated with a write attempt via a first virtual memory address; determining that the first virtual memory address is mapped to a reserved zero-filled page; selecting a first memory page, wherein no virtual memory address is mapped to the first memory page, and every entry included in the first memory page has a value of binary zero; updating a first page table entry included in the plurality of page table entries to map the first virtual memory address to the first memory page; and activating both a read permission bit and a write permission bit included in the first page table entry. 15 . The computing device of claim 13 , wherein the one or more operations comprise: receiving the page fault, wherein the page fault is associated with a write attempt via a first virtual memory address; determining that the first virtual memory address is mapped to a copy-on-write page; selecting a first memory page, wherein no virtual memory address is mapped to the first memory page; copying the copy-on-write page to the first memory page; updating a first page table entry included in the plurality of page table entries to map the first virtual memory address to the first memory page; and activating both a read permission bit and a write permission bit included in the first page table entry. 16 . The computing device of claim 13 , wherein the one or more operations comprise: receiving the page fault, wherein the page fault is associated with a first virtual memory address that is not associated with any page table entries included in the plurality of page table; and updating a first page table entry included in the plurality of page table entries to map the first virtual memory address to a first memory page included in a second memory. 17 . A computer-implemented method for performing virtual memory operations, the method comprising: receiving a page fault associated with a first virtual memory address; and performing one or more operations related to remedying the page fault. 18 . The method of claim 17 , wherein the one or more operations comprise: determining that the first virtual memory address is mapped to a reserved zero-filled page; selecting a first memory page, wherein no virtual memory address is mapped to the first memory page, and every entry included in the first memory page has a value of binary zero; updating a first page table entry included in a page table to map the first virtual memory address to the first memory page; activating both a read permission bit and a write permission bit included in the first page table entry. 19 . The method of claim 17 , wherein the one or more operations comprise: de

Assignees

Inventors

Classifications

  • using page tables, e.g. page table structures · CPC title

  • using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] · CPC title

  • Address translation · CPC title

  • TLB miss handling · CPC title

  • In special purpose processing node, e.g. vector processor · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2017371802A9 cover?
One embodiment of the present invention includes a microcontroller coupled to a memory management unit (MMU). The MMU is coupled to a page table included in a physical memory, and the microcontroller is configured to perform one or more virtual memory operations associated with the physical memory and the page table. In operation, the microcontroller receives a page fault generated by the MMU i…
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/1009. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Dec 28 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A9). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).