Inspection Unit Registry for PCIe DMA Request Filtering
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
Data Source
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.


