IP Library Granted Patent US 11,386,028
Granted Patent B2
US 11,386,028 · App. 16/831,345 · Granted Jul 12, 2022

Method to test direct memory access (DMA) address capabilities at high address values

Inventors: Aaron Masters (Loomis, CA); Kevin Lemay (Loomis, CA); Chuck Tuffli (Sloughhouse, CA)
Assignee: TELEDYNE LECROY, INC.
G06F13/28G06F11/2221G06F11/3037G06F11/3485G06F12/10G06F13/4282G06F2213/0026
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 11,386,028
App. No.
16/831,345
Granted
Jul 12, 2022
Kind
B2
Abstract

A method for detecting a Direct Memory Access (DMA) address capability at high address values when testing PCIe devices is disclosed. The method includes enabling an input/output (I/O) memory management unit (IOMMU); remapping physical addresses to virtual addresses at a high end of an address range; adding a peripheral component interconnect express (PCIe) device; and mapping physical memory addresses to high value memory addresses.

Claims (38)

1. A method for detecting a Direct Memory Access (DMA) address capability at high address values when testing PCIe devices, the method comprising:

enabling an input/output (I/O) memory management unit (IOMMU);

adding a peripheral component interconnect express (PCIe) device;

creating by the IOMMU a specified virtual memory address space to the device;

setting the specified virtual address space to high end of address space beyond a memory address range of physical memory;

mapping physical memory addresses to high value memory addresses, wherein a high value memory address is defined as a memory address in an upper limit of an addressing range of a central processing unit (CPU); and

checking direct memory access by the device against the specified virtual memory address space.

2. The method of claim 1 , further comprising monitoring direct memory access (DMA) for accesses to the high value memory addresses.

3. The method of claim 2 , wherein monitoring is repeated until intentionally stopped.

4. The method of claim 1 , comprising adding a memory address for the PCIe device.

5. The method of claim 1 , wherein the IOMMU comprises a virtual memory address space and a physical memory address space.

6. The method of claim 5 , wherein the IOMMU comprises an address mapping function.

7. The method of claim 6 , wherein the address mapping function maps a virtual address of a target device in the virtual memory address space to a physical address in the physical memory address space.

8. The method of claim 1 , comprising allocating contiguous memory addresses using the IOMMU.

9. The method of claim 8 , comprising scanning mapped memory and avoiding address ranges used for a PCIe configuration address space.

10. A non-transitory computer readable medium storing a kernel configuration module which, when executed by a processor of a computing device, detects a Direct Memory Access (DMA) address capability at high address values when testing PCIe devices, said a kernel configuration module comprising sets of instructions for:

enabling an input/output (I/O) memory management unit (IOMMU);

adding a peripheral component interconnect express (PCIe) device;

creating by the IOMMU a specified virtual memory address space to the device;

setting the specified virtual address space to high end of address space beyond a memory address range of physical memory;

mapping physical memory addresses to high value memory addresses, wherein a high value memory address is defined as a memory address in an upper limit of an addressing range of a central processing unit (CPU); and

checking direct memory access by the device against the specified virtual memory address space.

11. The non-transitory computer readable medium of claim 10 , comprising a set of instructions for monitoring direct memory access (DMA) for accesses to the high value memory addresses.

12. The non-transitory computer readable medium of claim 11 , wherein the set of instructions for monitoring direct memory access (DMA) for accesses to the high value memory addresses comprises a set of instructions for repeatedly monitoring direct memory access (DMA) for accesses to the high value memory addresses until intentionally stopped.

13. The non-transitory computer readable medium of claim 10 , comprising a set of instructions for adding a memory address for the PCIe device.

14. The non-transitory computer readable medium of claim 13 , wherein the IOMMU comprises a virtual memory address space, a physical memory address space, and an address mapping function.

15. The non-transitory computer readable medium of claim 14 , wherein the set of instructions for adding a memory address for the PCIe device comprises a set of instructions for mapping the virtual address of the PCIe device in the virtual memory address space to a physical address in the physical memory address space.

16. The non-transitory computer readable medium of claim 15 , wherein the set of instructions for mapping comprises a set of instructions for using the address mapping function in the IOMMU.

17. The non-transitory computer readable medium of claim 10 , comprising a set of instructions for allocating contiguous memory addresses using the IOMMU.

18. The non-transitory computer readable medium of claim 17 , comprising a set of instructions for scanning mapped memory and avoiding address ranges used for a PCIe configuration address space.

19. A method for detecting a Direct Memory Access (DMA) address capability at high address values when testing PCIe devices, the method comprising:

enabling an input/output (I/O) memory management unit (IOMMU);

adding a peripheral component interconnect express (PCIe) device;

assigning by the IOMMU a virtual memory address space to the device;

creating by the IOMMU a specified virtual memory address space to the device;

setting the specified virtual address space to high end of address space beyond a memory address range of physical memory;

mapping physical memory addresses to high value memory addresses, wherein a high value memory address is defined as a memory address in an upper limit of an addressing range of a central processing unit (CPU); and

verifying direct memory access addressing capability of the device at the high end of the address range.

Assignments (2)
MERGER Recorded Aug 18, 2020
From: TELEDYNE LECROY OAKGATE, INC.
To: TELEDYNE LECROY, INC.
Reel/Frame 053527/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: MASTERS, AARON; LEMAY, KEVIN; TUFFLI, CHUCK
To: TELEDYNE LECROY OAKGATE, INC.
Reel/Frame 052978/0024 →
Continuity (2)
Continuation 62826265 · Mar 29, 2019
Related Publication 20200311002A1 · Oct 1, 2020