Dynamic Memory Protection Unit Entry Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing apparatuses with virtualization techniques, the existing methods require statically setting the number of entries for memory protection units (MPUs) based on the maximum number of virtual machines, leading to increased circuit scale and inefficiency as the number of entries for each virtual machine varies dynamically.
Innovation Solution
A data processing apparatus with a memory protection setting storage unit, first determination units, and a second determination unit that dynamically determines access permissions based on classification information, allowing flexible adjustment of the ratio of entries for virtual machine monitor and virtual machine MPUs, thereby reducing circuit scale.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the number of entries for MPUs is statically set to the maximum number based on the maximum number of virtual machines, then memory protection functions can be realized for all virtual machines, but the circuit scale increases
Solution Approach 1:
The patent applies dynamics by making the number of entries for the first MPU variable rather than fixed. The first MPU dynamically adjusts its entry count based on the actual number of virtual machines operating on the physical machine, allowing the system to maintain adequate memory protection without permanently allocating maximum resources. This resolves the contradiction by enabling the system to adapt entry allocation to actual needs rather than worst-case scenarios.
Solution Approach 2:
The patent implements multi-functionality by having the second MPU serve dual purposes: it provides memory protection for the virtual machine monitor and simultaneously manages the dynamic allocation of entries to the first MPU. This single structure performs multiple functions that would traditionally require separate dedicated resources, thereby reducing overall circuit scale while maintaining comprehensive memory protection capabilities.
2Adaptability or versatility
If the number of entries for the first MPU and second MPU are both set to the maximum number to be used, then all virtual machines can operate with full memory protection, but the circuit scale increases
Solution Approach 1:
The system dynamically adjusts the first MPU's entry count based on the actual number of virtual machines operating. When fewer than the maximum number of virtual machines are running, the first MPU uses fewer entries, reducing circuit resource utilization. This dynamic adaptation maintains full versatility for virtual machine operations while avoiding the permanent overhead of maximum-static configuration.
Solution Approach 2:
The patent changes the parameter of entry count from a fixed maximum value to a variable that adjusts according to operational conditions. The second MPU monitors and controls this parameter, allocating appropriate entry counts to the first MPU based on actual virtual machine usage patterns, thereby optimizing circuit scale without compromising adaptability.
Data Source
AI summary
The data processing apparatus includes a memory protection setting storage unit capable of storing a plurality of address sections as memory protection setting targets, a plurality of first determination units provided for each of the address sections stored in the memory protection setting storage unit and provisionally determining whether or not an access request is permitted based on whether or not an access destination address specified by the access request corresponds to the address section acquired from the memory protection setting storage unit, and a second determination unit finally determining whether or not the access request is permitted based on the classification information and the results of provisional determinations by the first determination unit.


