Persistent Memory Partitioning for Workload Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems face challenges in efficiently configuring and managing non-volatile memory (NVM) within the CPU memory hierarchy, particularly due to limitations in existing NVM DIMMs that do not provide sufficient flexibility to match workload behavior and user requirements, leading to potential data loss and inefficiencies in power consumption.
Innovation Solution
The solution involves partitioning NVM DIMMs into volatile and persistent regions, using management partitions accessible via a dedicated interface, and employing a management software layer to dynamically configure and reconfigure NVM based on workload demands, ensuring data durability and optimizing power usage by leveraging attributes like UMA, NUMA, and mirroring states.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If NVM is used for persistent storage, then data durability is improved, but access speed deteriorates compared to volatile memory
Solution Approach 1:
The NVM DIMM is divided into multiple partitions, each with different configurations (volatile, persistent, mirrored, or interleaved). This segmentation allows the system to allocate specific partitions for fast access and others for durable storage, resolving the speed-reliability tradeoff by providing both characteristics in different segments of the same memory device.
Solution Approach 2:
The system dynamically reconfigures NVM partitions based on workload demands. Management software can change partition attributes (volatile/persistent, mirroring state, interleaving) in response to changing requirements, allowing the system to optimize for speed or durability as needed without being locked into a fixed configuration.
2Reliability
If NVM is configured for high durability with mirroring, then data reliability is improved, but power consumption increases
Solution Approach 1:
The mirroring state of NVM partitions is dynamically configurable. The system can switch between mirrored and non-mirrored states based on current durability requirements, allowing power consumption to be reduced when full mirroring is not needed while maintaining the capability to enable it when data durability is critical.
Solution Approach 2:
The system changes the durability parameter of NVM partitions by adjusting mirroring configurations. Partitions can be set to different mirroring states (no mirror, single mirror, dual mirror) depending on the required level of data protection, allowing flexible control over the relationship between reliability and power consumption.
3Adaptability or versatility
If NVM is partitioned into multiple regions with different attributes, then adaptability to workload demands is improved, but device complexity increases
Solution Approach 1:
Management software acts as an intermediary between the user and the complex NVM partitioning system. This software layer handles the complexity of configuring and reconfiguring multiple partitions with different attributes, presenting a simplified interface to users while managing the underlying complexity of partition management, attribute configuration, and dynamic reconfiguration.
4Device complexity
If existing NVM DIMMs are used without partitioning, then device simplicity is maintained, but ability to match workload behavior deteriorates
Solution Approach 1:
The NVM DIMM is segmented into multiple configurable partitions, each optimized for specific workload characteristics. This segmentation enables the system to match different workload behaviors (sequential access, random access, durability requirements) with appropriate partition configurations while maintaining a unified memory device architecture.
Solution Approach 2:
The partitioned NVM system provides multi-functionality by supporting various access modes (volatile, persistent, mirrored, interleaved) within the same physical device. This universality allows a single NVM DIMM to serve multiple workload types and performance requirements, replacing the need for multiple specialized storage devices.
Data Source
AI summary
Methods and apparatus to allocating and/or configuring persistent memory are described. In an embodiment, memory controller logic configures non-volatile memory into a plurality of partitions at least in part based on one or more attributes. One or more volumes (visible to an application or operating system) are formed from one or more of the plurality of partitions. Each of the one or more volumes includes one or more of the plurality of partitions having at least one similar attribute from the one or more attributes. In another embodiment, memory controller logic configures a Non-Volatile Memory (NVM) Dual Inline Memory Module (DIMM) into a persistent region and a volatile region. Other embodiments are also disclosed and claimed.


