IP Library Granted Patent US 8,719,464
Granted Patent B2
US 8,719,464 · App. 13/308,211 · Granted May 6, 2014

Efficient memory and resource management

Inventors: Andrew Kegel (Redmond, WA); Mark Hummel (Franklin, MA); Anthony Asaro (Toronto, CA); Phillip Ng (Toronto, CA)
Assignee: Advanced Micro Device, Inc.
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 8,719,464
App. No.
13/308,211
Granted
May 6, 2014
Kind
B2
Abstract

The present system enables passing a pointer, associated with accessing data in a memory, to an input/output (I/O) device via an input/output memory management unit (IOMMU). The I/O device accesses the data in the memory via the IOMMU without copying the data into a local I/O device memory. The I/O device can perform an operation on the data in the memory based on the pointer, such that I/O device accesses the memory without expensive copies.

Claims (22)

1. A method comprising:

receiving, by an I/O device, a mapped pointer, the mapped pointer pointing to data residing in a system memory, wherein the mapped pointer is received via an input/output memory management unit (IOMMU);

accessing, by the I/O device, the data in the system memory via the IOMMU without copying the data into a local memory of the I/O device memory; and

performing, by the I/O device, an operation on the data directly in the system memory based on the mapped pointer; and nested paging transactions provided from the IOMMU.

2. The method of claim 1 , wherein the IOMMU is configured to pass the mapped pointer without needing intervention by a hypervisor or guest operating system (OS).

3. The method of claim 1 , wherein the mapped pointer is configured to be usable by the I/O device, and a process running in a virtual machine, without reconfiguring the pointer.

4. The method of claim 1 , wherein the data comprises image data.

5. The method of claim 1 , wherein the system memory and the I/O device operate out of a same guest virtual address space to provide for direct manipulation by the guest OS of the data in the system memory.

6. The method of claim 1 , wherein the performing comprises:

using nested translation information from the nested transactions without using a guest translation layer,

wherein the guest translation layer is implemented for separation of a guest process and the I/O device.

7. An apparatus comprising:

an input/output memory management unit (IOMMU) configured to:

pass a mapped pointer, the mapped pointer pointing to data residing in a system memory, to an input/output (I/O) device, wherein the I/O device accesses the data in the system memory via the IOMMU without copying the data into a local I/O device memory and

provide, to the I/O device nested paging transactions, wherein the mapped pointer and nested transactions are configured to enable the I/O device to perform an operation on the data in the system memory.

8. The apparatus of claim 7 , wherein the IOMMU is configured to pass the mapped pointer without needing intervention by a hypervisor or guest operating system (OS).

9. The apparatus of claim 7 , wherein the mapped pointer is configured to be usable by the I/O device, and a process running in a virtual machine, without reconfiguring the mapped pointer.

10. The apparatus of claim 7 , wherein the data in the system memory comprises image data.

11. The apparatus of claim 7 , wherein the system memory and I/O device operate out of a same guest virtual address space to provide for direct manipulation by the guest OS of the data in the system memory.

12. The apparatus of claim 7 , wherein:

nested translation information from the nested transactions is used without using a guest translation layer; and

the guest translation layer is implemented to separate a guest process and the I/O device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2012
From: KEGEL, ANDREW; HUMMEL, MARK
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 027764/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2012
From: ASARO, ANTHONY; NG, PHILIP
To: ATI TECHNOLOGIES ULC
Reel/Frame 027764/0795 →
Continuity (1)
Related Publication 20130138840A1 · May 30, 2013