Persistent Memory Page Reservation During Aggregate Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data corruption and loss occur during transitions of aggregates between nodes in high availability node pairings due to potential mismatches in data versions when one node takes over and gives back control to another.

Innovation Solution

Implement a soft partitioning of persistent memory during aggregate transitions, reserving free pages in both nodes' remote partitions with updated metadata to ensure consistent allocation and avoid data corruption by maintaining identical free page reservations across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If one node takes over an aggregate from another node during failover, then high availability is maintained, but data corruption and loss may occur due to mismatches in data versions between nodes

Engineering Contradiction:
Improvehigh availabilityVSAvoiddata corruption
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary actions by allocating free pages from the remote partition before the aggregate transition occurs. This ensures that the receiving node has pre-prepared storage space with correct metadata, preventing data corruption during the failover process. The free page allocation happens in advance so that when the aggregate is transferred, no data version mismatches occur.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If free pages are allocated from remote partition during aggregate transition, then data consistency is maintained, but inter-node communication overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidbandwidth overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Free page allocation is performed as a preliminary action before the aggregate transition, allowing bulk allocation operations to be completed in advance. This reduces the communication overhead during the actual failover event, as the metadata updates are already in place rather than needing to be synchronized in real-time during the transition.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If metadata is updated to track free pages during transition, then allocation accuracy is improved, but device complexity increases

Engineering Contradiction:
Improveallocation accuracyVSAvoidmetadata management
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The metadata structure in the remote partition serves multiple functions: it tracks free pages for allocation, maintains data consistency information, and provides allocation accuracy verification. By making the metadata multi-functional, the system achieves high allocation accuracy without proportionally increasing complexity, as the same metadata structure supports multiple operational requirements.

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

Data Source

PatentUS20260010304A1Block allocation for persistent memory during aggregate transition
Publication Date: 2026.01.08 NETAPP INC
  • US20260010304A1 patent drawing
  • US20260010304A1 patent drawing
  • US20260010304A1 patent drawing

AI summary

Techniques are provided for block allocation for persistent memory during aggregate transition. In a high availability pair including first and second nodes, the first node makes a determination that control of a first aggregate is to transition from the first node to the second node. A portion of available free storage space is allocated from a first persistent memory of the first node as allocated pages within the first persistent memory. Metadata information for the allocated pages is updated with an identifier of the first aggregate to create updated metadata information reserving the allocated pages for the first aggregate. The updated metadata information is mirrored to the second node, so that the second node also reserves those pages. Control of the first aggregate is transitioned to the second node. As a result, the nodes do not attempt allocating the same free pages to different aggregates during a transition.