qNVRAM Driver for Mobile Data Persistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing mobile computing devices face performance degradation and increased wear on non-volatile memory due to the overhead of journaling and double-writing techniques used for data persistency, which also lead to unnecessary data writes and energy consumption.

Innovation Solution

Implementing quasi non-volatile RAM (qNVRAM) using libraries and drivers to manage volatile memory, allowing data to be persisted without additional hardware, by remapping or flushing data to non-volatile memory during specific events like application crashes or reboots, thus reducing write operations and enhancing energy efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If journaling and double-writing techniques are used to ensure data persistency, then data consistency and integrity are maintained, but I/O performance degrades and non-volatile memory wear increases

Engineering Contradiction:
Improvedata consistencyVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by detecting failure modes (crashes, reboots, power loss) before data loss occurs, and proactively remaps or flushes volatile memory to non-volatile memory in advance, rather than reacting after data loss happens

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer (driver and library) between the application and the storage system that manages volatile memory persistency. This intermediary detects failure modes and coordinates remapping or flushing operations, acting as a mediator that resolves the conflict between speed and reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If journaling and double-writing are employed for atomicity and durability, then data integrity is ensured, but energy consumption increases due to unnecessary writes

Engineering Contradiction:
Improvedata integrityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Instead of always performing full journaling or double-writing operations, the system applies partial actions by selectively remapping or flushing only the necessary volatile memory portions based on detected failure modes, avoiding excessive writes and reducing energy consumption

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If traditional persistency methods are used, then data is preserved across failures, but the lifetime of non-volatile memory is shortened due to increased write operations

Engineering Contradiction:
Improvedata persistencyVSAvoidmemory lifetime
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The system performs preliminary failure mode detection and proactively remaps or flushes volatile memory before actual data loss occurs, reducing the frequency and urgency of writes to non-volatile memory, thereby extending its operational lifetime while maintaining data persistency

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10275164B2Enforcing persistency for battery-backed mobile devices
Publication Date: 2019.04.30 NUTECH VENTURES LTD
  • US10275164B2 patent drawing
  • US10275164B2 patent drawing
  • US10275164B2 patent drawing

AI summary

In one implementation, a computer-implemented method can include receiving, at a driver running on a mobile computing device with a local power source, a command from an application for an allocation of volatile memory; allocating, by the driver, memory from a pool of volatile memory for the application; storing data in the allocated memory; detecting, by the driver, that a particular situation currently exists on the mobile computing device that will cause the data to be lost; and performing, by the driver, an operation with regard to the memory and the data that will cause the data to be preserved following a conclusion of the particular situation.