Inspection Unit Registry for PCIe DMA Request Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems face performance degradation due to excessive traffic generated by requests for translation data, which diverts resources away from servicing actual memory access requests, thereby reducing throughput and speed in PCIe systems.

Innovation Solution

The implementation of an inspection unit that maintains a registry of accessible addresses, allowing it to evaluate direct memory access (DMA) requests and determine whether they are authorized, thereby preventing unauthorized access and reducing unnecessary traffic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the PCIe system services address translation requests from peripheral components, then the components can access memory locations correctly, but the throughput and speed of the PCIe system deteriorate due to excessive traffic

Engineering Contradiction:
Improvecorrectness of memory accessVSAvoidthroughput and speed of PCIe system
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The inspection unit pre-establishes a registry of authorized memory address ranges for each peripheral component before DMA operations occur. When a DMA request is made, the unit checks the registry to determine if the request is authorized, eliminating the need for real-time address translation requests and reducing PCIe traffic while ensuring correct memory access.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the system allows peripheral components to make DMA requests to any memory location, then access flexibility is improved, but system security and integrity worsen due to potential unauthorized access

Engineering Contradiction:
Improveaccess flexibilityVSAvoidsystem security and integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The inspection unit acts as an intermediary between peripheral components and the IOMMU, intercepting DMA requests and checking them against the registry of authorized address ranges. This intermediary function maintains system security by blocking unauthorized access while preserving access flexibility for authorized operations, without requiring changes to the underlying DMA mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12271327B2Device, system, and method for inspecting direct memory access requests
Publication Date: 2025.04.08 INTEL CORP
  • US12271327B2 patent drawing
  • US12271327B2 patent drawing
  • US12271327B2 patent drawing

AI summary

Techniques and mechanisms for determining an operation to be performed with a direct memory access (DMA) request. An inspection unit (105) is coupled between an input-output memory management unit (IOMMU) (120) and an endpoint device (118). The inspection unit (105) stores a registry (330) comprising entries (332) which each correspond to a respective address, and a respective one or more resources of the endpoint device (118). A given entry (332) of the registry (330) is created based on a message from the IOM MU (120) which indicates the successful completion of an address translation to facilitate a DMA request. The endpoint device (118) performs a search, based on a DMA request, to determine if any registry (330) entry (332) indicates a combination of an address and an endpoint resource, where said combination matches a corresponding combination indicated by the DMA request. Communication of the DMA request to the IOMMU (120) is contingent on a result of the search.