Ensuring consistent recovery under power failure with minimal NVM write overhead

Min Jia, Edwin Hsing Mean Sha, Qingfeng Zhuge*, Rui Xu

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

Intermittent embedded devices and systems are widely used in various scenarios, but they often experience power failures due to unstable power supplies. Non-volatile memory (NVM) is gaining popularity in embedded systems due to its byte-addressability, low access latency, and high density. As a result, backups can be stored in NVM, and global data are directly manipulated in NVM in this architecture. However, NVM has limited write endurance and modifications to global data frequently occur which results in a significant number of writes. As a result, the extensive NVM accesses may lead to poor performance for intermittent programs. This paper presents an energy-efficient approach, called shadow-stack to minimize NVM write overhead while ensuring consistency. Furthermore, we propose a series of principles to assist programmers in rewriting the programs. And we prove the correctness of these principles using formal methods. Experimental results demonstrate that shadow-stack achieves an approximately 95.1%, 81.3%, and 76.6% improvement in NVM writes overhead compared with log-based, Coach, and Clank, respectively on average. Simultaneously, shadow-stack also significantly reduces energy and time consumption compared with log-based approach by up to 19.4× and 6.87×, Coach by up to 4.2× and 2.46×, and Clank by up to 3.4× and 2.26× respectively.

Original languageEnglish
Article number103083
JournalJournal of Systems Architecture
Volume148
DOIs
StatePublished - Mar 2024

Keywords

  • Consistent recovery
  • Energy efficiency
  • Intermittent computing
  • Non-Volatile Memory (NVM)
  • Write endurance

Fingerprint

Dive into the research topics of 'Ensuring consistent recovery under power failure with minimal NVM write overhead'. Together they form a unique fingerprint.

Cite this