Unified Write Filter for Persistent Memory State Recovery
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Loss of information
If the overlay stores all user changes, then change tracking is improved, but storage space consumption increases
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.
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.
4Speed
If the overlay is stored in RAM, then access speed is improved, but volatility and data loss on power failure increases
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.
Data Source
Figure 1A
Figure 1B
Figure 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.