Programmable Logic Memory Access Control With Transaction Attributes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In programmable logic devices, existing memory protection mechanisms fail to effectively isolate and secure memory resources between different applications, particularly in multi-processing systems, where a process may inadvertently or maliciously access memory allocated for another process, leading to vulnerabilities.
Innovation Solution
The implementation of hardened control logic between programmable logic regions and memory resources, which generates transaction attributes for memory requests, and a memory protection unit compares these attributes with predefined aperture attributes to determine access permissions, ensuring secure and isolated memory access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory protection mechanisms are implemented in programmable logic devices, then security and isolation between applications are improved, but device complexity increases due to additional control logic and attribute generation requirements
Solution Approach 1:
The patent introduces control logic as an intermediary component between the programmable logic region and memory resources. This control logic generates transaction attributes for memory requests and works with the memory protection unit to enforce access permissions, thereby providing memory protection while managing complexity through a dedicated intermediate layer rather than embedding protection throughout the entire system
Solution Approach 2:
The memory protection mechanism is segmented into distinct functional components: control logic for attribute generation, memory protection unit for permission determination, and aperture definitions for access rules. This segmentation allows each component to be optimized independently and simplifies the overall system by dividing the protection function into manageable, specialized units
2Reliability
If transaction attributes are generated and verified for every memory request, then memory access security is improved, but processing speed deteriorates due to additional verification steps
Solution Approach 1:
The patent implements preliminary action by pre-defining aperture attributes and access permissions before memory transactions occur. The control logic generates transaction attributes in advance as part of the memory request, and the memory protection unit has pre-configured aperture definitions ready for comparison. This preparation work done beforehand minimizes the verification time during actual memory transactions, reducing the speed penalty
Data Source
AI summary
Examples described herein provide for memory access protection in programmable logic devices. In an example, an integrated circuit includes a programmable logic region, control logic, an interconnect, and a memory controller. The control logic is communicatively coupled to the programmable logic region. The control logic is configurable to generate one or more transaction attributes of a memory transaction request, and the memory transaction request is communicated from the programmable logic region. The interconnect is communicatively coupled to the control logic. The interconnect is operable to communicate the memory transaction request therethrough. The memory controller is communicatively coupled to the interconnect. The memory controller is operable to receive the memory transaction request. The memory controller is configurable to determine whether the memory transaction request is permitted based on the one or more transaction attributes.


