Dynamic Shared Memory Allocation for Multi-OS Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional multi-operating system structures face inefficiencies in shared memory management, leading to inflexible allocation and waste, as sub-operating systems lack active memory awareness and rely on fixed memory allocation sequences.
Innovation Solution
A method that dynamically allocates shared memory by acquiring a data block with a size greater than the data size if a matching idle block is not available, writing the data to this block, and generating a new block from the remaining idle space, improving flexibility and utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If fixed front-to-back memory allocation sequence is used, then memory allocation is simple and deterministic, but memory utilization is inefficient and flexible
Solution Approach 1:
The patent implements dynamic memory allocation by replacing the fixed front-to-back sequence with a dynamic selection mechanism. The shared memory management application now selects memory blocks based on actual needs rather than following a predetermined order, allowing flexible allocation that adapts to different data sizes and improves overall memory utilization efficiency.
Solution Approach 2:
The patent changes the allocation parameter from a fixed sequence number to a size-matching criterion. Instead of allocating memory based on the order of requests, the system now allocates based on the data size requirement, selecting the most suitable idle block that matches the needed capacity, thereby improving memory utilization while maintaining allocation simplicity.
2Device complexity
If sub-operating systems lack active memory awareness, then memory management is simplified, but memory allocation becomes inflexible and causes waste
Solution Approach 1:
The patent implements self-service memory management where the shared memory management application actively monitors and manages memory blocks based on data size requirements. The system automatically selects appropriate idle blocks and handles allocation decisions without requiring complex coordination between sub-operating systems, maintaining simplicity while achieving flexible adaptation.
Solution Approach 2:
The patent introduces feedback mechanisms where the shared memory management application tracks the status of memory blocks and adjusts allocation decisions based on actual data size needs. This feedback loop allows the system to identify suitable idle blocks and make informed allocation decisions, improving flexibility without significantly increasing overall system complexity.
3Speed
If memory blocks are allocated without size matching, then allocation speed is faster, but memory waste increases
Solution Approach 1:
The patent applies partial action by selecting memory blocks that are slightly larger than the minimum required rather than using the smallest possible block. This approach ensures that allocated blocks are sufficient for the data size while avoiding the complexity of precise size matching, achieving a balance between allocation speed and minimizing memory waste through practical approximation.
Data Source
AI summary
A method for managing a multi-system shared memory includes: upon receiving a data write instruction for writing data to the shared memory, acquiring a data size of to-be-written data that is to be written to the shared memory; judging whether the shared memory includes a data block that matches the data size and is idle; if the shared memory does not include the data block that matches the data size and is idle, acquiring a first data block that has a memory size greater than the data size and is idle, such that the to-be-written data is written to the first data block; acquiring a remaining idle space of the first data block after the to-be-written data is written to the first data block; and generating a new data block based on the remaining idle space.


