This work analyzes the stochastic behavior of writing to embedded flash memory at voltages lower than recommended by a microcontroller's specifications to reduce energy consumption. Flash memory integrated within a microcontroller typically requires the entire chip to operate 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 exploiting the electrically cumulative nature of half-written data in write-once bits. For a sensor monitoring application using the MSP430, coding with in-place writes reduces the overall energy consumption by 34%. In-place writes are competitive when the time spent on computation 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 embedded flash memory comes at a significant cost to energy consumption with minimal gain in reliability.
Chapter in , Ph.D. thesis, , In (), Tech report , , (), , . . .
- Non-Volatile Memory Workshop (NVMW 2012), University of California, San Diego
- SMASH: Smarter Flash Memory Storage in Low-Power Devices
- SMASH was one of the four finishers in the Executive Summary and Elevator Pitch stage of the UMass Amherst Innovation Challenge Competition (News).