Three-Tiered Memory System Address Mapping for Cost Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems face challenges in efficiently provisioning memory resources due to the high cost and deterministic behavior of volatile memory, leading to limitations in scaling memory resources in multi-user networks, where non-volatile memory's non-deterministic behavior and higher capacity are underutilized.
Innovation Solution
A three-tiered hierarchical memory system that leverages persistent memory to store data, using hardware circuitry to intercept requests and map addresses between volatile and non-volatile memory resources, allowing non-volatile memory to serve as main memory while maintaining deterministic data retrieval through intermediate buffering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If volatile memory is used to provision memory resources, then deterministic data access is achieved, but cost increases and memory scaling is limited
Solution Approach 1:
The memory system is segmented into multiple tiers: volatile memory (first non-persistent memory) for frequently accessed data requiring deterministic access, and non-volatile memory (persistent memory) for less frequently accessed data. This segmentation allows each tier to optimize for its specific function, reducing overall system cost while maintaining performance for critical operations.
Solution Approach 2:
A memory management component with address translation logic acts as an intermediary between the host and the hierarchical memory structure. It translates virtual addresses to physical addresses across different memory tiers, managing data movement between volatile and non-volatile memory, and presenting a unified deterministic interface to the host while utilizing cost-effective non-volatile storage.
2Quantity of substance
If non-volatile memory is used to increase memory capacity, then cost decreases and capacity increases, but deterministic data access behavior is lost
Solution Approach 1:
The system dynamically manages data placement and movement between memory tiers based on access patterns. The memory management component monitors usage and automatically transfers data between volatile and non-volatile memory, allowing non-volatile memory to provide large capacity while maintaining deterministic access characteristics for actively used data through automated tiering.
Solution Approach 2:
The memory management component continuously monitors data access patterns and maintains data in the appropriate memory tier. By keeping frequently accessed data in volatile memory and less frequently accessed data in non-volatile memory, the system ensures continuous deterministic access for critical operations while utilizing non-volatile memory's large capacity for archival storage.
3Productivity
If volatile memory resources are increased to improve performance, then deterministic access is maintained, but cost increases
Solution Approach 1:
Different regions of the memory system are assigned different qualities: volatile memory provides high-speed deterministic access for local, frequently accessed data, while non-volatile memory provides large-capacity storage for less frequently accessed data. This local quality differentiation allows the system to achieve high performance for critical operations without proportionally increasing overall cost.
Data Source
AI summary
Systems, apparatuses, and methods related to three tiered hierarchical memory systems are described herein. A three tiered hierarchical memory system can leverage persistent memory to store data that is generally stored in a non-persistent memory, thereby increasing an amount of storage space allocated to a computing system at a lower cost than approaches that rely solely on non-persistent memory. An example apparatus may include a persistent memory, and one or more non-persistent memories configured to map an address associated with an input/output (I/O) device to an address in logic circuitry prior to the apparatus receiving a request from the I/O device to access data stored in the persistent memory, and map the address associated with the I/O device to an address in a non-persistent memory subsequent to the apparatus receiving the request and accessing the data.


