Abstract
This work analyzes the stochastic behavior of writing to embedded flash memory at voltages lower than recommended by a microcontroller’s 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.
- Agrawal, D., Li, B., Cao, Z., Ganesan, D., Diao, Y., and Shenoy, P. 2010. Exploiting the interplay between memory and flash storage in embedded sensor devices. In Proceedings of the 16th IEEE Conference on Embedded and Real-time Computing Systems (RTCSA). 227--236. Google Scholar
Digital Library
- Akyildiz, I. F., Su, W., Sankarasubramaniam, Y., and Cayirci, E. 2002. Wireless sensor networks: A survey. Comput. Netw. 38, 4, 393--422. Google Scholar
Digital Library
- Barg, A. and Mazumdar, A. 2010. Codes in permutations and error correction for rank modulation. IEEE Trans. Inform. Theory 56, 7, 3158--3165. Google Scholar
Digital Library
- Berger, J. 1961. A note on error detection codes for asymmetric channels. Inform. Control 4, 1, 68--73.Google Scholar
Cross Ref
- Blaauw, D. and Das, S. 2009. CPU, heal thyself. IEEE Spectrum 46, 8, 40--56. Google Scholar
Digital Library
- Buettner, M., Greenstein, B., Sample, A., Smith, J. R., and Wetherall, D. 2008. Revisiting smart dust with RFID sensor networks. In Proceedings of the 7th ACM Workshop on Hot Topics in Networks (HotNets-VII).Google Scholar
- Buettner, M., Greenstein, B., and Wetherall, D. 2011. Dewdrop: An energy-aware task scheduler for computational RFID. In Proceedings of the 8th USENIX Symposium on Networked Systems Design and Implementation (NSDI’11). Google Scholar
Digital Library
- Chae, H.-J., Yeager, D. J., Smith, J. R., and Fu, K. 2007. Maximalist cryptography and computation on the WISP UHF RFID tag. In Proceedings of the Conference on RFID Security.Google Scholar
- Chen, B., Zhang, X., and Wang, Z. 2008. Error correction for multi-level NAND flash memory using Reed-Solomon codes. In Proceedings of the IEEE Workshop on Signal Processing Systems (SiPS 2008). 94--99.Google Scholar
- Chen, S. 2007. What types of ECC should be used on flash memory? http://www.spansion.com/Support/AppNotes/Types_of_ECC_Used_on_Flash_AN_01_e.pdf.Google Scholar
- Cheng, W. H. 2008. Approaches and designs of dynamic voltage and frequency scaling. M.S. thesis, University of California, Davis, CA. http://www.ece.ucdavis.edu/vcl/pubs/theses/2008-1.Google Scholar
- Fujino, M. and Moshnyaga, V. 2002. An efficient Hamming distance comparator for low-power applications. In Proceedings of the 9th International Conference on Electronics, Circuits and Systems. Vol. 2. 641--644.Google Scholar
- Godard, B., Daga, J.-M., Torres, L., and Sassatelli, G. 2008. Hierarchical code correction and reliability management in embedded NOR flash memories. In Proceedings of the 13th European Test Symposium. 84--90. Google Scholar
Digital Library
- Goldberger, A. L., Amaral, L. A. N., Glass, L., Hausdorff, J. M., Ivanov, P. C., Mark, R. G., Mietus, J. E., Moody, G. B., Peng, C.-K., and Stanley, H. E. 2000. PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals. Circulation 101, 23, e215--e220. Circulation Electronic Pages: http://circ.ahajournals.org/cgi/content/full/101/23/e215.Google Scholar
- Gregori, S., Cabrini, A., Khouri, O., and Torelli, G. 2003. On-chip error correcting techniques for new-generation flash memories. Proc. IEEE 91, 4, 602--616.Google Scholar
Cross Ref
- Gummeson, J., Clark, S. S., Fu, K., and Ganesan, D. 2010. On the limits of effective micro-energy harvesting on mobile CRFID sensors. In Proceedings of the 8th Annual ACM/USENIX International Conference on Mobile Systems, Applications, and Services (MobiSys’10). Google Scholar
Digital Library
- Jiang, A., Mateescu, R., Schwartz, M., and Bruck, J. 2008. Rank modulation for flash memories. In Proceedings of the IEEE International Symposium on Information Theory (ISIT). 1731--1735.Google Scholar
- Jiang, A., Schwartz, M., and Bruck, J. 2010. Correcting charge-constrained errors in the rank-modulation scheme. IEEE Trans. Inform. Theory 56, 5, 2112--2120. Google Scholar
Digital Library
- Kahn, J. M., Katz, R. H., and Pister, K. S. J. 1999. Next century challenges: Mobile networking for “Smart Dust”. In Proceedings of the 5th Annual ACM/IEEE International Conference on Mobile Computing and Networking (MobiCom). 271--278. Google Scholar
Digital Library
- Kansal, A., Hsu, J., Zahedi, S., and Srivastava, M. B. 2007. Power management in energy harvesting sensor networks. ACM Trans. Embed. Comput. Syst. 6. Google Scholar
Digital Library
- Karlof, C., Sastry, N., and Wagner, D. 2004. TinySec: A link layer security architecture for wireless sensor networks. In Proceedings of the 2nd ACM Conference on Embedded Networked Sensor Systems (SenSys). Google Scholar
Digital Library
- Klove, T. 1995. Error correcting codes for the asymmetric channel. Tech. rep., Informatics, University of Bergen.Google Scholar
- Lin, K., Hsu, J., Zahedi, S., Lee, D. C., Friedman, J., Kansal, A., Raghunathan, V., and Srivastava, M. B. 2005. Heliomote: Enabling long-lived sensor networks through solar energy harvesting. In Proceedings of ACM Sensys. Google Scholar
Digital Library
- Liu, S., Pattabiraman, K., Moscibroda, T., and Zorn, B. G. 2011. Flikker: Saving dram refresh-power through critical data partitioning. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Google Scholar
Digital Library
- Lo, B. P. L., Thiemjarus, S., King, R., and Zhong Yang, G. 2005. Body sensor network - a wireless sensor platform for pervasive healthcare monitoring. In Adjunct Proceedings of the 3rd International Conference on Pervasive Computing (PERVASIVE). 77--80.Google Scholar
- Mainwaring, A., Culler, D., Polastre, J., Szewczyk, R., and Anderson, J. 2002. Wireless sensor networks for habitat monitoring. In Proceedings of the 1st ACM International Workshop on Wireless Sensor Networks and Applications. 88--97. Google Scholar
Digital Library
- Malan, D., Fulford-jones, T., Welsh, M., and Moulton, S. 2004. Codeblue: An ad hoc sensor network infrastructure for emergency medical care. In Proceedings of the International Workshop on Wearable and Implantable Body Sensor Networks.Google Scholar
- Mathur, G., Desnoyers, P., Ganesan, D., and Shenoy, P. 2006. Ultra-low power data storage for sensor networks. In Proceedings of the 5th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN). 374--381. Google Scholar
Digital Library
- Meninger, S., Mur-Miranda, J. O., Amirtharajah, R., Chandrakasan, A., and Lang, J. H. 2001. Vibration-to-electric energy conversion. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 9, 1, 64--76. Google Scholar
Digital Library
- Misailovic, S., Sidiroglou, S., Hoffmann, H., and Rinard, M. 2010. Quality of service profiling. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (ICSE). 25--34. Google Scholar
Digital Library
- Papirla, V. and Chakrabarti, C. 2009. Energy-aware error control coding for flash memories. In Proceedings of the 46th Annual Design Automation Conference (DAC). 658--663. Google Scholar
Digital Library
- Pavan, P., Bez, R., Olivo, P., and Zanoni, E. 1997. Flash memory cells-an overview. Proc. IEEE 85, 8, 1248--1271.Google Scholar
Cross Ref
- Pillai, P. and Shin, K. G. 2001. Real-time dynamic voltage scaling for low-power embedded operating systems. In Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP’01). ACM, 89--102. Google Scholar
Digital Library
- Polastre, J., Szewczyk, R., and Culler, D. 2005. Telos: Enabling ultra-low power wireless research. In Proceedings of the 4th International Symposium on Information Processing in Sensor Networks: Special Track on Platform Tools and Design Methods for Network Embedded Sensors (IPSN/SPOTS’05). Google Scholar
Digital Library
- Ransford, B., Sorber, J., and Fu, K. 2011. Mementos: System support for long-running computation on rfid-scale devices. In Proceedings of the 16th Architectural Support for Programming Languages and Operating Systems (ASPLOS 2011). Google Scholar
Digital Library
- Reed, I. S. and Solomon, G. 1960. Polynomial codes over certain finite fields. J. Society Industrial Appl. Math. 8, 2, 300--304.Google Scholar
Cross Ref
- Rivest, R. L. 1995. The RC5 encryption algorithm. In Fast Software Encryption, B. Preneel Ed., Springer, 86--96.Google Scholar
- Rivest, R. L. and Shamir, A. 1982. How to reuse a write-once memory. Inform. Control 55, 1--19.Google Scholar
Cross Ref
- Salajegheh, M., Clark, S., Ransford, B., Fu, K., and Juels, A. 2009. CCCP: Secure remote storage for computational RFIDs. In Proceedings of the 18th USENIX Security Symposium. Google Scholar
Digital Library
- Sample, A. P., Yeager, D. J., Powledge, P. S., Mamishev, A. V., and Smith, J. R. 2008. Design of an RFID-based battery-free programmable sensing platform. IEEE Trans. Instrumentation Measurement 57, 11, 2608--2615.Google Scholar
Cross Ref
- Sampson, A., Dietl, W., Fortuna, E., Gnanapragasam, D., Ceze, L., and Grossman, D. 2011. EnerJ: Approximate data types for safe and general low-power computation. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI). Google Scholar
Digital Library
- Shnayder, V., Chen, B.-R., Lorincz, K., Jones, T. R. F. F., and Welsh, M. 2005. Sensor networks for medical care. In Proceedings of the 3rd ACM Conference on Embedded Networked Sensor Systems (SenSys). 314--314. Google Scholar
Digital Library
- Tamo, I. and Schwartz, M. 2010. Correcting limited-magnitude errors in the rank-modulation scheme. IEEE Trans. Inform. Theory 56, 6, 2551--2560. Google Scholar
Digital Library
- Weddle, C., Oldham, M., Qian, J., Wang, A.-I. A., Reiher, P., and Kuenning, G. 2007. PARAID: A gear-shifting power-aware RAID. ACM Trans. Storage (TOS) 3, 3, Article 13:1--33. Google Scholar
Digital Library
- Zeinalipour-Yazti, D., Lin, S., Kalogeraki, V., Gunopulos, D., and Najjar, W. A. 2005. Microhash: An efficient index structure for fash-based sensor devices. In Proceedings of the 4th USENIX Conference on File and Storage Technologies. 31--44. Google Scholar
Digital Library
- Zemor, G. and Cohen, G. D. 1991. Error-correcting WOM-codes. IEEE Trans. Inform. Theory 37, 3, 730--734. Google Scholar
Cross Ref
- Zhang, F., Pster, H. D., and Jiang, A. 2010. LDPC codes for rank modulation in flash memories. In Proceedings of the IEEE International Symposium on Information Theory (ISIT). 859--863.Google Scholar
- Zhang, H., Gummeson, J., Ransford, B., and Fu, K. 2011. Moo: A batteryless computational rfid and sensing platform. Tech. rep. UM-CS-2011-020, Department of Computer Science, University of Massachusetts Amherst, Amherst, MA.Google Scholar
Index Terms
Half-Wits: Software Techniques for Low-Voltage Probabilistic Storage on Microcontrollers with NOR Flash Memory
Recommendations
Exploiting half-wits: smarter storage for low-power devices
FAST'11: Proceedings of the 9th USENIX conference on File and stroage technologiesThis 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 ...
ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer
Multi-level cell (MLC) flash memory has lower bit cost compared to single-level cell (SLC) flash memory. However, there are several obstacles to the wide use of MLC flash memory, including slow write performance and shorter lifespan. To improve the ...
Write Activity Minimization for Nonvolatile Main Memory Via Scheduling and Recomputation
Nonvolatile memories such as Flash memory, phase change memory (PCM), and magnetic random access memory (MRAM) have many desirable characteristics for embedded systems to employ them as main memory. However, there are two common challenges we need to ...






Comments