A Non-fixed Log Area Management Technique in Block for Flash Memory DBMS

플래시메모리 DBMS를 위한 블록의 비고정적 로그 영역 관리 기법

  • 조혜원 (경희대학교 컴퓨터공학과) ;
  • 한용구 (경희대학교 컴퓨터공학과) ;
  • 이영구 (경희대학교 컴퓨터공학과)
  • Received : 2010.08.23
  • Accepted : 2001.08.26
  • Published : 2010.10.15

Abstract

Flash memory has been studied as a storage medium in order to improve the performance of the system using its high computing speed in the DBMS field where frequent data access is needed. The most difficulty using the flash memory is the performance degradation and the life span shortening of flash memory coming from inefficient in-place update. Log based approaches have been studied to solve inefficient in-place update problem in the DBMS where write operations occur in smaller size of data than page frequently. However the existing log based approaches suffer from the frequent merging operations, which are the principal cause of performance deterioration. Thus is because their fixed log area management can not guarantee a sufficient space for logs. In this paper, we propose non-fixed log area management technique that can minimize the occurrence of the merging operations by promising an enough space for logs. We also suggest the cost calculation model of the optimal log sector number minimizing the system operation cost in a block. In experiment, we show that our non-fixed log area management technique can have the improved performance compared to existing approaches.

빈번한 데이터 접근이 요구되는 DBMS 분야에서 플래시메모리의 빠른 연산 속도를 이용하여 시스템 성능을 향상시키기 위한 연구가 활발히 이루어지고 있다. 플래시메모리를 DBMS의 저장매체로 사용하는데 가장 큰 문제점 중에 하나는 비효율적인 덮어쓰기 연산으로 인한 성능 저하와 수명 단축이다. 페이지 보다 작은 크기의 쓰기 연산이 빈번히 발생하는 특성을 가진 DBMS 환경에서 비효율적인 덮어 쓰기 문제를 해결하기 위하여 업데이트 내용을 로그 형태로 저장하는 기법들이 연구되었다. 그러나 기존의 연구들은 로그 저장 영역을 고정적으로 관리하여 쓰기 성능 저하의 주요 원인인 합병이 빈번히 발생한다는 문제가 있다. 본 논문에서는 블록의 로그 영역을 비고정적으로 관리하여 로그 저장 공간의 부족으로 인한 합병의 발생을 최소화시키는 기법을 제안한다. 또한 블록 내에서 최소의 비용으로 로그 저장 공간을 사용할 수 있도록 하는 기준을 제시하여 블록의 비고정적인 로그 영역 관리 기법에 적용한다. 실험을 통하여 제안하는 비고정적인 로그 영역 관리 기법이 기존의 고정적으로 관리하는 기법들과의 비교하여 성능 향상을 가져올 수 있는 것을 입증하였다.

Keywords

References

  1. Samsung Electronics, Flash Memory K9XXG08UXA Datasheet, http://www.samsung.com/global/business/semiconductor
  2. G. Kim, S. Baek, H. Lee, H. Lee, M. Joe, "LGe- DBMS: A Small DBMS for Embedded System with Flash Memory," Proc. of the 32nd Int. Conf. on Very Large Data Bases, pp.1255-1258, 2006.
  3. G. Na, S. Kim, J. Kim, S. Lee, "Applying In-Page Logging to SQLite DBMS," Journal of KIISE : Database, vol.35, no.5, pp.400-410, Oct. 2008.
  4. S. Lee, B. Moon, C. Park, J. Kim, S. Kim, "A Case for Flash Memory SSD in Enterprise Database Applications," Proc. of the ACM SIGMOD, pp.1075-1086, 2008.
  5. D. Woodhouse, "JFFS: The Journalling Flash File System," Proceedings of Ottawa Linux Symposium, 2001.
  6. C. Manning and Wookey, "YAFFS Specification," Aleph One Limited, 2001.
  7. S. Lee, B. Moon, "Design of Flash-Based DBMS: An In-Page Logging Approach," Proc. of the ACM SIGMOD, pp.55-66, June 2007.
  8. H. Cho, Y. Lee, "Page Merging Technique for Flash Memory DBMS," Proc. of the 35th KIISE Conference, vol.36, no.1(C), pp.197-202, 2009. (in Korean)
  9. M. Rosenblum, J. K. Ousterhout, "The Design and Implementation of a Log-Structured File System," ACM Transactions on Computer Systems, vol.10, pp.26-52, 1992. https://doi.org/10.1145/146941.146943
  10. J. Dyke, S. Shaw, "Pro Oracle Database 10g RAC on Linux: Installation, Administration, And Performance," Apress, 2006.