NVRAM Allocation in Distributed Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-performance, non-volatile storage is a scarce and expensive resource, making it challenging to efficiently manage and allocate it among multiple clients in a distributed storage system without relying on excessive resource architecture.
Innovation Solution
Implementing efficient non-volatile RAM (NVRAM) allocation mechanisms that allow dynamic sharing and allocation of NVRAM space among clients, using a storage management module to track and manage writes, discards, and allocate resources based on client needs and priorities, ensuring optimal usage and load balancing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If more high-performance non-volatile storage is architected into the storage system, then better performance for multiple clients is achieved, but the cost and resource scarcity worsen
Solution Approach 1:
The patent combines multiple NVRAM resources from different storage nodes into a unified shared resource pool. The system merges the NVRAM capacities of multiple nodes and manages them collectively through a centralized allocation mechanism, allowing efficient utilization of aggregated NVRAM resources across the distributed system.
Solution Approach 2:
The patent creates a universal NVRAM management system that serves multiple clients and storage nodes through a single shared resource pool. The allocation mechanism provides multi-functional capabilities by dynamically serving different clients' needs from the same pooled resources, rather than dedicating separate NVRAM resources to each client.
2Adaptability or versatility
If NVRAM is allocated to multiple clients, then better resource utilization is achieved, but the complexity of managing allocation and tracking writes worsens
Solution Approach 1:
The patent introduces an intermediary allocation mechanism that mediates between multiple clients and the shared NVRAM resource pool. This intermediary layer handles all allocation decisions, tracking of client writes, and coordination of discard operations, simplifying the management complexity by centralizing control rather than distributing it across multiple nodes.
Solution Approach 2:
The system implements feedback mechanisms where the allocation mechanism continuously monitors NVRAM usage by each client, tracks write operations, and dynamically adjusts allocations based on current system state. This feedback loop enables adaptive resource management that responds to changing client needs while maintaining optimal utilization.
3Productivity
If dynamic allocation mechanisms are implemented, then efficient NVRAM sharing is achieved, but the overhead of tracking and managing writes increases
Solution Approach 1:
The patent implements preliminary action by pre-establishing the allocation framework and tracking structures before clients begin their operations. The system proactively manages write tracking and allocation decisions, rather than reacting to each write operation individually, thereby reducing the time overhead associated with dynamic allocation during actual client operations.
Data Source
AI summary
A data storage system has a plurality of hosts that request writes of data to a relatively high-performance storage device (RHPSD) such as NVRAM, which may be one of a plurality of RHPSDs in a plurality of storage nodes. A storage management system receives the write requests and writes received data to the RHPSD. According to an allocation policy, the storage management system indicates to at least one of the hosts that it should limit its use of RHPSD and it then discards data upon indication from that host to do so. Before being discarded from the RHPSD, the data may be written to a persistent storage device.
