Browse > Article

Applying Static Analysis to Improve Performance of Programs using Flash Memory Storage  

Paik, Joon-Young (충남대학교 컴퓨터공학과)
Cho, Eun-Sun (충남대학교 컴퓨터공학과)
Abstract
Flash memory becomes popular storage for small devices due to its efficiency, portability, low power consumption and large capacity. Unlike on hard disks, however, write operation on flash memory is much more expensive than read operation, so that it is critical for performance enhancement to reduce the number of executions of write operation. This paper proposes static analysis to rewrite a program to reduce the total number of write operations by merging writable data in a minimum number of pages. To achieve this, we collect information about writable areas by static analysis, and about frequently executed paths by profiling for practicality, and combine both to rewrite the application program to reallocate data. The performance enhancement gained from the proposed methods is shown using a FAST simulator.
Keywords
flash memory; program static analysis; profiling; program rewriting; FAST;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Canon FS200 Flash Memory Camcorder, http:// www.alibaba.com.
2 Samsung Electronics Co., "NAND flash memory & smartMedia data book," 2004.
3 Tae-Sun Chung et al, "System Software for Flash Memory: A Survey," EUC2006, pp.394-404, Seoul, Korea, 2006.
4 Y.-G. Lee, D. Jung, D. Kang and J.-S. Kim, "u-FTL: a memory-efficient flash translation layer supporting multiple mapping granularities," in Proceedings of 8th ACM international conference on embedded software, pp.21-30, Atlanta, GA, USA, Aug. 2008.
5 Jesung Kim, Jong Min Kim, Sam H. Noh, Sang Lyul Min, and Yookun Cho. "A Space-Efficient Flash Translation Layer for CompactFlash Systems," IEEE Transactions on Consumer Eletronics, vol.48, no.2, pp.366-375, May 2002.   DOI   ScienceOn
6 S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park and H.-J. Song, "A log buffer-based flash translation layer using fully associative sector translation," ACM Transactions on Embedded Computing Systems (TECS), vol.6, Issue 3, July, 2007.
7 Tae-Sun Chung et al., "A survey of Flash Translation Layer," Journal of Systems Architecture 55(2009), pp.332-343, 2009.   DOI
8 Steven S. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997.
9 CORMAC FLANAGAN and MATTHIAS FELLEISEN, "Componential set-based analysis," in Proceedings of PLDI'97, Las Vegas, Nevada, USA, 1997.
10 M-Systems. "Two technologies compared: NOR vs. NAND" White Paper, 91-SR-012-04-8L, Rev 1.1, July 2003.
11 Andrew W. Appel, Modern Compiler Implementation: In ML, Cambridge University Press, New York, NY, 1998.
12 Hanne Riis Nielson, Flemming Nielson, Semantics with applications: a formal introduction, John Wiley & Sons, Inc., New York, NY, 1992.
13 Dehydra Home, https://developer.mozilla.org/en/ Dehydra.
14 Joon-Young Paik, Eun-Sun Cho and Tae-Sun Chung, "Reorganizing Data Blocks in Flash Memory by Program Translation," in Proceedings of 10th IEEE International Conference on Computer and Information Technology, Bradford, UK, 2010.
15 FLEMMING NIELSON, HANNE RIIS NIELSION and CHRIS HANKIN, Principles of Program Analysis, Springer, 2005.
16 Chanik Park et al., "Compiler-Assisted Demand Paging for Embedded Systems with Flash Memory," in Proceedings of the 4th ACM international conference on Embedded Software, Pisa, Italy, 4, 2004.
17 Chun-Chieh Lin et al., "Source Code Arrangement of Embedded Java Virtual Machine for NAND Flash Memory," in Proceeding of the ISCIT'07, Sydney, Australia, 2007.
18 Joon-Young Paik, Eun-Sun Cho and Tae-Sun Chung, "Performance Improvement for Flash Memories using Loop Optimization," in Proceedings of 12th IEEE International Conference on Computational Science and Engineering(CSE' 09), vol.2, pp.508- 513, Vancouver, Canada, 2009.