Memory Partition Management with Apparent Redundancy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current embedded systems face memory management challenges due to the need for multiple sets of partitions to ensure reliability and update functionality, leading to increased memory requirements that can be unfeasible in power-constrained environments like vehicles, where double memory is often not feasible and memory demands grow with software updates.
Innovation Solution
The system employs a method to manage memory partitions by generating and maintaining multiple partition tables that reference a single set of shared memory extents, allowing software applications to access partitions without distinguishing between redundant and non-redundant copies, thereby reducing memory requirements and simplifying design.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple independent sets of partitions are maintained for reliability and update functionality, then system reliability and update capability are improved, but memory requirements increase to double or more
Solution Approach 1:
The patent merges multiple partition tables (first partition table and second partition table) to reference a single shared set of memory extents. Instead of maintaining separate duplicate partitions, both partition tables point to the same memory regions, allowing the system to switch between them for reliability and update purposes while using only one physical copy of the data, thus halving the memory requirements.
Solution Approach 2:
The shared memory extents serve multiple functions simultaneously: they provide the runtime data for the current software version through one partition table, and store the updated software version data through another partition table. This multi-functionality allows a single memory region to fulfill roles that traditionally required separate dedicated memory areas.
2Reliability
If memory is allocated for multiple sets of partitions to ensure reliability, then fault tolerance is improved, but device size and power consumption increase
Solution Approach 1:
The patent combines multiple logical partition structures into a single physical memory allocation. By having the first and second partition tables reference the same shared memory extents, the system achieves fault tolerance through logical redundancy (multiple partition tables) without the physical redundancy (multiple memory copies) that would increase device size.
3Reliability
If memory is doubled to accommodate multiple partition sets, then system reliability is improved, but power consumption increases
Solution Approach 1:
The patent merges the storage requirements for multiple software versions into a single shared memory space. Instead of allocating separate memory regions for each version (which would double power consumption), both versions share the same physical memory, reducing the energy required for memory operations while maintaining the ability to switch between versions for reliability.
4Adaptability or versatility
If memory requirements increase with each software update to maintain multiple partition sets, then update capability is improved, but memory capacity becomes insufficient for future updates
Solution Approach 1:
The patent implements a dynamic memory management scheme where the partition tables can be reconfigured to point to different memory extents as software updates occur. The shared memory extents can be dynamically allocated and reallocated between different software versions, allowing the system to adapt to growing software requirements without requiring proportional increases in total memory capacity.
Solution Approach 2:
The system changes the parameters of the partition tables (their structure and references) rather than the underlying memory capacity. By modifying how partition tables reference shared memory extents, the system can accommodate updated software versions with different memory requirements without increasing the total memory allocation, thus preserving capacity for future updates.
Data Source
AI summary
Embodiments of the present disclosure set forth techniques for managing memory partitions in a computing system. The techniques include generating a first entry for a first partition table associated with a first instance of a software application, wherein the first entry is associated with a first memory partition that includes a first memory extent; determining that a first data block referenced by the first memory partition is shared with a second instance of the software application; and generating a second entry for a second partition table associated with a second instance of the software application, wherein the second entry is associated with the first memory partition that includes the first memory extent. As a result, the two partition tables have identical mapping allowing switching between partition tables.


