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

Demand Paging Techniques for Flash Memory Using Compiler Post-Pass Optimizations

Published: 01 November 2011 Publication History

Abstract

In this article, we propose an application-specific demand paging mechanism for low-end embedded systems that have flash memory as secondary storage. These systems are not equipped with virtual memory. A small memory space called an execution buffer is used to page the code of an application. An application-specific page manager manages the buffer. The page manager is automatically generated by a compiler post-pass optimizer and combined with the application image. The post-pass optimizer analyzes the executable image and transforms function call/return instructions into calls to the page manager. As a result, each function in the code can be loaded into the memory on demand at runtime. To minimize the overhead incurred by the demand paging technique, code clustering algorithms are also presented. We evaluate our techniques with ten embedded applications, and our approach can reduce the code memory size by on average 39.5% with less than 10% performance degradation and on average 14% more energy consumption. Our demand paging technique provides embedded system designers with a trade-off control mechanism between the cost, performance, and energy efficiency in designing embedded systems. Embedded system designers can choose the code memory size depending on their cost, energy, and performance requirements.

References

[1]
Appel, A. W. 2002. Modern Compiler Implementation in Java. Cambridge University Press.
[2]
ARM. 2001. ARM Developer Suite Version 1.2: ARM Debug Target Guide. ARM Limited.
[3]
ARM. 2007. ARM7TDMI-S. http://www.arm.com/products/CPUs/ARM7TDMIS.html.
[4]
ARM. 2008. ELF for the ARM architecture. ABI release 2.07.
[5]
Arun Kamat. 2007. Simplifying flash controller design. http://onfi.org.
[6]
ATMEL. 2009. AT91SAM 32-bit ARM-based microcontrollers - Devices. http://www.atmel.com.
[7]
Avissar, O. and Barua, R. 2002. An optimal memory allocation scheme for scratchpad-based embedded systems. ACM Trans. Embed. Comput. Syst. 1, 1, 6--26.
[8]
Cytron, R. and Loewner, P. G. 1986. An automatic overlay generator. IBM J. Res. Devel. 30, 6, 603--608.
[9]
De Bus, B., De Sutter, B., Van Put, L., Chanet, D., and De Bosschere, K. 2004. Link-Time optimization of ARM binaries. In Proceedings of the Conference on Languages, Computers and Tools for Embedded System (LCTES’04). 211--220.
[10]
Egger, B., Kim, C., Jang, C., Nam, Y., Lee, J., and Min, S. L. 2006a. A dynamic code placement technique for scratchpad memory using postpass optimization. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES’06). 223--233.
[11]
Egger, B., Lee, J., and Shin, H. 2006b. Scratchpad memory management for portable systems with a memory management unit. In Proceedings of the 6th ACM & IEEE International Conference on Embedded Software (EMSOFT’’06). 321--330.
[12]
Francesco, P., Marchal, P., Atienza, D., Benini, L., Catthoor, F., and Mendias, J. M. 2004. An integrated hardware/software approach for run-time scratchpad management. In Proceedings of the 41st Annual ACM/IEEE Design Automation Conference (DAC’04). 238--243.
[13]
Guthaus, M. R., Ringenberg, J. S., Ernst, D., Austin, T. M., Mudge, T., and Brown, R. B. 1998. MiBench: A free, a commercially representative embedded benchmark suite. In Proceedings of the 4th Annual Workshop on Workload Characterization.
[14]
ITRS. 2008. International technology roadmap for semiconductors. http://www.itrs.net.
[15]
Jain, P., Devadas, S., Engels, D., and Rudolph, L. 2001. Software-Assisted cache replacement mechanisms for embedded systems. In Proceedings of the International Conference on Computer Aided Design (ICCAD’01). 119--126.
[16]
Kim, B., Cho, S., Choi, Y., and Choi, Y. 2004. OneNAND(TM): A high performance and low power memory solution for code and data storage. In Proceedings of the 20th Non-Volatile Semiconductor Workshop.
[17]
Lee, C., Potkonjak, M., and Mangione-Smith, W. H. 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings of the 30th International Symposium on Microarchitecture.
[18]
M-Systems. 2003. Two technologies compared: NOR vs. NAND. White paper, 91-SR-012-04-8L, Rev 1.1.
[19]
MOSAID Technologies Inc. 2007. Unleashing the next generation flash memory architecture: hyperlink NAND (HLNANDTM) flash. White paper.
[20]
NXP. 2009. LPC2364, LPC2366, LPC2368, and LPC2378 device highlight. http://www.standardics.nxp.com.
[21]
Panda, P. R., Dutt, N., and Nicolau, A. 1999. Memory Issues in Embedded Systems-on-Chip: Optimizations and Exploration. Kluwer Academic Publishers.
[22]
Park, C., Seo, J., Bae, S., Kim, H., Kim, S., and Kim, B. 2003. A low-cost memory architecture with NAND XIP for mobile embedded systems. In Proceedings of the 1st IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’03).
[23]
Park, C., Kang, J.-U., Park, S.-Y., and Kim, J.-S. 2004a. Energy-Aware demand paging on NAND flash-based embedded storages. In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED’04).
[24]
Park, C., Lim, J., Kwon, K., Lee, J., and Min, S. L. 2004b. Compiler-Assisted demand paging for embedded systems with flash memory. In Proceedings of the ACM Conference on Embedded Software (EMSOFT’04).
[25]
Park, J.-H., Hur, S.-H., Lee, J.-H., Park, J.-T., Sel, J.-S., Kim, J.-W., Song, S.-B., Lee, J.-Y., Lee, J.-H., Son, S.-J., Kim, Y.-S., Park, M.-C., Chai, S.-J., Choi, J.-D., Chung, U.-I., Moon, J.-T., Kim, K.-T., Kim, K., and Ryu, B.-I. 2004c. 8Gb MLC (multi-level cell) NAND flash memory using 63nm process technology. In Technical Digest - International Electron Devices Meeting (IEDM). 873--876.
[26]
Samsung Electronics Co., Ltd. 2007. Samsung k9f2g08r0a nand flash datasheet. Revision 1.3.
[27]
Silberschatz, A., Galvin, P., and Gagne, G. 2003. Applied Operating System Concepts. John Wiley and Sons.
[28]
Steinke, S., Wehmeyer, L., Lee, B.-S., and Marwedel, P. 2002. Assigning program and data objects to scratchpad for energy reduction. In Proceedings of the Conference on Design, Automation and Test in Europ (DATE’02). 409--417.
[29]
Thoziyoor, H., Ahn, J. H., Monchiero, M., Brockman, J. B., and Jouppi, N. P. 2008a. A comprehensive memory modeling tool and its application to the design and analysis of future memory hierarchies. In Proceedings of the International Symposium on Computer Architecture (ISCA’08).
[30]
Thoziyoor, S., Muralimanohar, N., Ahn, J. H., and Jouppi, N. P. 2008b. Cacti 5.1. Tech. rep. HPL-2008-20, Hewlett-Packard.
[31]
Tomiyama, H. and Yasuura, H. 1997. Code placement techniques for cache miss rate reduction. ACM Trans. Des. Autom. Electron. Syst. 2, 4, 410--429.
[32]
Verma, M., Wehmeyer, L., and Marwedel, P. 2004. Cache-Aware scratchpad allocation algorithm. In Proceedings of the Conference on Design, Automation and Test in Europ (DATE’04). 1264--1269.

Cited By

View all
  • (2013)Cost Model Based Analyses on Performance Effects of Loop Transformations in Block Associative Sector Translation2013 IEEE 10th International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing10.1109/HPCC.and.EUC.2013.288(1998-2005)Online publication date: Nov-2013
  • (2013)Loop transformations for flash memoryDesign Automation for Embedded Systems10.1007/s10617-014-9144-717:3-4(627-667)Online publication date: 1-Sep-2013
  • (2002)Building Trustworthy Software AgentsIEEE Internet Computing10.1109/MIC.2002.10677366:6(46-53)Online publication date: 1-Nov-2002

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 10, Issue 4
November 2011
297 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/2043662
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: 01 November 2011
Accepted: 01 April 2010
Revised: 01 May 2009
Received: 01 May 2008
Published in TECS Volume 10, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Compilers
  2. binary optimization
  3. demand paging
  4. flash memory
  5. link-time optimization
  6. post-pass optimization
  7. virtual memory

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 16 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2013)Cost Model Based Analyses on Performance Effects of Loop Transformations in Block Associative Sector Translation2013 IEEE 10th International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing10.1109/HPCC.and.EUC.2013.288(1998-2005)Online publication date: Nov-2013
  • (2013)Loop transformations for flash memoryDesign Automation for Embedded Systems10.1007/s10617-014-9144-717:3-4(627-667)Online publication date: 1-Sep-2013
  • (2002)Building Trustworthy Software AgentsIEEE Internet Computing10.1109/MIC.2002.10677366:6(46-53)Online publication date: 1-Nov-2002

View Options

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