Embedded Memory Optimization via Feature Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Embedded systems with limited memory face constraints when additional features or hardware are added, leading to inefficient memory allocation and potential premature retirement due to insufficient memory capacity.
Innovation Solution
Implementing a method to optimize memory by identifying and removing unneeded software features from the memory, allowing the recovered memory to be allocated for other system tasks, and controlling the order and location of software features to minimize fragmentation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If memory capacity is increased to accommodate upgraded firmware or additional hardware, then system functionality and adaptability improve, but device cost and complexity increase
Solution Approach 1:
The patent implements dynamic memory allocation by extracting unneeded software features from the firmware image and reallocating their memory to the heap. The system dynamically determines which features are needed based on current hardware configuration and operational requirements, allowing the same physical memory to serve different functional needs at different times. This dynamic approach enables the system to adapt functionality without increasing physical memory capacity.
Solution Approach 2:
The patent changes the parameter of memory allocation efficiency by introducing a memory extraction process that identifies and removes unused software features. By changing the state of memory from static allocation to dynamic extraction and reallocation, the system maximizes the utilization of available memory resources, allowing upgraded firmware to be supported without increasing physical memory capacity.
2Device complexity
If simple memory management methods are used to reduce system complexity, then device complexity decreases, but memory allocation efficiency deteriorates
Solution Approach 1:
The patent segments the firmware image into distinct software features that can be individually identified, extracted, and managed. By dividing the monolithic firmware into separable features with known memory footprints, the system can selectively extract unneeded segments and reallocate their memory. This segmentation enables efficient memory management without requiring complex runtime analysis of the entire firmware image.
Solution Approach 2:
The patent performs preliminary action by pre-identifying and pre-allocating memory regions for each software feature during the build process. Feature memory footprints are determined in advance and stored in the firmware image, allowing the extraction process to quickly identify and remove unneeded features without performing complex memory analysis at runtime. This preliminary preparation simplifies the memory management process while maintaining high allocation efficiency.
3Reliability
If the entire firmware image is loaded into memory, then software functionality is preserved, but available memory for heap allocation decreases
Solution Approach 1:
The patent extracts unneeded software features from the firmware image and removes their memory occupation. By identifying features that are not required for current hardware or operations and extracting them from the loaded image, the system frees up memory that can be allocated to the heap. This extraction process maintains only the necessary software functionality in memory while recovering memory resources from removed features.
Solution Approach 2:
The patent discards unneeded software features from the firmware image and recovers their memory for use by the heap. The system identifies features that can be safely removed based on hardware configuration and operational needs, then recovers the memory previously occupied by these features. This discarding and recovering process enables the system to maintain essential software functionality while maximizing available memory capacity.
Data Source
AI summary
A method and system for recovering embedded system memory contained within an embedded system includes a software image in embedded system memory and identifying unneeded software features in the software image; identifying memory portions containing the unneeded software features; and reallocating the memory portions containing the unneeded features.


