NVRAM Allocation in Distributed Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestorage performanceVSAvoidNVRAM resource availability
Core Design Contradiction:
ProductivityVSQuantity of substance

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidallocation management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #23Feedback

3Productivity

If dynamic allocation mechanisms are implemented, then efficient NVRAM sharing is achieved, but the overhead of tracking and managing writes increases

Engineering Contradiction:
ImproveNVRAM utilization efficiencyVSAvoidmanagement overhead time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10359945B2System and method for managing a non-volatile storage resource as a shared resource in a distributed system
Publication Date: 2019.07.23 VMWARE INC
  • US10359945B2 patent drawing

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.