Dynamic Memory Allocation in Multiprocessor System on Chip

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvememory management complexityVSAvoidmemory efficiency
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidmemory management overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvememory access timeVSAvoidmemory flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7996630B2Method of managing memory in multiprocessor system on chip
Publication Date: 2011.08.09 SAMSUNG ELECTRONICS CO LTD
  • US7996630B2 patent drawing
  • US7996630B2 patent drawing
  • US7996630B2 patent drawing

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.