Sub-Arithmetic Unit Memory Protection for Shared Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing semiconductor devices with a main-arithmetic unit and a sub-arithmetic unit sharing memory lack effective memory protection mechanisms to prevent access interference between the two units, particularly when the sub-arithmetic unit directly accesses the shared memory.
Innovation Solution
Incorporating a memory protection unit within the sub-arithmetic unit that sets and enforces access permission ranges for the shared memory, blocking unauthorized access and sending error notifications to the main-arithmetic unit to manage and restrict access, thereby preventing data interference and ensuring secure operation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the sub-arithmetic unit directly accesses the shared memory to increase processing speed, then productivity is improved, but memory protection and data integrity deteriorate
Solution Approach 1:
A memory protection unit is introduced as an intermediary between the sub-arithmetic unit and the shared memory. This unit monitors and controls all memory access requests from the sub-arithmetic unit, comparing them against pre-set permission ranges. Authorized accesses are permitted while unauthorized accesses are blocked, thus enabling fast direct memory access while maintaining memory protection and data integrity.
2Reliability
If memory protection mechanisms are implemented to prevent access interference, then reliability is improved, but device complexity increases
Solution Approach 1:
The memory protection unit is divided into distinct functional segments: a permission range setting unit that configures access boundaries, and a permission determination unit that evaluates access requests. This segmentation allows each component to perform its specific function efficiently, maintaining reliability while managing complexity through modular design.
Solution Approach 2:
Memory permission ranges are pre-configured and stored in the memory protection unit before the sub-arithmetic unit begins accessing memory. This preliminary setup of access control parameters eliminates the need for complex real-time decision-making during memory operations, thereby maintaining reliability while reducing operational complexity.
3Manufacturing precision
If access permission ranges are restricted to prevent data corruption, then purity is improved, but ease of operation deteriorates
Solution Approach 1:
The memory permission ranges are configured dynamically based on the specific needs of different applications and processes. The permission range setting unit can adjust access boundaries as required, allowing flexible data sharing within authorized regions while maintaining strict protection outside those regions. This dynamic configuration ensures data integrity while preserving necessary operational flexibility.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
There is a problem that memory protection against access to a shared memory by a sub-arithmetic unit used by a program executed in a main-arithmetic unit cannot be performed in a related-art semiconductor device. According to one embodiment, a semiconductor device includes a sub-arithmetic unit configured to execute a process of a part of a program executed by a main-arithmetic unit, and a shared memory shared by the main-arithmetic unit and the sub-arithmetic unit, in which the sub-arithmetic unit includes a memory protection unit configured to permit or prohibit access to the shared memory based on an access permission range address value provided from the main-arithmetic unit, the access to the shared memory being access that arises from a process executed by the sub-arithmetic unit.