
This work analyzes the stochastic behavior of writing to embedded flash memory at voltages lower than recom- mended by a microcontroller’s specifications to reduce energy consumption. Flash memory integrated within a microcontroller typically requires the entire chip to op- erate on common supply voltage almost double what the CPU portion requires. Our approach tolerates a lower supply voltage so that the CPU may operate in a more en- ergy efficient manner. Energy efficient coding algorithms then cope with flash memory that behaves unpredictably. Our software-only coding algorithms ( in-place writes , multiple-place writes , RS-Berger codes ) enable reliable storage at low voltages on unmodified hardware by ex- ploiting the electrically cumulative nature of half-written data in write-once bits. For a sensor monitoring applica- tion using the MSP430, coding with in-place writes re- duces the overall energy consumption by 34%. In-place writes are competitive when the time spent on computa- tion is at least four times greater than the time spent on writes to flash memory. Our evaluation shows that tightly maintaining the digital abstraction for storage in embed- ded flash memory comes at a significant cost to energy consumption with minimal gain in reliability.
Available at: http://works.bepress.com/erik_learned_miller/53/