Sub-OS Virtual Memory Layer for Reduced RAM Complexity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-virtual memory systems in electronic devices often require sufficient RAM to handle memory demands, increasing costs, while virtual memory systems can utilize less RAM by swapping pages to nonvolatile memory, but adding virtual memory capability complicates the system and increases costs.
Innovation Solution
A sub-OS virtual memory management layer is introduced by compressing executable code, inserting virtual memory management components, and modifying abort vectors to enable virtual memory operations without altering the existing OS or application code, allowing for virtual memory functionality without increasing system complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If virtual memory capability is added to enable page swapping between RAM and nonvolatile memory, then RAM requirements are reduced, but system complexity increases
Solution Approach 1:
A sub-OS virtual memory management layer is introduced as an intermediary between the existing OS and the hardware. This layer handles all virtual memory operations including page swapping between RAM and nonvolatile memory, allowing the existing OS to remain unchanged while gaining virtual memory capabilities. The sub-OS layer acts as a mediator that abstracts the complexity of virtual memory management from the upper layers of the system.
Solution Approach 2:
The virtual memory management functionality is segmented into a separate sub-OS layer that operates independently below the existing OS. This segmentation allows the virtual memory mechanisms to be added without modifying or complicating the existing OS structure. The sub-OS layer manages pages, swap operations, and memory mapping separately, keeping the overall system architecture modular and manageable.
2Adaptability or versatility
If virtual memory management components are inserted into existing systems, then virtual memory functionality is enabled, but manufacturing complexity increases
Solution Approach 1:
The sub-OS virtual memory management layer is implemented as a preliminary component that is built into the system before the existing OS is loaded. The virtual memory management code, data structures, and hardware configuration are prepared in advance during the boot process or system initialization. This preliminary action ensures that when the existing OS starts, virtual memory functionality is already in place and ready to operate without requiring complex runtime modifications or post-manufacturing changes.
3Reliability
If more RAM is included to support largest expected RAM requirements, then system reliability is improved, but cost increases
Solution Approach 1:
The system extends memory management from a single dimension (RAM only) to multiple dimensions by introducing nonvolatile memory as an additional storage dimension. Through virtual memory mechanisms, the system can access both volatile RAM and nonvolatile storage, effectively creating a multi-tier memory hierarchy. This allows the system to maintain reliability by having sufficient virtual address space while using less physical RAM, as pages can be swapped to nonvolatile memory when needed.
Data Source
AI summary
A binary memory image in system is modified. The system may or may not already have virtual memory management enabled. Virtual memory management is enabled and/or modified by inserting a sub-OS virtual memory management layer in the binary memory image. Part of the binary memory image may be compressed to make room for the sub-OS virtual memory management layer.


