Heterogeneous Memory Data Abstraction for Persistent Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current programming language environments do not effectively manage persistent memory in conjunction with other memory types, limiting the performance and power-off retention benefits of persistent memory in computing devices.
Innovation Solution
A data abstraction is created within a programming language environment that includes a set of memory resources and variables associated with these resources, allowing for the implementation of heterogeneous memory usage, including persistent memory, without requiring legacy preparation methods or rewriting applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If persistent memory is implemented in computing devices, then performance and power-off retention are improved, but programming language environments cannot effectively manage it
Solution Approach 1:
The patent introduces a data abstraction layer as an intermediary between the programming language environment and heterogeneous memory resources. This abstraction includes variables associated with memory resources, allowing programmers to access persistent memory through standard programming constructs without directly managing the complexity of heterogeneous memory types. The abstraction layer translates high-level variable operations into appropriate memory management operations.
Solution Approach 2:
The data abstraction is designed to work with multiple memory types (persistent memory, volatile memory, etc.) through a unified interface. The same abstraction layer and programming constructs can manage different memory types, making the system versatile and eliminating the need for separate management mechanisms for each memory type.
2Productivity
If heterogeneous memory management is implemented, then performance is improved, but legacy applications cannot use persistent memory
Solution Approach 1:
The data abstraction serves as a mediator that allows legacy applications to access persistent memory without modification. The abstraction layer handles the complexity of persistent memory management internally, presenting a familiar programming interface to legacy applications while enabling them to utilize the performance benefits of persistent memory through the associated variables mechanism.
3Quantity of substance
If persistent memory is used without data abstraction, then memory capacity is increased, but programming complexity increases
Solution Approach 1:
The patent extracts the complexity of persistent memory management from the programming model by introducing a data abstraction layer. The abstraction encapsulates the complex operations of managing persistent memory, handling persistence semantics, and coordinating with hardware, while exposing simple variable access operations to programmers. This separation allows programmers to benefit from increased memory capacity without dealing with the associated programming complexity.
Data Source
AI summary
A computer-implemented method according to one embodiment includes creating a data abstraction that includes a set of memory resources and variables associated with the memory resources; and implementing the data abstraction within a programming language environment.


