IP Library Granted Patent US 11,853,179
Granted Patent B1
US 11,853,179 · App. 16/728,338 · Granted Dec 26, 2023

Detection of a DMA (direct memory access) memory address violation when testing PCIE devices

Inventors: Aaron Masters (Loomis, CA); Kevin Lemay (Loomis, CA); Chuck Tuffli (Loomis, CA)
Assignee: TELEDYNE LECROY, INC.
G06F11/221G06F13/28G06F13/4221G06F2213/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,853,179
App. No.
16/728,338
Granted
Dec 26, 2023
Kind
B1
Abstract

A method for detecting a Direct Memory Access (DMA) memory address violation when testing PCIe devices is disclosed. The method for detecting a DMA memory address violation when testing PCIe devices applies to unintentional and intentional accesses of memory space outside of an area in memory specified by the device driver developed for the device.

Claims (49)

1. A method for 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 domain, wherein the domain is a specified virtual memory address space for the device;

allocating by the IOMMU the domain to the device, wherein the domain defines access-allowed memory address spaces of virtual memory for the device;

mapping a physical memory address space to virtual address space, wherein the physical memory space is physical memory addresses for the device;

monitoring direct memory access (DMA) for accesses by the device to memory space that are outside of the domain; and

detecting a DMA memory address violation by the PCIe device.

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

3. The method of claim 1 , wherein the IOMMU includes the virtual memory address space and the physical memory address space.

4. The method of claim 2 , wherein the IOMMU further comprises an address mapping function.

5. The method of claim 4 , 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.

6. A non-transitory computer readable medium storing a kernel configuration module which, when executed by a processor of a computing device, tests PCie devices, the kernel configuration module comprising sets of instructions for:

enabling an input/output (I/O) memory management unit (IOMMU) of the computing device;

adding a peripheral component interconnect express (PCie) device;

creating by the IOMMU a domain, wherein the domain is a specified virtual memory address space for the device;

allocating by the IOMMU the domain to the device, wherein the domain defines access-allowed memory address spaces of virtual memory for the device;

mapping a physical memory address space to virtual address space, wherein the physical memory space is physical memory addresses for the device;

monitoring direct memory access (DMA) for accesses by the device to memory space that are outside of the domain; and

detecting a DMA memory address violation by a PCIe device.

7. The non-transitory computer readable medium of claim 6 , wherein allocating a memory space domain comprises allocating a memory address fence in a virtual memory address space of the IOMMU.

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

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

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

11. The method of claim 1 , further comprising:

generating an error if access of a memory address outside of the domain is detected.

12. The method of claim 11 , further comprising:

correlating the error with a device that is accessing the memory address outside of the domain.

13. The method of claim 1 , further comprising:

displaying an error notification on a GUI if access of a memory address outside of the domain is detected.

14. The method of claim 1 , further comprising:

testing the PCie device via a test system or application platform.

15. The non-transitory computer readable medium of claim 6 , further comprising:

generating an error if access of a memory address outside of the domain is detected.

16. The non-transitory computer readable medium of claim 15 , further comprising:

correlating the error with the PCie device that is accessing the memory address outside of the domain.

17. The non-transitory computer readable medium of claim 6 , further comprising:

displaying an error notification on a GUI if access of a memory address outside of the domain is detected.

18. The non-transitory computer readable medium of claim 6 , further comprising:

testing the PCie device via a test system or application platform.

19. A memory space violation detection system comprising:

one or more target test devices;

an I/O Memory Management Unit (IOMMU) connected to the one or more target test devices via an I/O bus connection, the IOMMU comprising:

a virtual memory address space that defines a memory address fence to limit memory access of the one or more target test devices to specified address spaces; and

a physical memory address space, mapped via an address mapping function, from the one or more specified address spaces accessed by the target test devices; and

a physical memory, connected to the IOMMU via a system memory bus, wherein the physical memory includes physical memory locations for data from the one or more target test devices;

a processor configured to:

monitor direct memory access (DMA) for accesses by the device to memory space outside of the memory address fence; and

detecting a DMA memory address violation by the device.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2020
From: TUFFLI, CHUCK
To: TELEDYNE LECROY OAKGATE, INC.
Reel/Frame 053527/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2020
From: LEMAY, KEVIN
To: TELEDYNE LECROY OAKGATE, INC.
Reel/Frame 053527/0589 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2020
From: MASTERS, AARON G.
To: TELEDYNE LECROY OAKGATE, INC.
Reel/Frame 053527/0678 →
MERGER Recorded Aug 18, 2020
From: TELEDYNE LECROY OAKGATE, INC.
To: TELEDYNE LECROY, INC.
Reel/Frame 053527/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2020
From: MASTERS, AARON G.; LEMAY, KEVIN; TUFFLI, CHUCK
To: TELEDYNE LECROY OAKGATE, INC.
Reel/Frame 052153/0645 →
Continuity (1)
Provisional Application 62785915 · Dec 28, 2018