Hybrid Checkpointed Memory for Cost-Performance Tradeoffs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The challenge lies in designing a memory system that balances the speed of volatile memory with the cost and persistence of non-volatile storage, as volatile memory is expensive per unit capacity and non-volatile storage offers lower prices at larger capacities, leading to design tradeoffs between speed and cost.
Innovation Solution
The implementation of hybrid checkpointed memory, which uses both volatile memory and non-volatile storage as virtual memory, allowing data to be checkpointed and accessed persistently, leveraging the speed of volatile memory and the cost-effectiveness of non-volatile storage by mapping multiple logical clones of data into virtual memory and merging changes before checkpointing them to non-volatile storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If volatile memory capacity is increased to improve speed and performance, then access time is reduced, but cost per unit capacity increases
Solution Approach 1:
The memory system is segmented into volatile memory portion and non-volatile memory portion, with the hybrid checkpointed memory further divided into clean portion and dirty portion. This segmentation allows the system to use fast volatile memory for active data while storing less frequently accessed data in cheaper non-volatile memory, resolving the contradiction between speed and cost.
Solution Approach 2:
The patent introduces a new dimension of persistence by implementing checkpointing mechanisms that create persistent copies of data in non-volatile memory. This adds a temporal dimension (persistence across restarts) to the traditional memory hierarchy, allowing the system to maintain speed through volatile memory while reducing cost through selective persistence in non-volatile memory.
2Quantity of substance
If non-volatile storage is used to increase capacity and reduce cost, then cost per unit capacity decreases, but access time increases
Solution Approach 1:
The system performs preliminary actions by checkpointing data to non-volatile memory before restart events occur. The checkpoint module proactively writes data to the non-volatile medium, so that when a restart occurs, the data is already available in persistent storage, eliminating the need for slow recovery operations and maintaining fast access patterns.
Solution Approach 2:
The hybrid checkpointed memory acts as an intermediary layer between volatile memory and non-volatile storage. It provides fast access to clean data stored in volatile memory while maintaining persistent copies in non-volatile memory, mediating between the speed requirements of applications and the cost/capacity advantages of non-volatile storage.
3Reliability
If data is checkpointed to non-volatile storage to enable persistence, then reliability across restart events is improved, but device complexity increases
Solution Approach 1:
The patent extracts the checkpointing functionality into a separate hybrid checkpointed memory module that operates independently from the main volatile memory system. This extraction allows the persistence mechanism to be added without fundamentally redesigning the existing memory architecture, reducing the complexity overhead by isolating the checkpointing logic to a dedicated component.
Solution Approach 2:
The system creates copies of data in the hybrid checkpointed memory rather than modifying the original volatile memory in place. By writing persistent copies to non-volatile storage, the system maintains reliability without requiring complex in-place update mechanisms, simplifying the overall device architecture.
Data Source
AI summary
Apparatuses, systems, methods, and computer program products are disclosed for hybrid checkpointed memory. A method includes referencing data of a range of virtual memory of a host. The referenced data is already stored by a non-volatile medium. A method includes writing, to a non-volatile medium, data of a range of virtual memory that is not stored by the non-volatile medium. A method includes providing access to data of a range of virtual memory from a non-volatile medium using a persistent identifier associated with referenced data and written data.


