Non-Volatile Memory Allocation for Large Data Structures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computer systems face challenges in providing sufficient memory for executing large applications without the need for extensive and costly RAM storage, as existing solutions like virtual memory are inadequate for very large data structures.
Innovation Solution
Configuring computer systems to allocate memory on non-volatile storage mediums such as solid state drives, allowing for the use of these devices as memory for executing program code, thereby reducing the reliance on large amounts of RAM storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If large amounts of RAM storage are provided to meet memory demands, then memory capacity is improved, but cost increases significantly
Solution Approach 1:
The patent makes non-volatile storage serve multiple functions: both long-term data storage and temporary memory execution. By enabling the same storage medium to perform both roles, the system eliminates the need for separate expensive RAM hardware, resolving the contradiction between memory capacity and cost.
Solution Approach 2:
The patent changes the fundamental parameter of storage volatility from volatile (RAM) to non-volatile (SSD/HDD). This parameter change enables cost-effective large-scale memory allocation while maintaining persistence, directly addressing the cost-capacity contradiction.
2Ease of manufacture
If non-volatile storage is used for memory allocation, then cost is reduced, but read/write speed decreases
Solution Approach 1:
The patent applies partial action by allocating only the necessary memory portion to non-volatile storage rather than all memory operations. Critical, speed-sensitive operations remain in RAM while less demanding data structures are placed in non-volatile storage, achieving cost reduction without excessive performance penalty.
Solution Approach 2:
The patent treats non-volatile storage as a cheaper alternative for memory allocation, accepting its slower speed characteristics in exchange for significantly lower cost. This principle is particularly valuable for applications where cost sensitivity outweighs performance requirements.
3Quantity of substance
If virtual memory solutions are used to free up RAM, then available RAM is improved, but the solution remains inadequate for very large data structures
Solution Approach 1:
The patent moves the memory allocation discussion from a single dimension (RAM only) to multiple dimensions by introducing non-volatile storage as an additional memory tier. This dimensional expansion enables accommodation of very large data structures that exceed physical RAM capacity, overcoming the limitations of traditional virtual memory approaches.
Data Source
AI summary
Techniques for allocating memory on non-volatile storage mediums, rather than on RAM storage mediums, are provided. In some embodiments, first functions in program code for allocating memory on RAM storage are replaced with corresponding second functions for allocating memory on non-volatile storage. Library files corresponding to the second functions may be stored in programming language libraries, such that the second function may be defined in order to allocate memory on non-volatile storage. In some embodiments, a library file for allocating memory on RAM storage may be modified such that it instead causes allocation of memory on non-volatile storage. Allocating memory, storing data in memory, or retrieving data in memory may, in some embodiments, include providing instructions for a processor to communicate via a bus associated with non-volatile storage rather than a bus associated with RAM storage.


