Remap Address Space Controller for N-Partition Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory management systems cannot support N-partition execution models in System-on-a-Chip (SoC) without a Memory Management Unit (MMU), limiting the number of partitions and lacking support for position-independent code or virtual memory, which restricts access to a physical address space in microcontroller operating systems and real-time operating systems.
Innovation Solution
A Remap Address Space Controller (RASC) is introduced, which is a programmable context-based controller that remaps memory bus transactions to extend the physical address space, enabling isolation of partitions and virtualization of shared peripherals without an MMU, by using Region Control and Remap Registers to define access permissions and remap addresses within the physical address space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a conventional memory management system is used without an MMU, then the device complexity is reduced and cost is lowered, but the number of supported partitions is limited and the physical address space cannot be extended
Solution Approach 1:
The patent introduces a Remap Address Space Controller (RASC) as an intermediary component between the processor and the memory management system. The RASC intercepts address access requests, remaps virtual addresses to physical addresses, and manages partition isolation without requiring a full MMU. This intermediary approach enables N-partition execution and extended address space while keeping the overall system complexity lower than a complete MMU implementation.
Solution Approach 2:
The address space is segmented into multiple isolated partitions, each with its own address space view. The RASC maintains separate address translation contexts for each partition, allowing independent memory management and isolation. This segmentation enables multiple partitions to coexist in the same physical system without interfering with each other, effectively increasing the number of supported partitions without proportionally increasing system complexity.
2Area of stationary object
If the physical address space is extended through virtualization, then the addressable memory range increases, but the device complexity increases due to requiring an MMU
Solution Approach 1:
The RASC acts as a simplified intermediary that provides address remapping functionality without implementing a complete MMU. It handles address translation for specific memory regions and peripherals, extending the effective address space without the full complexity of traditional virtual memory management. This approach achieves address space extension with minimal additional device complexity.
Solution Approach 2:
The address remapping functionality is applied locally to specific memory regions and peripherals rather than implementing global virtual memory management. The RASC remaps addresses on-demand for specific access requests, providing virtualization benefits only where needed. This localized approach extends the address space without requiring system-wide MMU infrastructure.
3Adaptability or versatility
If position-independent code and virtual memory systems are used, then the address space flexibility increases, but the operating system complexity increases
Solution Approach 1:
The RASC provides self-service address remapping by automatically translating addresses based on configured remap tables without requiring OS intervention. The remap logic is hardwired in the controller, allowing position-independent code execution and virtual memory access without complex OS support. This shifts the complexity from the software layer to the hardware layer, maintaining OS simplicity while achieving address space flexibility.
Data Source
AI summary
A Remap Address Space Controller controls access to an address space by selectively remapping a physical address of a transaction received from a controller to form a remapped physical address according to a current execution context of the controller. The selective remapping is based on a determination of whether the current execution context of the controller allows the transaction to access the address space. Remap Address Space Controller selectively provides the transaction with the remapped physical address to a memory bus based on the determination of whether the current execution context of the controller allows the transaction to access the address space.


