Ensuring Consistent Recovery under Power Failure with Minimal NVM Write Overhead

Min Jia,Edwin Hsing-Mean Sha,Qingfeng Zhuge,Rui Xu
DOI: https://doi.org/10.1016/j.sysarc.2024.103083
IF: 5.836
2024-01-01
Journal of Systems Architecture
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, shadowstack also significantly reduces energy and time consumption compared with log -based approach by up to 19.4x and 6.87x, Coach by up to 4.2x and 2.46x, and Clank by up to 3.4x and 2.26x respectively.
What problem does this paper attempt to address?