An Efficient Logging Scheme based on Dynamic Block Allocation for Flash Memory-based DBMS

플래시 메모리 기반의 DBMS를 위한 동적 블록 할당에 기반한 효율적인 로깅 방법

  • Published : 2009.10.15

Abstract

Flash memory becomes increasingly popular as data storage for various devices because of its versatile features such as non-volatility, light weight, low power consumption, and shock resistance. Flash memory, however, has some distinct characteristics that make today's disk-based database technology unsuitable, such as no in-place update and the asymmetric speed of read and write operations. As a result, most traditional disk-based database systems may not provide the best attainable performance on flash memory. To maximize the database performance on flash memory, some approaches have been proposed where only the changes made to the database, i.e., logs, are written to another empty place that has born erased in advance. In this paper, we propose an efficient log management scheme for flash-based database systems. Unlike the previous approaches, the proposed approach stores logs in specially allocated blocks, called log blocks. By evenly distributing logs across log blocks, the proposed approach can significantly reduce the number of write and erase operations. Our performance evaluation shows that the proposed approaches can improve the overall system performance by reducing the number of write and erase operation compared to the previous ones.

플래시 메모리는 비휘발성이면서도 작고 가벼우며, 전력 소모가 적고 충격에 강하다는 장점 등으로 인해 휴대 기기를 포함한 다양한 기기의 저장매체로 사용되고 있다. 그러나 플래시 메모리는 하드디스크와는 달리 제자리 갱신이 불가능하고, 읽기 연산에 비해 쓰기 및 지우기 연산이 매우 느리기 때문에, 기존의 하드 디스크를 기반으로 설계된 데이터베이스 시스템은 플래시 메모리 상에서 최적의 성능을 내기 어렵다. 플래시 메모리 상에서 데이터베이스의 성능을 극대화하기 위해, 어떤 데이터에 변경이 발생하면 원래 위치의 데이터를 덮어쓰는 대신, 해당 데이터의 변경 사항에 대한 로그만을 다른 위치에 기록하는 방식들이 제안되었다. 본 논문에서는 플래시 메모리 기반의 데이터베이스 시스템을 위한 효율적인 로깅 방법을 제안한다. 제안하는 방법은 기존 방법들과 달리, 로그만을 저장하는 로그 블록들을 별도로 두고 데이터의 변경에 따라 발생하는 로그를 로그 블록들에 고르게 분포시킨다. 이를 통해 제안하는 방법은 페이지 쓰기 및 블록 지우기 연산의 횟수를 크게 감소시킬 수 있다. 합성 데이터와 TPC-C 벤치마크 데이터를 사용한 실험을 통해, 제안하는 방법은 기존의 방법에 비해 좋은 성능을 나타냄을 보였다.

Keywords

References

  1. F. Douglis, R. Caceres, F. Kaashoek, K. Li, B. Marsh, and J. A. Tauber, 'Storage alternatives for mobile computers,' In Proceedings of the First Symposium on Operating Systems Design and Implementation/OSDI-1), pp.25-37, 1994
  2. M. Slocombe. Samsung CEO, 'NAND Flash Will Replace Hard Drives,' http://digital-lifestyles.info/display-page.asp?section=platforms&id=2573, 2005
  3. G. Kim, S. Baek, H. Lee, H. Lee, and M. Joe, 'LGeDBMS: A Small DBMS for Embedded Systern with Flash Memory,' In Proceedings of VLDB, 2006
  4. Sang-Won Lee, and Bongki Moon, 'Design of Flash-Based DBMS: An In-Page Logging Approach,' ACM SIGMOD, 2007 https://doi.org/10.1145/1247480.1247488
  5. Intel, 'Understanding the Flash Translation Layer (FTL) Specification,' Application Note AP-684, Intel Corporation, 1998
  6. Mendel RosenBlum and John K. Ousterhout., 'The Design and Implementation of a Log-Structured File System,' ACM Transactions on Computer Systems, vol.10, no.1, pp.26-52, 1992 https://doi.org/10.1145/146941.146943
  7. 박상원, '플래시메모리와 데이터베이스', 정보과학회지, 제25권, 제6호, pp.40-47, 2007
  8. E. Gal and S. Toledo, 'Algorithms and Data Structures for Flash Memories,' ACM Computing Surveys, 37(2):138-163, June 2005 https://doi.org/10.1145/1089733.1089735
  9. J. Kim, J. M. Kim, S. Noh, S. L. Min, and Y. Cho, 'A space-efficient flash translation layer for compactflash systems,' IEEE Transactions on Consumer Electronics, 48(2), pp.366-375, 2002 https://doi.org/10.1109/TCE.2002.1010143
  10. Jeong-Uk Kang, Heeseung Jo, jin-Soo Kim, and Ioonwon Lee, 'A Superblock-based Flash Translation Layer for NAND Flash Memory,' EMSOFT, 2006 https://doi.org/10.1145/1176887.1176911
  11. TPC-C benchmark, http://www.tpc.org/tpcc/, 2009
  12. Ziff, G., 'Human Behavior and The Principle of Least Effort,' Addison-Wesley, Reading, MA., 1949
  13. L. Breslau, P. Cao, L. Fan, G. Philips, and S. Shenker, 'Web Caching and Zipf-Iike Distributions: Evidence and Implications,' IEEE INFOCOM '99, pp.126-134, 1999 https://doi.org/10.1109/INFCOM.1999.749260
  14. 김재명, 나갑주, 이상원, 'IPL 기법의 인덱스 연산 분석', 인터넷 정보학회 2007년 춘계학술발표대회, 2007년 5월