IP Library › Granted Patent US 10,769,078
Granted Patent B2
US 10,769,078 · App. 16/453,995 · Granted Sep 8, 2020

Apparatus and method for memory management in a graphics processing environment

Inventors: Niranjan L. Cooray (Folsom, CA); Abhishek R. Appu (El Dorado Hills, CA); Altug Koker (El Dorado Hills, CA); Joydeep Ray (Folsom, CA); Balaji Vembu (Folsom, CA); Pattabhiraman K (Bangalore, IN); David Puffer (Tempe, AZ); David J. Cowperthwaite (Portland, OR); Rajesh M. Sankaran (Portland, OR); Satyeshwar Singh (Mather, CA); Sameer Kp (Bangalore, IN); Ankur N. Shah (Folsom, CA); Kun Tian (Atlanta, GA)
Assignee: Intel Corporation
G06F13/16G06F12/0802G06F12/1009G06F12/1027G06F12/1036G06F13/4068G06F2212/1024G06F2212/302G06F2212/60G06F2212/68
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,769,078
App. No.
16/453,995
Granted
Sep 8, 2020
Kind
B2
Abstract

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.

Claims (16)

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; and

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;

wherein a memory transaction originated from either the first or the second MMU includes an identifier (ID) code to identify the originating MMU being the first or 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 when the memory transaction is from the second MMU to the first MMU, the first MMU either services the memory transaction or sends the memory transaction to the system-level MMU on behalf of the second MMU.

4. The apparatus as in claim 3 , 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.

5. The apparatus as in claim 4 , wherein the transaction routing circuitry comprises a routing table to route the memory transaction.

6. The apparatus as in claim 5 , wherein the routing table is mapped to the ID code of the second MMU.

7. The apparatus as in claim 1 , wherein each of the first and second plurality of graphics processing resources includes one or more sets of execution units (EUs), samplers, 3D engines, rasterizers, pixel shaders, and traversal units.

8. The apparatus as in claim 1 , wherein each of the first and second MMUs performs one or more of address translations, page fault operations, and page walk operations.

9. The apparatus as in claim 1 , wherein each of the first and second MMUs comprises a translation lookaside buffer (TLB).

10. The apparatus as in claim 9 , wherein the TLB includes TLB entries, each mapping from virtual guest address (GVA) to a host physical address (HPA).

11. The apparatus as in claim 1 , wherein the ID code is embedded in a response from the system-level MMU to the memory transaction.

Continuity (2)
Continuation 15482690 · Apr 7, 2017
Related Publication 20190391937A1 · Dec 26, 2019