Battery-Backed Memory Aperture Flush Order for Data Preservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, especially in networked multi-node environments like clouds running virtual machines, there is a risk of losing critical data due to power loss or reboot, and existing solutions either compromise data integrity or are cost-prohibitive, such as relying on battery-backed memory which may fail or require costly redundancy.

Innovation Solution

A data preservation subsystem with a battery-backed memory aperture that prioritizes critical data by flushing it ahead of non-critical data based on a defined flush order, reducing the need for redundant copies and optimizing memory allocation according to battery characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If battery-backed memory is used to preserve critical data during power loss, then data integrity is improved, but system cost increases and reliability of the battery itself becomes a concern

Engineering Contradiction:
Improvedata integrityVSAvoidsystem cost
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-positioning critical data in the aperture region of battery-backed memory before power loss occurs. The system identifies and prioritizes critical data, allocating it to specific memory regions that will be flushed first, ensuring data integrity without requiring costly redundant battery capacity or complex error correction mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments memory into distinct regions: aperture memory (protected by battery), non-aperture memory, and further divides aperture memory into critical and non-critical data regions. This segmentation allows the system to protect only essential data with the battery, reducing the required battery capacity and system cost while maintaining data integrity for critical information.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all data is flushed to non-volatile storage during power loss events, then data integrity is improved, but flushing time increases and critical data may not be preserved due to battery capacity limitations

Engineering Contradiction:
Improvedata integrityVSAvoidflushing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary identification and prioritization of critical data, pre-positioning it in the aperture region before power loss occurs. This ensures that when flushing is triggered, critical data is already in the optimal location for immediate preservation, eliminating time-consuming identification and relocation operations during the actual flush event.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial action by flushing only the necessary portion of data (critical data in the aperture region) rather than all data in memory. The battery-backed aperture is sized and positioned to contain only the minimum critical data that requires protection, allowing the flush operation to complete quickly within battery capacity and time constraints while still preserving essential information.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If memory allocation is performed without considering flush order, then memory management simplicity is maintained, but critical data preservation during power loss cannot be guaranteed

Engineering Contradiction:
Improvememory management simplicityVSAvoidcritical data preservation
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies local quality by implementing different allocation strategies for different memory regions. The aperture region uses priority-based allocation that considers data criticality and flush order, while non-aperture memory uses standard allocation. This localized differentiation ensures critical data preservation in the aperture region without complicating overall memory management, as the complex allocation logic is confined to a specific memory segment.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements self-service by automatically identifying critical data and allocating it to appropriate regions in the aperture based on predefined priorities. The memory allocation process autonomously considers flush order and data criticality without requiring manual intervention or complex external control, maintaining operational simplicity while ensuring reliable critical data preservation.

Inventive Principle:
Principle #25Self-service

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach enhances the likelihood of preserving critical data integrity by prioritizing its flushing and reduces reliance on redundant copies, balancing cost and service level agreements while ensuring data availability.

Implementation Method 1

A data preservation subsystem with a battery-backed memory aperture that prioritizes critical data by flushing it ahead of non-critical data based on a defined flush order

Methodology Applied
Scientific EffectBattery-backed memory flush order mechanism:

Data Source

PatentEP4018319B1Data preservation using memory aperture flush order
Publication Date: 2023.05.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4018319B1 patent drawingFigure 1~3
  • EP4018319B1 patent drawingFigure 4~7
  • EP4018319B1 patent drawingFigure 8

AI summary

Combined operational steps and device characteristics help preserve data against integrity threats. Data is divided into critical data and non-critical data, based on criteria such as customer requirements, workload criticality, or virtual machine criticality. Data may be generated in a compute node for storage in a storage node, for example. Critical data is stored in a battery-backed memory aperture at physical addresses where it will be flushed ahead of the non-critical data due to a flush order imposed by or on the battery-backed memory, e.g., a bottom-up NVDIMM flush order. Redundant copies of the data (especially non-critical data) may also be kept in case it does not get flushed in time. Battery-backed memory apertures are sized and located according to their battery's characteristics, and may be relocated or resized as conditions change. Flush defragging is performed to optimize use of the aperture, especially within the portion that holds critical data.