skip to main content
research-article

A Methodology for Estimating Performance and Power Consumption of Embedded Flash File Systems

Authors Info & Claims
Published:02 August 2016Publication History
Skip Abstract Section

Abstract

In the embedded systems domain, obtaining performance and power consumption estimations is extremely valuable in numerous cases. This is particularly true during the design stage, as designers of complex embedded systems face an increasingly large design space. Secondary storage is a well-known performance bottleneck and has also been reported as an important factor of power consumption. Flash memory is the main secondary storage media in an embedded system and exhibits specific constraints in its usage. One popular way to manage these constraints is to use dedicated Flash File Systems (FFS). In this article, we propose a methodology to estimate the performance and power consumption of applicative I/Os on an FFS-based storage system within embedded Linux. The methodology is divided into three sequential steps. In the exploration phase, the main factors of an FFS storage system impacting performance and power consumption are identified. In the modeling phase, this impact is formalized into models. Finally, in the last phase, the models are implemented in a simulator named OpenFlash. OpenFlash allows obtaining performance and power consumption estimations for an applicative workload processed by the Linux FFS storage stack on an embedded platform. The simulator is validated against real measurements and the estimation error stays below 10%.

References

  1. Yahia Benmoussa, Eric Senn, and Jalil Boukhobza. 2014. Open-PEOPLE, A collaborative platform for remote and accurate measurement and evaluation of embedded systems power consumption. In Proceedings of the 22nd IEEE International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Artem Bityutskiy. 2005. JFFS3 Design Issues. Retrieved from http://idke.ruc.edu.cn/people/dazhou/Papers/JFFS3design.pdf.Google ScholarGoogle Scholar
  3. Matias Bjørling, Lionel Le Folgoc, Ahmed Mseddi, Philippe Bonnet, Luc Bouganim, and Björn Jónsson. 2010. Performing sound flash device measurements: Some lessons from uFLIP. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data. ACM, 1219--1222. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Daniel P. Bovet and Marco Cesati. 2005. Understanding the Linux Kernel. O’Reilly Media, Inc. Retrieved from http://books.google.fr/books?hl=en&lr==&id==h0lltXyJ8aIC&oi==fnd&pg==PT11&dq==understanding+the+linux+kernel&ots==gO-pITb9GR&sig==UwyNONC-jNaJnmVLzIIHcgsHQ8c. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Aaron Carroll and Gernot Heiser. 2010. An analysis of power consumption in a smartphone. In Proceedings of the USENIX Annual Technical Conference. 271--285. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Adrian M. Caulfield, Laura M. Grupp, and Steven Swanson. 2009. Gordon: Using flash memory to build fast, power-efficient clusters for data-intensive applications. ACM Sigplan Notices 44, 3 (2009), 217--228. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Feng Chen, Song Jiang, and Xiaodong Zhang. 2006. SmartSaver: Turning flash drive into a disk energy saver for mobile computers. In Proceedings of the 2006 International Symposium on Low Power Electronics and Design (ISLPED’06). IEEE, 412--417. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jian Justin Chen, Neal R. Mielke, and Chenming Calvin Hu. 2007. Flash memory reliability. In Nonvolatile Memory Technologies with Emphasis on Flash, Joe Brewer and Manzur Gill (Eds.). John Wiley & Sons, Inc., 445--590.Google ScholarGoogle Scholar
  9. Siddharth Choudhuri. 2003. Macromodeling and Characterization of Filesystem Energy Consumption for Diskless Embedded Systems. Ph.D. Dissertation. Texas A&M University. Retrieved from http://repository.tamu.edu/handle/1969.1/295.Google ScholarGoogle Scholar
  10. Tae-Sun Chung, Dong-Joo Park, Sangwon Park, Dong-Ho Lee, Sang-Won Lee, and Ha-Joo Song. 2009. A survey of Flash Translation Layer. Journal of Systems Architecture 55, 5--6 (May 2009), 332--343. DOI:http://dx.doi.org/10.1016/j.sysarc.2009.03.005 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Niv Dayan, Martin Kjær Svendsen, Matias Björling, Philippe Bonnet, and Luc Bouganim. 2013. EagleTree: Exploring the design space of SSD-based algorithms. Proceedings of the VLDB Endowment 6, 12 (2013), 1290--1293. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. In Hwan Doh, Hyo J. Lee, Young Je Moon, Eunsam Kim, Jongmoo Choi, Donghee Lee, and Sam H. Noh. 2009. Impact of NVRAM write cache for file system metadata on I/O performance in embedded systems. In Proceedings of the 2009 ACM Symposium on Applied Computing. ACM, 1658--1663. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Xiangyu Dong, Cong Xu, Yuan Xie, and Norman P. Jouppi. 2012. Nvsim: A circuit-level performance, energy, and area model for emerging nonvolatile memory. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 31, 7 (2012), 994--1007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Eran Gal and Sivan Toledo. 2005. Algorithms and data structures for flash memories. ACM Comput. Surv. 37, 2 (June 2005), 138--163. DOI:http://dx.doi.org/10.1145/1089733.1089735 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Laura M. Grupp, Adrian M. Caulfield, Joel Coburn, Steven Swanson, Eitan Yaakobi, Paul H. Siegel, and Jack K. Wolf. 2009. Characterizing flash memory: Anomalies, observations, and applications. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-42). IEEE, 24--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Toru Homma. 2009. Evaluation of flash file systems for large NAND flash memory. In Proceedings of the CELF Embedded Linux Conference.Google ScholarGoogle Scholar
  17. Yang Hu, Hong Jiang, Dan Feng, Lei Tian, Hao Luo, and Shuping Zhang. 2011. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. In Proceedings of the International Conference on Supercomputing. ACM, 96--107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Adrian Hunter. 2008. A brief introduction to the design of UBIFS. Retrieved from http://www.linux-mtd.infradead.org/doc/ubifs_whitepaper.pdf.Google ScholarGoogle Scholar
  19. Joo-Young Hwang. 2012. F2FS: A New File System Designed for Flash Storage in Mobile. Retrieved from http://elinux.org/images/8/81/A_New_File_System_Designed_for_Flash_Storage_in_Mobile.pdf.Google ScholarGoogle Scholar
  20. Raj Jain. 2008. The Art of Computer Systems Performance Analysis. John Wiley & Sons.Google ScholarGoogle Scholar
  21. Jinsong Ji, Chao Wang, and Xuehai Zhou. 2008. System-level early power estimation for memory subsystem in embedded systems. In Proceedings of SEC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Dawoon Jung, Jaegeuk Kim, Jin-Soo Kim, and Joonwon Lee. 2008. ScaleFFS: A scalable log-structured flash file system for mobile multimedia systems. ACM Transactions on Multimedia Computing, Communications, and Applications (TOMCCAP) 5, 1 (2008), 9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Myoungsoo Jung, Ellis Herbert Wilson, David Donofrio, John Shalf, and Mahmut T. Kandemir. 2012. NANDFlashSim: Intrinsic latency variation aware NAND flash memory system modeling and simulation at microarchitecture level. In Proceedings of the 2012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST). IEEE, 1--12.Google ScholarGoogle Scholar
  24. Yangwook Kang and Ethan L. Miller. 2009. Adding aggressive error correction to a high-performance compressing flash file system. In Proceedings of the Seventh ACM International Conference on Embedded Software (EMSOFT’09). ACM, New York, NY, 305--314. DOI:http://dx.doi.org/10.1145/1629335.1629376 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Taeho Kgil and Trevor Mudge. 2006. FlashCache: A NAND flash memory file cache for low power web servers. In Proceedings of the 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems. ACM, 103--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Hyojun Kim, Youjip Won, and Sooyong Kang. 2009b. Embedded NAND flash file system for mobile multimedia devices. IEEE Transactions on Consumer Electronics 55, 2 (2009), 545--552. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Je-Min Kim and Jin-Soo Kim. 2012. Androbench: Benchmarking the storage performance of android-based mobile devices. In Frontiers in Computer Education. Springer, 667--674. http://link.springer.com/chapter/10.1007/978-3-642-27552-4_89Google ScholarGoogle Scholar
  28. Jaegeuk Kim, Hyotaek Shim, Seon-Yeong Park, Seungryoul Maeng, and Jin-Soo Kim. 2012. FlashLight: A lightweight flash file system for embedded systems. ACM Trans. Embed. Comput. Syst. 11S, 1 (June 2012), 18:1--18:23. DOI:http://dx.doi.org/10.1145/2180887.2180895 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Youngjae Kim, Brendan Tauras, Aayush Gupta, and Bhuvan Urgaonkar. 2009a. Flashsim: A simulator for nand flash-based solid-state drives. In Proceedings of the 1st International Conference on Advances in System Simulation (SIMUL’09). IEEE, 125--131. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5283998 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Sungjin Lee, Keonsoo Ha, Kangwon Zhang, Jihong Kim, and Junghwan Kim. 2009a. FlexFS: A flexible flash file system for MLC NAND flash memory. In Proceedings of the 2009 Conference on USENIX Annual Technical Conference (USENIX’09). USENIX Association, Berkeley, CA, 9--9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Sang-Won Lee, Bongki Moon, and Chanik Park. 2009b. Advances in flash memory SSD technology for enterprise database applications. In Proceedings of the 2009 ACM SIGMOD International Conference on Management of Data. ACM, 863--870. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Jing Li, Anirudh Badam, Ranveer Chandra, Steven Swanson, Bruce Worthington, and Qi Zhang. 2014. On the energy overhead of mobile storage systems. In Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST’14). USENIX Association, Berkeley, CA, 105--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Seung-Ho Lim, Sung-Hoon Baek, Joo-Young Hwang, and Kyu-Ho Park. 2006. Write back routine for JFFS2 efficient I/O. In Embedded and Ubiquitous Computing, Edwin Sha, Sung-Kook Han, Cheng-Zhong Xu, Moon-Hae Kim, Laurence T. Yang, and Bin Xiao (Eds.). Number 4096 in Lecture Notes in Computer Science. Springer, Berlin, 795--804. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Seung-Ho Lim and Kyu-Ho Park. 2006. An efficient NAND flash file system for flash memory storage. IEEE Transactions on Computers 55, 7 (2006), 906--912. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Shu Liu, Xuetao Guan, Dong Tong, and Xu Cheng. 2010. Analysis and comparison of NAND flash specific file systems. Chinese Journal of Electronics 19, 3 (2010).Google ScholarGoogle Scholar
  36. Gaurav Mathur, Peter Desnoyers, Paul Chukiu, Deepak Ganesan, and Prashant Shenoy. 2009. Ultra-low power data storage for sensor networks. ACM Transactions on Sensor Networks (TOSN) 5, 4 (2009), 33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Micron Inc. 2009. NAND Flash and Mobile LPDDR 168-Ball Package-on-Package (PoP) MCP Combination Memory (TI OMAP) Datasheet. (2009).Google ScholarGoogle Scholar
  38. Microsoft Research. 2009. SSD Extension for DiskSim Simulation Environment. Retrieved from http://research.microsoft.com/en-us/downloads/b41019e2-1d2b-44d8-b512-ba35ab814cd4/.Google ScholarGoogle Scholar
  39. Mistral Solutions. 2013. OMAP35x Evaluation Module. Retrieved from http://www.mistralsolutions.com/pes-products/development-platforms/omap35x-evm-.html.Google ScholarGoogle Scholar
  40. Vidyabhushan Mohan, Sudhanva Gurumurthi, and Mircea R. Stan. 2010. FlashPower: A detailed power model for NAND flash memory. In Proceedings of the Conference on Design, Automation and Test in Europe. European Design and Automation Association, 502--507. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. MTD Contributors. 2008. Memory Technology Device General Documentation. Retrieved from http://www.linux-mtd.infradead.org/doc/general.html.Google ScholarGoogle Scholar
  42. National Instruments. 2014. Carte d’acquisition NI PXI-4472B. Retrieved from http://sine.ni.com/nips/cds/print/p/lang/fr/nid/12184.Google ScholarGoogle Scholar
  43. Pierre Olivier, Jalil Boukhobza, and Eric Senn. 2012. Micro-benchmarking flash memory file-system wear leveling and garbage collection: A focus on initial state impact. In Proceedings of the 2012 IEEE 15th International Conference on Computational Science and Engineering (CSE’12). IEEE Computer Society, Washington, DC, 437--444. DOI:http://dx.doi.org/10.1109/ICCSE.2012.67 Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Pierre Olivier, Jalil Boukhobza, and Eric Senn. 2013. Modeling driver level NAND flash memory I/O performance and power consumption for embedded linux. In 2013 11th International Symposium on Programming and Systems (ISPS). 143--152. DOI:http://dx.doi.org/10.1109/ISPS.2013.6581480Google ScholarGoogle ScholarCross RefCross Ref
  45. Pierre Olivier, Jalil Boukhobza, and Eric Senn. 2014a. Flashmon V2: Monitoring raw NAND flash memory I/O requests on embedded linux. ACM SIGBED Rev. 11, 1 (2014), 38--43. DOI:http://dx.doi.org/10.1145/2597457.2597462 Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Pierre Olivier, Jalil Boukhobza, and Eric Senn. 2014b. Revisiting read-ahead efficiency for raw NAND flash storage in embedded linux. In Proceedings of the 4th Embed With Linux (EWiLi) Workshop (2014). Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Pierre Olivier, Jalil Boukhobza, Mathieu Soula, Michelle Le Grand, Ismat Chaib Draa, and Eric Senn. 2014c. A tracing toolset for embedded linux flash file systems. In Proceedings of the 8th International Conference on Performance Evaluation Methodologies and Tools (VALUETOOLS). Bratislava, Slovaquie. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Michael Opdenacker. 2010. Flash Filesystem Benchmarks. (2010). http://elinux.org/images/d/d7/Elce2010-flash-filesystems.pdf.Google ScholarGoogle Scholar
  49. Ram Pai, Badari Pulavarty, and Mingming Cao. 2004. Linux 2.6 performance improvement through read-ahead optimization. In Proceedings of the Linux Symposium, Vol. 2.Google ScholarGoogle Scholar
  50. Chanik Park, Jeong-Uk Kang, Seon-Yeong Park, and Jin-Soo Kim. 2004. Energy-aware demand paging on NAND flash-based embedded storages. In Proceedings of the 2004 International Symposium on Low Power Electronics and Design (ISLPED’04). ACM, New York, NY, 338--343. DOI:http://dx.doi.org/10.1145/1013235.1013317 Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Song-Hwa Park, Tae-Hoon Lee, and Ki-Dong Chung. 2006. A flash file system to support fast mounting for NAND flash memory based embedded systems. In Embedded Computer Systems: Architectures, Modeling, and Simulation. Springer, 415--424. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Sang Oh Park and Sung Jo Kim. 2013. ENFFiS: An enhanced NAND flash memory file system for mobile embedded multimedia system. ACM Trans. Embed. Comput. Syst. 12, 2 (Feb. 2013), 23:1--23:13. DOI:http://dx.doi.org/10.1145/2423636.2423641 Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Youngwoo Park, Seung-Ho Lim, Chul Lee, and Kyu Ho Park. 2008. PFFS: A scalable flash memory file system for the hybrid architecture of phase-change RAM and NAND flash. In Proceedings of the 2008 ACM Symposium on Applied Computing. ACM, 1498--1503. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Joel Reardon, Srdjan Capkun, and David A. Basin. 2012. Data node encrypted file system: Efficient secure deletion for flash memory. In USENIX Security Symposium. 333--348. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Euiseong Seo, Seon-Yeong Park, and Bhuvan Urgaonkar. 2008. Empirical analysis on energy efficiency of flash-based SSDs. In HotPower. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Toshiba Inc. 2009. Evaluation of UBI and UBIFS. Retrieved from http://elinux.org/images/f/f8/CELFJamboree30-UBIFS_update.pdf.Google ScholarGoogle Scholar
  57. Hung-Wei Tseng, Han-Lin Li, and Chia-Lin Yang. 2006. An energy-efficient virtual memory system with flash memory as the secondary storage. In Proceedings of the 2006 International Symposium on Low Power Electronics and Design (ISLPED’06). IEEE, 418--423. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. UBIFS Contributors. 2009. Raw flash versus FTL devices. Retrieved from http://www.linux-mtd.infradead.org/doc/ubifs.html#L_raw_vs_ftl.Google ScholarGoogle Scholar
  59. UBM Tech. 2013. Embedded Market Study. Retrieved from http://images.content.ubmtechelectronics.com/Web/UBMTechElectronics/%7Ba7a91f0e-87c0-4a6d-b861-d4147707f831%7D_2013EmbeddedMarketStudyb.pdf.Google ScholarGoogle Scholar
  60. David Woodhouse. 2001. JFFS2: The journalling flash file system version 2. In Ottawa Linux Symposium. Ottawa, Canada.Google ScholarGoogle Scholar
  61. Wookey. 2007. YAFFS - A NAND flash file system. In CE Linux Conference. Linz, Autriche.Google ScholarGoogle Scholar
  62. YAFFS2 Contributors. 2012. Google Android - YAFFS2 Website. Retrieved from http://www.yaffs.net/google-android.Google ScholarGoogle Scholar
  63. Sungjoo Yoo and Chanik Park. 2011. Low power mobile storage: SSD case study. In Energy-Aware System Design. Springer, 223--246.Google ScholarGoogle Scholar

Index Terms

  1. A Methodology for Estimating Performance and Power Consumption of Embedded Flash File Systems

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader
                About Cookies On This Site

                We use cookies to ensure that we give you the best experience on our website.

                Learn more

                Got it!