플래시 메모리 저장 장치를 사용하는 프로그램의 성능 향상을 위한 정적 분석 기법의 응용

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

  • 투고 : 2010.05.31
  • 심사 : 2010.10.20
  • 발행 : 2010.12.15

초록

플래시 메모리는 휴대성, 저전력, 대용량의 특징을 갖고 있어 휴대용 기기에서의 사용이 증가하고 있다. 그러나 하드디스크와는 달리 플래시 메모리는 읽기 연산에 비해 쓰기 연산의 비용이 상대적으로 커서, 쓰기 연산 횟수 감소에 대한 연구가 요구된다. 본 논문에서는 데이터 쓰기 연산 횟수를 감소시키기 위해, 플래시 메모리에 저장된 데이터를 다루는 응용 프로그램을 재작성하여 저장될 데이터를 적절히 재배치하기 위한 정적 분석 기법을 제안하였다. 이 기법은 프로그램을 정적 분석해서 쓰기 연산 부분을 파악하고, 이들을 분리해내어 저장되도록 프로그램을 재작성 함으로써, 수행 시간에 전체 쓰기 영역이 줄어들도록 하는 것이다. 따라서 본 논문에서는 프로그램에서 다루어지는 데이터 중 쓰기 가능한 영역을 얻어내는 분석과 가능한 작은 개수의 페이지에 쓰기 대상 부분이 모여 있도록 재배치하기 위한 분석을 고안하였다. 정적 분석 결과는 자주 수행되는 프로그램 경로에 대한 프로파일링 결과와 조합되어 보다 실제적인 분석 결과를 얻고자 하였으며, 결과적으로, FAST 시뮬레이터 상에서 데이터 처리 성능을 향상시키는 데에 기여함을 보였다.

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.

키워드

참고문헌

  1. M-Systems. "Two technologies compared: NOR vs. NAND" White Paper, 91-SR-012-04-8L, Rev 1.1, July 2003.
  2. Canon FS200 Flash Memory Camcorder, http:// www.alibaba.com.
  3. Samsung Electronics Co., "NAND flash memory & smartMedia data book," 2004.
  4. Tae-Sun Chung et al, "System Software for Flash Memory: A Survey," EUC2006, pp.394-404, Seoul, Korea, 2006.
  5. 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.
  6. 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. https://doi.org/10.1109/TCE.2002.1010143
  7. 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.
  8. Tae-Sun Chung et al., "A survey of Flash Translation Layer," Journal of Systems Architecture 55(2009), pp.332-343, 2009. https://doi.org/10.1016/j.sysarc.2009.03.005
  9. Steven S. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997.
  10. CORMAC FLANAGAN and MATTHIAS FELLEISEN, "Componential set-based analysis," in Proceedings of PLDI'97, Las Vegas, Nevada, USA, 1997.
  11. FLEMMING NIELSON, HANNE RIIS NIELSION and CHRIS HANKIN, Principles of Program Analysis, Springer, 2005.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. Andrew W. Appel, Modern Compiler Implementation: In ML, Cambridge University Press, New York, NY, 1998.
  17. Hanne Riis Nielson, Flemming Nielson, Semantics with applications: a formal introduction, John Wiley & Sons, Inc., New York, NY, 1992.
  18. Dehydra Home, https://developer.mozilla.org/en/ Dehydra.