Half-Wits: Software Techniques for Low-Voltage Probabilistic Storage on Microcontrollers with NOR Flash Memory Academic Article uri icon

abstract

  • This work analyzes the stochastic behavior of writing to embedded flash memory at voltages lower than recommended by a microcontrollers specifications in order to reduce energy consumption. Flash memory integrated within a microcontroller typically requires the entire chip to operate on a common supply voltage almost twice as much as what the CPU portion requires. Our software approach allows the flash memory to tolerate a lower supply voltage so that the CPU may operate in a more energy-efficient manner. Energy-efficient coding algorithms then cope with flash memory writes that behave unpredictably. Our software-only coding algorithms ( in-place writes, multiple-place writes, RS-Berger codes , and slow writes ) 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 low-voltage operations such as computation are 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. We find our techniques most effective for embedded workloads that have significant duty cycling, rare writes, or energy harvesting.

published proceedings

  • ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS

author list (cited authors)

  • Salajegheh, M., Wang, Y., Jiang, A. A., Learned-Miller, E., & Fu, K.

citation count

  • 7

complete list of authors

  • Salajegheh, Mastooreh||Wang, Yue||Jiang, Anxiao Andrew||Learned-Miller, Erik||Fu, Kevin

publication date

  • January 2013