Dynamic Memory Allocation in Multiprocessor System on Chip
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory management methods in multiprocessor systems on chip (MPSoC) fail to efficiently allocate memory for dynamically generated or dynamically loaded tasks, leading to suboptimal performance due to fixed memory allocation and inability to reflect locality, resulting in high overhead and limited applicability.
Innovation Solution
A method that refers to a symbol table to determine the storage location of variables or functions based on memory access frequency, compares the determined location with the previous storage location, and copies data if the locations differ, allowing for dynamic memory allocation and efficient use of memory resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If fixed memory allocation is used, then memory management is simple, but memory efficiency and system performance deteriorate due to inability to reflect locality and adapt to dynamically generated or loaded tasks
Solution Approach 1:
The patent implements dynamic memory allocation where memory regions are not fixed but can be allocated and deallocated based on runtime needs. The memory management unit tracks allocation status and allows flexible assignment of memory regions to different tasks as they are generated or loaded, enabling the system to adapt to changing memory requirements while maintaining efficient memory utilization.
Solution Approach 2:
The patent performs preliminary memory region identification and allocation preparation before tasks are fully executed. By pre-identifying available memory regions and their characteristics, the system can quickly allocate appropriate memory to dynamically generated or loaded tasks without causing performance degradation, thus resolving the contradiction between simple management and efficient utilization.
2Adaptability or versatility
If memory is allocated for dynamically generated or loaded tasks, then system adaptability improves, but memory management overhead increases due to the need to track and manage variable memory regions
Solution Approach 1:
The patent implements a self-service memory management mechanism where the memory management unit automatically tracks allocation status, identifies available regions, and performs allocation/deallocation operations without requiring complex external control. This automated approach reduces management overhead while maintaining high adaptability to dynamically generated or loaded tasks.
Solution Approach 2:
The patent employs feedback mechanisms where the memory management unit continuously monitors memory allocation status and uses this information to make intelligent allocation decisions. By tracking which memory regions are currently in use and their characteristics, the system can efficiently allocate memory to new tasks while avoiding conflicts, thus reducing overhead through informed decision-making.
3Speed
If scratch pad memory is used for high-speed access, then access time improves, but memory capacity and flexibility deteriorate due to fixed allocation and inability to dynamically adjust to different tasks
Solution Approach 1:
The patent makes scratch pad memory dynamic by allowing its content to be changed based on task requirements. Memory regions in the scratch pad can be allocated to different tasks as they are generated or loaded, enabling high-speed access while maintaining flexibility. The system can evict data from scratch pad memory and load new data as needed, combining the speed benefits with adaptive capabilities.
Solution Approach 2:
The patent performs preliminary identification of data that should be placed in scratch pad memory based on access patterns and task requirements. By pre-loading frequently accessed data into scratch pad memory before tasks execute, the system ensures high-speed access is available when needed while maintaining the ability to dynamically adjust contents based on changing task requirements.
Data Source
AI summary
Provided is a method of managing memory in a multiprocessor system on chip (MPSoC). According to an aspect of the present invention, locality of memory can be reflected and restricted memory resources can be efficiently used by determining a storage location of a variable or a function which corresponds to a symbol with reference to a symbol table based on memory access frequency of the variable or the function, comparing the determined storage location and a previous storage location, and copying the variable or the function stored in the previous storage location to the determined storage location if the determined storage location is different from the previous storage location.


