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%.
- 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 Scholar
Digital Library
- Artem Bityutskiy. 2005. JFFS3 Design Issues. Retrieved from http://idke.ruc.edu.cn/people/dazhou/Papers/JFFS3design.pdf.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Toru Homma. 2009. Evaluation of flash file systems for large NAND flash memory. In Proceedings of the CELF Embedded Linux Conference.Google Scholar
- 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 Scholar
Digital Library
- Adrian Hunter. 2008. A brief introduction to the design of UBIFS. Retrieved from http://www.linux-mtd.infradead.org/doc/ubifs_whitepaper.pdf.Google Scholar
- 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 Scholar
- Raj Jain. 2008. The Art of Computer Systems Performance Analysis. John Wiley & Sons.Google Scholar
- Jinsong Ji, Chao Wang, and Xuehai Zhou. 2008. System-level early power estimation for memory subsystem in embedded systems. In Proceedings of SEC. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Micron Inc. 2009. NAND Flash and Mobile LPDDR 168-Ball Package-on-Package (PoP) MCP Combination Memory (TI OMAP) Datasheet. (2009).Google Scholar
- Microsoft Research. 2009. SSD Extension for DiskSim Simulation Environment. Retrieved from http://research.microsoft.com/en-us/downloads/b41019e2-1d2b-44d8-b512-ba35ab814cd4/.Google Scholar
- Mistral Solutions. 2013. OMAP35x Evaluation Module. Retrieved from http://www.mistralsolutions.com/pes-products/development-platforms/omap35x-evm-.html.Google Scholar
- 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 Scholar
Digital Library
- MTD Contributors. 2008. Memory Technology Device General Documentation. Retrieved from http://www.linux-mtd.infradead.org/doc/general.html.Google Scholar
- National Instruments. 2014. Carte d’acquisition NI PXI-4472B. Retrieved from http://sine.ni.com/nips/cds/print/p/lang/fr/nid/12184.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Michael Opdenacker. 2010. Flash Filesystem Benchmarks. (2010). http://elinux.org/images/d/d7/Elce2010-flash-filesystems.pdf.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Euiseong Seo, Seon-Yeong Park, and Bhuvan Urgaonkar. 2008. Empirical analysis on energy efficiency of flash-based SSDs. In HotPower. Google Scholar
Digital Library
- Toshiba Inc. 2009. Evaluation of UBI and UBIFS. Retrieved from http://elinux.org/images/f/f8/CELFJamboree30-UBIFS_update.pdf.Google Scholar
- 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 Scholar
Digital Library
- UBIFS Contributors. 2009. Raw flash versus FTL devices. Retrieved from http://www.linux-mtd.infradead.org/doc/ubifs.html#L_raw_vs_ftl.Google Scholar
- UBM Tech. 2013. Embedded Market Study. Retrieved from http://images.content.ubmtechelectronics.com/Web/UBMTechElectronics/%7Ba7a91f0e-87c0-4a6d-b861-d4147707f831%7D_2013EmbeddedMarketStudyb.pdf.Google Scholar
- David Woodhouse. 2001. JFFS2: The journalling flash file system version 2. In Ottawa Linux Symposium. Ottawa, Canada.Google Scholar
- Wookey. 2007. YAFFS - A NAND flash file system. In CE Linux Conference. Linz, Autriche.Google Scholar
- YAFFS2 Contributors. 2012. Google Android - YAFFS2 Website. Retrieved from http://www.yaffs.net/google-android.Google Scholar
- Sungjoo Yoo and Chanik Park. 2011. Low power mobile storage: SSD case study. In Energy-Aware System Design. Springer, 223--246.Google Scholar
Index Terms
A Methodology for Estimating Performance and Power Consumption of Embedded Flash File Systems
Recommendations
On benchmarking embedded Linux flash file systems
2nd Workshop on Embed With Linux (EWiLi 2012)Due to its attractive characteristics in terms of performance, weight and power consumption, NAND flash memory became the main non volatile memory (NVM) in embedded systems. Those NVMs also present some specific characteristics/constraints: good but ...
Performance analysis and modeling of SQLite embedded databases on flash file systems
Databases are more and more used in embedded system applications and especially in consumer electronics. This comes from the need to structure user and/or system data to be more efficiently managed and accessed. The transactional database management ...
A tracing toolset for embedded linux flash file system
VALUETOOLS '14: Proceedings of the 8th International Conference on Performance Evaluation Methodologies and ToolsNAND flash memory integration in the traditional I/O software stack of Unix-like operating systems (OS) was achieved without modifying most of the OS layers. In fact, one can dissociate two categories of flash memory devices: (1) those which intricacies ...






Comments