Avoiding Data Inconsistency in Energy Harvesting Powered Embedded Systems

Energy harvesting is becoming a favorable alternative to power future generation embedded systems, as it is more environmentally and user friendly. However, energy harvesting powered embedded systems suffer from frequent execution interruption due to unstable energy supply. To tackle this problem, nonvolatile memory has been deployed to save the whole volatile state for computation. When power resumes, the processor can restore the state back to volatile memories and continue execution. However, without careful consideration, the process of checkpointing and resuming could cause inconsistency between volatile and nonvolatile memories, which leads to irreversible errors. In this article, we propose a consistency-aware adaptive checkpointing scheme that ensures correctness for all checkpoints. The proposed technique efficiently identifies all possible inconsistency positions in programs and inserts auxiliary code to ensure correctness by offline analysis. In addition, adaptive checkpointing assisted register file profiling and online tracking techniques further reduce the overhead of each checkpoint. Evaluation results show that the proposed checkpointing strategy can successfully eliminate inconsistency errors and greatly reduce the checkpointing overhead.

[1]  Somayeh Sardashti,et al.  The gem5 simulator , 2011, CARN.

[2]  Kevin Fu,et al.  Getting Things Done on Computational RFIDs with Energy-Aware Checkpointing and Voltage-Aware Scheduling , 2008, HotPower.

[3]  Farinaz Koushanfar,et al.  Automated checkpointing for enabling intensive applications on energy harvesting devices , 2013, International Symposium on Low Power Electronics and Design (ISLPED).

[4]  David E. Culler,et al.  Design, Modeling, and Capacity Planning for Micro-solar Power Sensor Networks , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

[5]  Jingtong Hu,et al.  Fixing the broken time machine: Consistency-aware checkpointing for energy harvesting powered non-volatile processor , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[6]  Joseph A. Paradiso,et al.  Energy Scavenging with Shoe-Mounted Piezoelectrics , 2001, IEEE Micro.

[7]  Meng-Fan Chang,et al.  Ambient energy harvesting nonvolatile processors: From circuit to system , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[8]  Purushottam Kulkarni,et al.  Energy Harvesting Sensor Nodes: Survey and Implications , 2011, IEEE Communications Surveys & Tutorials.

[9]  Jingtong Hu,et al.  Software assisted non-volatile register reduction for energy harvesting based cyber-physical system , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[10]  Yiran Chen,et al.  Checkpoint-aware instruction scheduling for nonvolatile processor with multiple functional units , 2015, The 20th Asia and South Pacific Design Automation Conference.

[11]  Brandon Lucia,et al.  A simpler, safer programming and execution model for intermittent systems , 2015, PLDI.

[12]  Brandon Lucia,et al.  Nonvolatile memory is a broken time machine , 2014, MSPC@PLDI.

[13]  Kevin Fu,et al.  Mementos: system support for long-running computation on RFID-scale devices , 2011, ASPLOS XVI.

[14]  Luca Benini,et al.  Hibernus++: A Self-Calibrating and Adaptive System for Transiently-Powered Embedded Devices , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  Marcus Herzog,et al.  An 82μA/MHz microcontroller with embedded FeRAM for energy-harvesting applications , 2011, 2011 IEEE International Solid-State Circuits Conference.

[16]  Rong Luo,et al.  Storage-less and converter-less maximum power point tracking of photovoltaic cells for a nonvolatile microprocessor , 2014, 2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC).

[17]  Richard M. Karp,et al.  Reducibility Among Combinatorial Problems , 1972, 50 Years of Integer Programming.

[18]  Luca Benini,et al.  Hibernus: Sustaining Computation During Intermittent Supply for Energy-Harvesting Systems , 2015, IEEE Embedded Systems Letters.

[19]  Mani B. Srivastava,et al.  Power management in energy harvesting sensor networks , 2007, TECS.

[20]  Shinji Kawai,et al.  An 8kB EEPROM-Emulation DataFLASH Module for Automotive MCU , 2008, 2008 IEEE International Solid-State Circuits Conference - Digest of Technical Papers.

[21]  Arnab Raha,et al.  QUICKRECALL: A Low Overhead HW/SW Approach for Enabling Computations across Power Cycles in Transiently Powered Computers , 2014, 2014 27th International Conference on VLSI Design and 2014 13th International Conference on Embedded Systems.

[22]  Vladimir Leonov,et al.  Thermoelectric Energy Harvesting of Human Body Heat for Wearable Sensors , 2013, IEEE Sensors Journal.

[23]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[24]  Tohru Ozaki,et al.  A 1.6 GB/s DDR2 128 Mb Chain FeRAM With Scalable Octal Bitline and Sensing Schemes , 2010, IEEE Journal of Solid-State Circuits.

[25]  Joseph A. Paradiso,et al.  A Compact, Wireless, Self-Powered Pushbutton Controller , 2001, UbiComp.