Sub-Arithmetic Unit Memory Protection for Shared Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory protection
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If memory protection mechanisms are implemented to prevent access interference, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvememory protectionVSAvoidstructure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If access permission ranges are restricted to prevent data corruption, then purity is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidaccess flexibility
Core Design Contradiction:
Manufacturing precisionVSEase of operation

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3246821B1Semiconductor device and its memory access control method
Publication Date: 2020.09.09 RENESAS ELECTRONICS CORP
  • EP3246821B1 patent drawingFigure 1
  • EP3246821B1 patent drawingFigure 2
  • EP3246821B1 patent drawingFigure 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.