Hardware Bit-Vector for Energy-Harvesting Memory Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Battery-less energy-harvesting sensors face inefficiencies due to frequent power failures, which disrupt program states and require effective memory consistency to restore processing integrity.
Innovation Solution
Implementing hardware bit-vector schemes that combine compiler analysis with a hardware bit-vector stored in volatile memory to reduce write operations to non-volatile memory, enabling efficient undo-logging and filtering of writes to persistent memory, thereby maintaining program state consistency across checkpoints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If traditional logging schemes are used to restore program states after power failures, then memory consistency is maintained, but energy efficiency deteriorates due to excessive write operations to non-volatile memory
Solution Approach 1:
The logging system is segmented into two parts: a hardware bit-vector stored in volatile memory for tracking write operations, and selective logging to non-volatile memory only when necessary. This segmentation allows the system to maintain reliability through the bit-vector while reducing energy consumption by minimizing writes to non-volatile memory.
Solution Approach 2:
The hardware bit-vector is pre-configured with compiler analysis to identify which memory locations require logging. This preliminary action enables the system to quickly determine which writes need to be logged without performing exhaustive checks, thereby reducing energy consumption while maintaining memory consistency.
2Reliability
If frequent writes are performed to non-volatile memory to ensure program state consistency, then reliability is improved, but productivity deteriorates due to the time-consuming nature of write operations
Solution Approach 1:
The hardware bit-vector acts as an intermediary between the processor and non-volatile memory. It tracks which memory locations have been written and enables selective logging, serving as a mediator that reduces the frequency of writes to non-volatile memory while ensuring program state consistency is maintained.
Solution Approach 2:
The system changes the parameter of logging frequency by using the hardware bit-vector to identify only those writes that require persistent storage. This parameter change from frequent logging to selective logging improves productivity while maintaining the reliability needed for program state consistency.
3Reliability
If comprehensive logging of all write operations is implemented, then memory consistency is ensured, but device complexity increases due to the overhead of tracking and managing log entries
Solution Approach 1:
The hardware bit-vector automatically tracks write operations to memory locations identified by compiler analysis. This self-service mechanism eliminates the need for software to manually track and manage log entries, reducing device complexity while ensuring memory consistency through automatic logging of relevant writes.
Solution Approach 2:
The patent replaces the mechanical/software-based logging tracking system with a hardware-based bit-vector mechanism. This substitution reduces the overhead of tracking and managing log entries by using dedicated hardware circuitry, thereby reducing device complexity while maintaining reliable memory consistency.
Data Source
AI summary
Various implementations described herein are related to a device having energy harvesting circuitry that experiences power failures. The device may include computing circuitry having a processor coupled to the energy harvesting circuitry. The processor may be configured to reduce a number of write operations to a log structure having a hardware bit-vector used by the computing circuitry to boost computational progress even with the power failures.


