Ownership-based Virtual Memory for Intermittently-Powered Embedded Systems

📅 2025-01-29
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Batteryless, energy-harvesting IoT devices suffer from high persistent-state overhead and weak data security under intermittent power supply. Method: This paper proposes vNV-Heap—the first virtual non-volatile heap that simultaneously ensures power-failure resilience and memory-safety guarantees for non-volatile memory—by integrating Rust’s ownership model into virtual memory design. Its core innovation is compile-time, fine-grained mutation tracking and object-level persistent virtualization, enabled by static ownership analysis and power-failure-resilient memory management. Contribution/Results: Implemented on the ESP32-C3 platform, vNV-Heap significantly reduces persistence energy consumption compared to state-of-the-art approaches. It provides statically verifiable worst-case energy upper bounds and end-to-end memory safety—guaranteed at compile time—thereby enabling efficient, secure, and predictable execution for intermittently powered systems.

Technology Category

Application Category

📝 Abstract
The Battery-Free Internet of Things might revolutionize our understanding of connected devices, which harvest their operational energy from the environment (e.g., using solar cells). These systems come with the major system-software challenge that the intermittently-powered IoT devices have to checkpoint their state in non-volatile memory to later resume operation with this state when sufficient energy is available. The scarce energy resources demand that only modified data is persisted to non-volatile memory before a power failure, which requires precise modification-tracking. In this paper, we present the first virtually Non-Volatile Heap (vNV-Heap) abstraction for intermittently-powered systems with guaranteed power-failure resilience and non-volatile memory safety (analogous to memory-safety for RAM). The heap exploits ownership systems, a zero-cost (i.e., compile-time) abstraction for example implemented by Rust, to track modifications and virtualize object-persistence. To achieve power-failure resilience, our heap is designed and implemented to guarantee bounded operations by static program code analysis: As an example, the heap allows for determining a worst-case energy consumption for the operation of persisting modified and currently volatile objects. Our evaluations with our open-source implementation on an embedded hardware platform (i.e., ESP32-C3) shows that using our heap abstraction is more energy-efficient than existing approaches, while also providing runtime guarantees by static worst-case analysis bounds.
Problem

Research questions and friction points this paper is trying to address.

Intermittent Power Supply
Data Preservation
Energy Efficiency
Innovation

Methods, ideas, or system contributions that make the work stand out.

Substantially Non-Volatile Heap
Rust Language
Energy-Efficient Data Persistence
M
Markus Elias Gerber
Friedrich-Alexander University Erlangen-Nürnberg (FAU), Germany
Luis Gerhorst
Luis Gerhorst
Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)
I
Ishwar Mudraje
Universität des Saarlandes (UdS), Germany
K
Kai Vogelgesang
Universität des Saarlandes (UdS), Germany
Thorsten Herfet
Thorsten Herfet
Professor for Telecommunications, Saarland Informatics Campus, Saarland University
Visual ComputingCyber-Physical NetworkingLow-Latency IP-Media-Streaming
P
Peter Wagemann
Friedrich-Alexander University Erlangen-Nürnberg (FAU), Germany