Arithmetic Processing Device Memory Corruption Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in detecting and preventing memory corruption caused by bugs or erroneous codes in programs, which leads to data overwriting outside intended memory areas, and current methods either incur high overhead or performance degradation.
Innovation Solution
An arithmetic processing device with an address range check unit that parallelly performs address range checks during the pipeline stage of address translation, using an address range table and register to verify if memory access instructions fall within allocated memory areas, and embedding management area identification information in virtual addresses to enable efficient detection of memory corruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If address range checks are performed to detect memory corruption, then memory corruption detection capability is improved, but processing overhead increases and execution performance deteriorates
Solution Approach 1:
The address range check unit is merged with the TLB (Translation Lookaside Buffer) unit, combining memory address translation functionality with address range validation. This integration allows the system to perform both address translation and corruption detection in a unified structure, sharing hardware resources and reducing overhead.
Solution Approach 2:
Address range information is pre-loaded into the address range register before memory access operations occur. The check unit compares actual memory access addresses against these pre-established ranges, enabling proactive detection of potential corruption before it affects program execution, rather than requiring post-execution validation.
2Device complexity
If address range check unit is integrated with TLB unit, then device complexity is reduced, but detection precision may be affected
Solution Approach 1:
The integrated unit serves multiple functions: address translation via TLB, address range validation via the check unit, and memory corruption detection. By making the system multi-functional, we reduce overall device complexity without sacrificing detection precision, as each function operates with dedicated logic within the unified structure.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An arithmetic processing device having an allocation unit configured to reserve a memory allocation area in a memory and register address range information indicating an address range of the memory allocation area in an address range table, in response to an execution of a memory area allocation function requesting memory area allocation, and a determination unit configured to refer to the address range table and perform determination processing as to whether or not an access destination address of a memory access instruction is within an address range indicated by the address range information registered in the address range table, in response to an execution of the memory access instruction relating to the memory allocation area.