Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

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

Published: 02 August 2016 Publication History

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.
[2]
Artem Bityutskiy. 2005. JFFS3 Design Issues. Retrieved from http://idke.ruc.edu.cn/people/dazhou/Papers/JFFS3design.pdf.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[14]
Eran Gal and Sivan Toledo. 2005. Algorithms and data structures for flash memories. ACM Comput. Surv. 37, 2 (June 2005), 138--163.
[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.
[16]
Toru Homma. 2009. Evaluation of flash file systems for large NAND flash memory. In Proceedings of the CELF Embedded Linux Conference.
[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.
[18]
Adrian Hunter. 2008. A brief introduction to the design of UBIFS. Retrieved from http://www.linux-mtd.infradead.org/doc/ubifs_whitepaper.pdf.
[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.
[20]
Raj Jain. 2008. The Art of Computer Systems Performance Analysis. John Wiley & Sons.
[21]
Jinsong Ji, Chao Wang, and Xuehai Zhou. 2008. System-level early power estimation for memory subsystem in embedded systems. In Proceedings of SEC.
[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.
[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.
[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.
[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.
[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.
[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_89
[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.
[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
[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.
[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.
[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.
[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.
[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.
[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).
[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.
[37]
Micron Inc. 2009. NAND Flash and Mobile LPDDR 168-Ball Package-on-Package (PoP) MCP Combination Memory (TI OMAP) Datasheet. (2009).
[38]
Microsoft Research. 2009. SSD Extension for DiskSim Simulation Environment. Retrieved from http://research.microsoft.com/en-us/downloads/b41019e2-1d2b-44d8-b512-ba35ab814cd4/.
[39]
Mistral Solutions. 2013. OMAP35x Evaluation Module. Retrieved from http://www.mistralsolutions.com/pes-products/development-platforms/omap35x-evm-.html.
[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.
[41]
MTD Contributors. 2008. Memory Technology Device General Documentation. Retrieved from http://www.linux-mtd.infradead.org/doc/general.html.
[42]
National Instruments. 2014. Carte d’acquisition NI PXI-4472B. Retrieved from http://sine.ni.com/nips/cds/print/p/lang/fr/nid/12184.
[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.
[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.
[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.
[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).
[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.
[48]
Michael Opdenacker. 2010. Flash Filesystem Benchmarks. (2010). http://elinux.org/images/d/d7/Elce2010-flash-filesystems.pdf.
[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.
[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.
[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.
[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.
[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.
[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.
[55]
Euiseong Seo, Seon-Yeong Park, and Bhuvan Urgaonkar. 2008. Empirical analysis on energy efficiency of flash-based SSDs. In HotPower.
[56]
Toshiba Inc. 2009. Evaluation of UBI and UBIFS. Retrieved from http://elinux.org/images/f/f8/CELFJamboree30-UBIFS_update.pdf.
[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.
[58]
UBIFS Contributors. 2009. Raw flash versus FTL devices. Retrieved from http://www.linux-mtd.infradead.org/doc/ubifs.html#L_raw_vs_ftl.
[59]
UBM Tech. 2013. Embedded Market Study. Retrieved from http://images.content.ubmtechelectronics.com/Web/UBMTechElectronics/%7Ba7a91f0e-87c0-4a6d-b861-d4147707f831%7D_2013EmbeddedMarketStudyb.pdf.
[60]
David Woodhouse. 2001. JFFS2: The journalling flash file system version 2. In Ottawa Linux Symposium. Ottawa, Canada.
[61]
Wookey. 2007. YAFFS - A NAND flash file system. In CE Linux Conference. Linz, Autriche.
[62]
YAFFS2 Contributors. 2012. Google Android - YAFFS2 Website. Retrieved from http://www.yaffs.net/google-android.
[63]
Sungjoo Yoo and Chanik Park. 2011. Low power mobile storage: SSD case study. In Energy-Aware System Design. Springer, 223--246.

Cited By

View all
  • (2022)EddySuperblock: Improving NAND Flash Efficiency and Lifetime by Endurance-Driven Dynamic Superblock ManagementIEEE Transactions on Very Large Scale Integration (VLSI) Systems10.1109/TVLSI.2021.312686230:1(95-107)Online publication date: Jan-2022
  • (2022)Rebirth-FTL: Lifetime Optimization via Approximate Storage for NAND Flash MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.312317741:10(3276-3289)Online publication date: Oct-2022
  • (2022)The Lannion report on Big Data and Security Monitoring Research2022 IEEE International Conference on Big Data (Big Data)10.1109/BigData55660.2022.10020852(2960-2969)Online publication date: 17-Dec-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 15, Issue 4
Special Issue on ESWEEK2015 and Regular Papers
August 2016
411 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/2982215
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 02 August 2016
Accepted: 01 March 2016
Revised: 01 December 2015
Received: 01 August 2015
Published in TECS Volume 15, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. NAND flash memory
  2. embedded Linux
  3. estimation
  4. flash file systems
  5. modeling
  6. performance
  7. power consumption
  8. simulation

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)24
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2022)EddySuperblock: Improving NAND Flash Efficiency and Lifetime by Endurance-Driven Dynamic Superblock ManagementIEEE Transactions on Very Large Scale Integration (VLSI) Systems10.1109/TVLSI.2021.312686230:1(95-107)Online publication date: Jan-2022
  • (2022)Rebirth-FTL: Lifetime Optimization via Approximate Storage for NAND Flash MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.312317741:10(3276-3289)Online publication date: Oct-2022
  • (2022)The Lannion report on Big Data and Security Monitoring Research2022 IEEE International Conference on Big Data (Big Data)10.1109/BigData55660.2022.10020852(2960-2969)Online publication date: 17-Dec-2022
  • (2021)Understanding Energy Efficiency of Databases on Single Board Computers for Edge Computing2021 29th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS)10.1109/MASCOTS53633.2021.9614300(1-8)Online publication date: 3-Nov-2021
  • (2020)MNFTLACM Transactions on Design Automation of Electronic Systems10.1145/339803725:6(1-19)Online publication date: 12-Aug-2020
  • (2020)An Efficient Directory Entry Lookup Cache with Prefix-Awareness for Mobile DevicesIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2020.2978833(1-1)Online publication date: 2020
  • (2019)Comparison of file systems in RTEMSACM SIGBED Review10.1145/3373400.337340616:3(39-44)Online publication date: 25-Nov-2019
  • (2017)A Block-Level Log-Block Management Scheme for MLC NAND Flash Memory Storage SystemsIEEE Transactions on Computers10.1109/TC.2017.267918066:9(1464-1477)Online publication date: 1-Sep-2017
  • (2017)BibliographyFlash Memory Integration10.1016/B978-1-78548-124-6.50022-0(229-248)Online publication date: 2017

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media