Computer Science > Distributed, Parallel, and Cluster Computing
[Submitted on 18 Jun 2024]
Title:Energy-aware Incremental OTA Update for Flash-based Batteryless IoT Devices
View PDF HTML (experimental)Abstract:Over-the-air (OTA) firmware updates are essential for updating and maintaining IoT devices, especially those batteryless devices reliant on energy harvesting power sources. Flash memory, favored for its low cost and high density, is extensively used for data storage in many IoT devices. However, due to its high energy demands for update operations, there is often insufficient energy for code updates. This paper proposes an incremental flash-based OTA update approach tailored for energy harvesting IoT devices, tackling the challenges brought by limited memory resources and fluctuating energy availability. Our approach is composed of three techniques: segmentbased update packet design, deferred flash segment writes, and checkpoint-free update resumption. Segment-based update packet design segments firmware updates into smaller packets, each tailored for specific memory segments, thereby minimizing unnecessary flash operations and conserving energy. Deferred flash segment writes accumulate packets in Static Random-Access Memory (SRAM) for collective processing, reducing the frequency of energy-intensive operations. Crucially, our checkpointfree update resumption ensures efficient recovery from power interruptions without significant energy cost on data backup. Through thorough experimental evaluation, we have observed that our approach significantly reduces the total energy consumed during OTA updates, and decreases the average total update time in energy harvesting environments.
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Connected Papers (What is Connected Papers?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
alphaXiv (What is alphaXiv?)
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Hugging Face (What is Huggingface?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.