Apparatus and method for memory management in a graphics processing environment

US2018293183A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018293183-A1
Application numberUS-201715482690-A
CountryUS
Kind codeA1
Filing dateApr 7, 2017
Priority dateApr 7, 2017
Publication dateOct 11, 2018
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.

An apparatus and method are described for implementing memory management in a graphics processing system. For example, one embodiment of an apparatus comprises: a first plurality of graphics processing resources to execute graphics commands and process graphics data; a first memory management unit (MMU) to communicatively couple the first plurality of graphics processing resources to a system-level MMU to access a system memory; a second plurality of graphics processing resources to execute graphics commands and process graphics data; a second MMU to communicatively couple the second plurality of graphics processing resources to the first MMU; wherein the first MMU is configured as a master MMU having a direct connection to the system-level MMU and the second MMU comprises a slave MMU configured to send memory transactions to the first MMU, the first MMU either servicing a memory transaction or sending the memory transaction to the system-level MMU on behalf of the second MMU.

First claim

Opening claim text (preview).

What is claimed is: 1 . An apparatus comprising: a first plurality of graphics processing resources to execute graphics commands and process graphics data; a first memory management unit (MMU) to communicatively couple the first plurality of graphics processing resources to a system-level MMU to access a system memory; a second plurality of graphics processing resources to execute graphics commands and process graphics data; a second MMU to communicatively couple the second plurality of graphics processing resources to the first MMU; wherein the first MMU is configured as a master MMU having a direct connection to the system-level MMU and the second MMU comprises a slave MMU configured to send memory transactions to the first MMU, the first MMU either servicing a memory transaction or sending the memory transaction to the system-level MMU on behalf of the second MMU. 2 . The apparatus as in claim 1 wherein the system-level MMU comprises an input/output memory management unit (IOMMU). 3 . The apparatus as in claim 1 wherein the second MMU comprises transaction routing circuitry to route the memory transaction to the first MMU, the first MMU comprising transaction routing circuitry to route the memory transaction to the system-level MMU if necessary. 4 . The apparatus as in claim 3 wherein the first MMU includes a first translation lookaside buffer and the second MMU includes a second TLB, wherein upon a translation request from one of the second plurality of graphics processing resources, the second MMU first attempts to perform an address translation from the second TLB and sends the translation request to the first TLB if the address translation is not in the second TLB. 5 . The apparatus as in claim 4 wherein the first MMU is to perform a page walk operation via the system-level MMU if the translation is not stored in the first TLB. 6 . The apparatus as in claim 3 wherein an ID code is embedded in a field of each memory transaction to uniquely identify the MMU from which it originated, the transaction routing circuitry of the first MMU to use the ID code in a response received from the system-level MMU to route the transaction to the second MMU. 7 . The apparatus as in claim 6 wherein the first MMU and the second MMU each includes a data cache, wherein the second MMU will determine whether data requested by the second plurality of graphics processing resources is stored in its data cache before requesting the data from the first MMU. 8 . The apparatus as in claim 7 wherein the first MMU is to determine whether the requested data is stored in its data cache before requesting the data from the system-level MMU. 9 . A method comprising: executing graphics commands and processing graphics data on a first plurality of graphics processing resources, the first plurality of graphics processing resources being coupled to a system-level MMU to access a system memory via a first memory management unit (MMU); executing graphics commands and processing graphics data on a second plurality of graphics processing resources the, second plurality of graphics processing resources being coupled to the first MMU via a second MMU; configuring the first MMU as a master MMU having a direct connection to the system-level MMU; configuring the second MMU as a slave MMU configured to send memory transactions to the first MMU; servicing a memory transaction generated by the second MMU at the first MMU, the first MMU sending the memory transaction to the system-level MMU on behalf of the second MMU if the first MMU cannot service the request itself. 10 . The method as in claim 9 wherein the system-level MMU comprises an input/output memory management unit (IOMMU). 11 . The method as in claim 9 wherein the second MMU comprises transaction routing circuitry to route the memory transaction to the first MMU, the first MMU comprising transaction routing circuitry to route the memory transaction to the system-level MMU if necessary. 12 . The method as in claim 11 wherein the first MMU includes a first translation lookaside buffer and the second MMU includes a second TLB, wherein upon a translation request from one of the second plurality of graphics processing resources, the second MMU first attempts to perform an address translation from the second TLB and sends the translation request to the first TLB if the address translation is not in the second TLB. 13 . The method as in claim 12 wherein the first MMU is to perform a page walk operation via the system-level MMU if the translation is not stored in the first TLB. 14 . The method as in claim 11 wherein an ID code is embedded in a field of each memory transaction to uniquely identify the MMU from which it originated, the transaction routing circuitry of the first MMU to use the ID code in a response received from the system-level MMU to route the transaction to the second MMU. 15 . The method as in claim 14 wherein the first MMU and the second MMU each includes a data cache, wherein the second MMU will determine whether data requested by the second plurality of graphics processing resources is stored in its data cache before requesting the data from the first MMU. 16 . The method as in claim 15 wherein the first MMU is to determine whether the requested data is stored in its data cache before requesting the data from the system-level MMU. 17 . A machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of: executing graphics commands and processing graphics data on a first plurality of graphics processing resources, the first plurality of graphics processing resources being coupled to a system-level MMU to access a system memory via a first memory management unit (MMU); executing graphics commands and processing graphics data on a second plurality of graphics processing resources the, second plurality of graphics processing resources being coupled to the first MMU via a second MMU; configuring the first MMU as a master MMU having a direct connection to the system-level MMU; configuring the second MMU as a slave MMU configured to send memory transactions to the first MMU; servicing a memory transaction generated by the second MMU at the first MMU, the first MMU sending the memory transaction to the system-level MMU on behalf of the second MMU if the first MMU cannot service the request itself. 18 . The method as in claim 17 wherein the system-level MMU comprises an input/output memory management unit (IOMMU). 19 . The method as in claim 17 wherein the second MMU comprises transaction routing circuitry to route the memory transaction to the first MMU, the first MMU comprising transaction routing circuitry to route the memory transaction to the system-level MMU if necessary. 20 . The method as in claim 19 wherein the first MMU includes a first translation lookaside buffer and the second MMU includes a second TLB, wherein upon a translation request from one of the second plurality of graphics processing resources, the second MMU first attempts to perform an address translation from the second TLB and sends the translation request to the first TLB if the address translation is not in the second TLB. 21 . The method as in claim 20 wherein the first MMU is to perform a page walk operation via the system-level MMU if the translation is not stored in the first TLB. 22 . The method as in claim 19 wherein an ID code is emb

Assignees

Inventors

Classifications

  • Details of translation look-aside buffer [TLB] · CPC title

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

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · CPC title

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

  • Electrical coupling · 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 US2018293183A1 cover?
An apparatus and method are described for implementing memory management in a graphics processing system. For example, one embodiment of an apparatus comprises: a first plurality of graphics processing resources to execute graphics commands and process graphics data; a first memory management unit (MMU) to communicatively couple the first plurality of graphics processing resources to a system-l…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Oct 11 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).