A Flash Memory Swap System for Mobile Computers

모바일 컴퓨터를 위한 플래시 메모리 스왑 시스템

  • Received : 2010.01.18
  • Accepted : 2010.06.29
  • Published : 2010.09.30

Abstract

As the mobile computers are becoming powerful and are used like general-purpose computers, operating systems for mobile computers also require swap system functionality that utilizes main memory efficiently. Flash memory is widely used as storage device for mobile computers but current linux swap system does not consider flash memory. Swap system is tightly related with process execution since it stores the contents of process in execution. By taking advantage of this characteristics, in this paper, we study a new linux swap system called PASS(Process-Aware Swap System), which allocates the different flash memory blocks to each process. Trace-driven experimental results show that PASS outperforms existing linux swap system with existing garbage collection schemes in terms of garbage collection cost.

모바일 컴퓨터가 고성능화되고 범용 컴퓨터처럼 사용되면서 모바일 컴퓨터의 운영체제에서도 주 기억장치를 효율적으로 사용할 수 있게 해주는 스왑 시스템 기능이 요구되고 있다. 모바일 컴퓨터의 저장 장치는 플래시 메모리가 널리 쓰이고 있는데 현재의 리눅스 스왑 시스템은 플래시 메모리를 고려하지 않고 있다. 스왑 시스템은 실행 중인 프로세스의 내용을 저장하기 때문에 프로세스 실행과 밀접한 관련이 있다. 이러한 성질을 고려하여, 본 논문에서는 프로세스 별로 플래시 메모리 블록을 할당하는 PASS(Process-Aware Swap System)라는 새로운 리눅스 스왑 시스템을 연구하였다. 트레이스 기반의 실험을 통해 PASS의 가비지 수집 성능이 기존 가비지 수집 기법을 사용하는 리눅스 스왑 시스템보다 우수함을 보였다.

Keywords

Acknowledgement

Supported by : 한국학술진흥재단

References

  1. D. P. Bovet and M. Cesati, Understanding the Linux Kernel, 3rd Edition, O'Reilly, 2005.
  2. Samsung Electronics. K9F2G08UXA 256M x 8bits NAND flash memory Data Sheet, http://www.samsungelectronics.com
  3. A. Kawaguchi, S. Nishioka, and H. Motoda, "Flash Memory Based File System," in Proceedings of USENIX95, pp. 155-164, 1995.
  4. M. Wu and W. Zwanepoel, "envy: A Non-volatile, Main Memory Storage System," in Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, 1994.
  5. M. Chiang and R. Chang, "Cleaning Policies in Mobile Computers Using Flash Memory," Journal of Systems and Software, Vol.48, No. 3, pp.213-231, 1999. https://doi.org/10.1016/S0164-1212(99)00059-X
  6. M. Chiang, P. Lee, and R. Chang, "Using Data Clustering to Improve Cleaning Performance for Flash Memory," Software Practice and Experience, Vol.29, No.3, pp.267-290, 1999. https://doi.org/10.1002/(SICI)1097-024X(199903)29:3<267::AID-SPE233>3.0.CO;2-T
  7. J.-W. Hsieh, T.-W. Kuo, and L.-P. Chang, "Efficient Identification of Hot Data for Flash Memory Storage Systems," ACM Transaction on Storage, Vol.2, No.1, 2006.
  8. S. Park, D. Jung, J. Kang, J. Kim, and J. Lee, "CFLRU: A Replacement Algorithm for Flash Memory," in Proceedings of International Conference on Compilers, Architecture and Synthesis for Embedded Systems, pp.234- 241, 2006.
  9. Y. Yoo, H. Lee, Y. Ryu, and H. Bahn, "Page Replacement Algorithms for NAND Flash Memory Storages," Lecture Notes in Computer Science, Vol. 4705, Springer-Verlag, pp. 201-212, Aug. 2007.
  10. 유윤석, 류연승, "NAND 플래시 메모리 저장장치를 위한 요구 페이징 기법 연구", 멀티미디어학회 논문지 제10권, 제5호, pp.583-593, 2007. 5.
  11. O. Kwon, Y. Yoo, K. Koh, and H. Bahn, "Replacement and Swapping Strategy to Improve Read Performance of Portable Consumer Devices Using Compressed File Systems," IEEE Transactions on Consumer Electronics, Vol.54, No.2, pp.551-559, May 2008. https://doi.org/10.1109/TCE.2008.4560129
  12. 이혜정, 반효경, "Analyzing Virtual Memory Write Characteristics and Designing Page Replacement Algorithms for NAND Flash Memory," 정보과학회 논문지 36(6), pp.543- 556, 2009.
  13. J. Park, H. Lee, S. Hyun, K. Koh, and H. Bahn, "A Cost-aware Page Replacement Algorithm for NAND Flash-based Mobile Embedded Systems," in Proceedings of International Conference on Embedded Software, pp.315- 324, 2009.
  14. M. Saxena and M Swift, "FlashVM: Revisiting the Virtual Memory Hierarchy," in Proceedings of USENIX Workshop on Hot Topics in Operating Systems, 2009.
  15. D. Jung, J. Kim, S. Park, J. Kang, and J. Lee, "FASS: A Flash-Aware Swap System", in Proceedings of International Workshop on Software Support for Portable Storage, 2005.
  16. S. Koh, S. Jeon, and Y. Ryu,, "A New Linux Swap System for Flash Memory Storage Devices," in Proceedings of 3rd International Workshop on Data Storage Devices and Systems, pp.151-156, Jun, 2008.
  17. blktrace, http://linux.die.net/man/8/blktrace