Unified Write Filter for Persistent Memory State Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Embedded or dedicated computing devices used in public settings require a solution to maintain a known state across reboots, ensuring user changes are discarded and the device reverts to a predefined configuration, while also improving reliability and reducing wear on write-sensitive media.

Innovation Solution

Implementing a Unified Write Filter (UWF) that redirects write operations to an overlay area, allowing the device to persist changes and revert to a known good state upon reboot, with features like log management for rollback points and a free space pass-through mechanism to manage overlay capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the device is configured to discard all user changes upon reboot, then the device reliability and known state are maintained, but user productivity and data persistence are lost

Engineering Contradiction:
Improvedevice known stateVSAvoiduser changes
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The storage system is segmented into a protected volume containing the known good state and an overlay area for storing user changes. This segmentation allows the device to maintain the known state while separately tracking and managing user modifications, enabling selective persistence of changes upon reboot.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The overlay acts as an intermediary layer between user write operations and the protected volume. It captures and stores user changes temporarily, allowing the system to decide whether to persist these changes to the protected volume or discard them upon reboot, thus mediating between reliability requirements and data persistence needs.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Duration of action of stationary object

If write operations are redirected to an overlay area, then wear on solid-state drives is reduced, but device complexity increases

Engineering Contradiction:
ImproveSSD usable lifeVSAvoidwrite filter mechanism
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

Instead of directly writing to the protected volume, the system creates a copy of the volume structure (the overlay) where write operations are redirected. This copy mechanism reduces wear on the original SSD while maintaining functional equivalence, as the overlay mirrors the protected volume's structure and behavior.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The overlay area is designed to be discarded upon reboot, automatically resetting to its initial state. This discarding mechanism simplifies the system by eliminating the need for complex rollback procedures or manual recovery operations, as the overlay naturally recovers to a clean state without requiring additional management complexity.

Inventive Principle:
Principle #34Discarding and recovering

3Loss of information

If the overlay stores all user changes, then change tracking is improved, but storage space consumption increases

Engineering Contradiction:
Improvechange trackingVSAvoidstorage space
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The system extracts only the necessary change tracking information into the overlay area rather than storing complete copies of all data. By taking out only the delta changes and metadata needed for tracking, the system maintains effective change monitoring while minimizing storage space consumption in the overlay.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The overlay stores partial information about changes rather than complete data copies. It maintains sufficient tracking capability to identify and restore changes if needed, while using minimal storage space by storing only the essential change metadata and not full data replicas.

Inventive Principle:
Principle #16Partial or excessive action

4Speed

If the overlay is stored in RAM, then access speed is improved, but volatility and data loss on power failure increases

Engineering Contradiction:
Improveoverlay access speedVSAvoiddata persistence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements a layered storage architecture where the overlay can exist in different dimensions - volatile RAM for performance-critical operations and non-volatile storage for persistence. This dimensional flexibility allows the system to optimize for speed during operation while ensuring data persistence through the protected volume and recovery mechanisms.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP3769224B1Configurable recovery states
Publication Date: 2023.04.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3769224B1 patent drawingFigure 1A
  • EP3769224B1 patent drawingFigure 1B
  • EP3769224B1 patent drawingFigure 2

AI summary

In a first area of a persistent memory, data is stored that defines a known good state that is operable to launch the computing device to the known good state in response to a reboot. In response to a write request to the first area of persistent memory, the requested write is directed to a second area of the persistent memory and a record of redirected writes to the second area of persistent memory is updated. A request is received to establish an update to the known good state. The updated known good state is operable to launch the computing device to the updated known good state in response to a reboot. In response to the request, the record is persisted such that in response to a reboot, the record is usable to restore the redirected writes, thereby launching the computing device to the updated known good state.