Unified Write Filter for Persistent Memory State Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing devices in public settings, such as kiosks and shared PCs, lack the ability to revert to a known state after user modifications, leading to instability and wear on storage media.

Innovation Solution

Implementing a Unified Write Filter (UWF) that redirects writes to a virtual overlay, allowing the device to discard changes upon reboot, thereby maintaining a known good state and reducing wear on storage media.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a write filter is implemented to redirect writes to an overlay, then the device can revert to a known good state upon reboot, but the overlay may fill up with redirected writes causing performance degradation

Engineering Contradiction:
Improveability to revert to known good stateVSAvoidperformance degradation when overlay fills
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating the treatment of different disk blocks based on their allocation status. Instead of uniformly redirecting all writes to the overlay, the system redirects only writes to allocated blocks while allowing free blocks to be written directly to the protected volume. This selective approach reduces overlay occupancy and prevents performance degradation while maintaining the ability to revert to the known good state.

Inventive Principle:
Principle #3Local quality

2Reliability

If all writes are redirected to the overlay, then the protected volume remains unchanged upon reboot, but storage space is wasted and wear is increased

Engineering Contradiction:
Improveprotection of known good stateVSAvoidstorage space waste and wear
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The system implements local quality by selectively redirecting writes based on block allocation status. Writes to free blocks are allowed to go directly to the protected volume without overlay redirection, while only writes to allocated blocks are redirected to the overlay. This differentiation eliminates unnecessary overlay writes and reduces storage space consumption while maintaining protection of the known good state.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent converts the potential harm of free blocks being overwritten into a benefit by allowing such writes to proceed directly to the protected volume. This approach utilizes the free space in the protected volume efficiently, reducing the need for overlay redirection and minimizing wear on the overlay storage medium.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

3Reliability

If the overlay is stored in RAM, then changes are lost upon reboot, but if stored in persistent memory, then changes persist requiring manual rollback

Engineering Contradiction:
Improvereversion to known good stateVSAvoidmanual rollback requirement
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements self-service by automatically detecting and redirecting writes to the overlay, which is then automatically discarded upon reboot to restore the known good state. This automatic behavior eliminates the need for manual rollback operations, as the system handles the state restoration autonomously through the write filter mechanism.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3769225B1Free space pass-through
Publication Date: 2023.06.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3769225B1 patent drawingFigure 1A
  • EP3769225B1 patent drawingFigure 1B
  • EP3769225B1 patent drawingFigure 2

AI summary

In a first area of a persistent memory, state data is stored that defines a known good state that is operable to launch a computing device to the known good state in response to a reboot. Allocation information indicative of free and allocated portions of the persistent memory is accessed. In response to a write request to the first area of persistent memory, when the write request is to an allocated portion of the persistent memory, the requested write is redirected to a second area of the persistent memory. A record of redirected writes to the second area of persistent memory is updated. When the write request is to a free portion of the persistent memory, the write request is allowed to be executed in the first area of persistent memory. The record of redirected writes is updated with the writes to the second area of persistent memory.