Memory Management Unit Segmentation for Address Space Compaction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing automatic memory management (AMM) modules in computer systems cause resource conflicts, leading to pauses in application execution and potential malfunctions due to fragmentation and inefficient memory reclamation, especially when dealing with objects of varying sizes.
Innovation Solution
The implementation of a memory management unit (MMU) that divides the logical address space into 'compaction' and 'non-compaction' spaces, allowing large objects to be mapped without physical movement, thereby avoiding the need for compaction and reducing resource competition with the AMM module.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If the AMM module performs compaction to move objects inside memory, then memory fragmentation is reduced, but the application execution is paused and resource conflict increases
Solution Approach 1:
The patent divides the memory management system into two independent components: the AMM module that manages logical address space and the MMU that handles physical memory mapping. This segmentation allows the AMM module to perform compaction operations on logical addresses without pausing application execution, as the MMU handles physical memory mapping independently through its own compaction mechanism.
Solution Approach 2:
The MMU acts as an intermediary between the AMM module and physical memory. It translates logical addresses from the AMM module and performs physical compaction independently, allowing the AMM module to focus on logical address management without causing execution pauses. The MMU's translation buffer (TLB) further mediates address translation operations.
2Stability of the object's composition
If the AMM module moves large objects during compaction, then memory fragmentation is reduced, but the time required for memory management operations increases linearly with object size
Solution Approach 1:
The patent segments the address management into logical address space (AMM module) and physical memory mapping (MMU). The MMU handles physical compaction of large objects independently through hardware-based address translation, which does not require moving the actual object data. This reduces the time required for managing large objects from linear O(n) to constant O(1) time complexity.
Solution Approach 2:
The patent replaces the mechanical system of physically moving large objects during compaction with a virtual address translation system. The MMU uses hardware-based address translation and translation buffers to remap physical addresses without actually moving the object data in memory, dramatically reducing the time required for compaction operations on large objects.
3Adaptability or versatility
If the AMM module is implemented as a function of the operating system or run-time environment, then memory management is integrated, but resource consumption increases and conflicts with application execution
Solution Approach 1:
The patent segments memory management functions between the AMM module (logical address space management) and the MMU (physical memory mapping). The MMU is implemented as a separate hardware component independent of the operating system or run-time environment, reducing resource consumption and execution conflicts while maintaining integration through address translation.
Solution Approach 2:
The MMU serves as an intermediary hardware component between the AMM module and physical memory, independent of the operating system or run-time environment. This intermediary handles address translation and physical compaction without consuming application execution resources, reducing resource conflicts while maintaining integrated memory management functionality.
Data Source
AI summary
In a computer system, an automatic memory management module operates by receiving, from a mutator, memory allocation requests for particular objects to be stored in a random-access memory and allocating particular logical addresses within a logical address space to the particular objects. The automatic memory management module distinguishes the particular objects according to at least one criterion and allocates logical addresses from a first sub-space and logical addresses from a second sub-space. A memory management unit maps the allocated logical addresses from the second sub-space to physical memory in the random-access memory. The logical addresses within the first sub-space are compacted in combination with moving corresponding objects in the random-access memory.


