Embedded Memory Optimization via Feature Extraction

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

VSEngineering 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

Engineering Contradiction:
Improvesystem functionalityVSAvoidmemory capacity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If simple memory management methods are used to reduce system complexity, then device complexity decreases, but memory allocation efficiency deteriorates

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

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the entire firmware image is loaded into memory, then software functionality is preserved, but available memory for heap allocation decreases

Engineering Contradiction:
Improvesoftware functionalityVSAvoidavailable memory
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8108645B2Optimized memory allocation via feature extraction
Publication Date: 2012.01.31 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8108645B2 patent drawing
  • US8108645B2 patent drawing
  • US8108645B2 patent drawing

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.