DOI QR코드

DOI QR Code

CL-Tree: B+ tree for NAND Flash Memory using Cache Index List

CL 트리: 낸드 플래시 시스템에서 캐시 색인 리스트를 활용하는 B+ 트리

  • Hwang, Sang-Ho (Department of Computer Engineering, Yeungnam University) ;
  • Kwak, Jong Wook (Department of Computer Engineering, Yeungnam University)
  • 황상호 (영남대학교 컴퓨터공학과) ;
  • 곽종욱 (영남대학교 컴퓨터공학과)
  • Received : 2015.02.05
  • Accepted : 2015.03.16
  • Published : 2015.04.30

Abstract

NAND flash systems require deletion operation and do not support in-place update, so the storage systems should use Flash Translation Layer (FTL). However, there are a lot of memory consumptions using mapping table in the FTL, so recently, many studies have been proposed to resolve mapping table overhead. These studies try to solve update propagation problem in the nand flash system which does not use mapping table. In this paper, we present a novel index structure, called CL-Tree(Cache List Tree), to solve the update propagation problem. The proposed index structure reduces write operations which occur for an update propagation, and it has a good performance for search operation because it uses multi-list structure. In experimental evaluation, we show that our scheme yields about 173% and 179% improvement in insertion speed and search speed, respectively, compared to traditional B+tree and other works.

낸드 플래시는 기존의 하드디스크와 다르게 지움 연산이 필요하고 제자리 갱신이 불가능한 특성을 가지고 있어 플래시 전환 계층(FTL: Flash Translation Layer)을 사용한다. 하지만 플래시 전환 계층을 이용하는 방법은 사상 테이블의 사용에 따른 메모리 소비량이 많은 단점이 있어서 최근에는 사상 테이블을 사용하지 않는 색인 구조에 대한 연구가 많이 이루어지고 있다. 하지만 이러한 연구들은 사상 테이블을 사용하지 않는 시스템에서 발생되고 있는 업데이트 파생문제를 해결하여야 한다. 논문에서는 이러한 업데이트 파생문제를 효과적으로 해결하고자 CL-트리(Cache List Tree)라 명명된 새로운 색인 구조를 제안한다. 제안하는 기법은 메모리상에 쓰기 연산이 이루어진 노드들의 주소를 다중 리스트로 이루어진 CL-트리에 저장함으로써, 추가적인 쓰기 연산을 줄일 뿐만 아니라 자주 접근되는 노드에 대하여 빠르게 접근할 수 있기 때문에 탐색 측면에서도 뛰어난 성능을 보인다. 성능평가 결과 제안하는 CL-트리 구조는 작업 수행 속도에서 기존의 B+ 트리와 주요 관련 연구에 비해 삽입 속도는 최대 173%, 탐색 속도는 179% 향상되었음을 보였다.

Keywords

References

  1. Chen, Feng, David A. Koufaty, and Xiaodong Zhang. "Understanding intrinsic characteristics and system implications of flash memory based solid state drives." ACM SIGMETRICS Performance Evaluation Review. Vol. 37. No. 1. ACM, 2009.
  2. Chung, Tae-Sun, et al. "A survey of flash translation layer." Journal of Systems Architecture 55.5 (2009): 332-343. https://doi.org/10.1016/j.sysarc.2009.03.005
  3. Gupta, Aayush, Youngjae Kim, and Bhuvan Urgaonkar. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings. Vol. 44. No. 3. ACM, 2009.
  4. Dongwon Kang, Dawoon Jung, Jeong-Uk Kang and Jin-Soo Kim., "${\mu}$-Tree : An Ordered Index Structure for NAND Flash Memory", Proc. of the 7th Annual ACM Conference on Embedded Systems Software, 2007.
  5. Hua-Wei Fang, Mi-Yen Yeh, Pei-Lun Suei, and Tei-Wei Kuo, "An adaptive endurance-aware b+-tree for flash memory storage systems", IEEE Transactions on Computers, 2013.
  6. Bo-kyeong Kim, Min-hee Yoo, and Dong-Ho Lee, "An Efficient B-Tree Using Lazy Update on Flash Memory." Journal of KIISE : Databases (2012): 109-119.(in Korea)
  7. Wu, Chin-Hsien, Li-Pin Chang, and Tei-Wei Kuo. "An efficient B-tree layer for flash-memory storage systems." Real-Time and Embedded Computing Systems and Applications. Springer Berlin Heidelberg, 2004. 409-430.
  8. Nath, Suman, and Aman Kansal. "FlashDB: Dynamic self-tuning database for NAND flash." Proceedings of the 6th international conference on Information processing in sensor networks. ACM, 2007.
  9. Agrawal, Devesh, et al. "Lazy-adaptive tree: An optimized index structure for flash devices." Proceedings of the VLDB Endowment 2.1 (2009): 361-372.
  10. Li, Yinan, et al. "Tree indexing on solid state drives." Proceedings of the VLDB Endowment 3.1-2 (2010): 1195-1206.
  11. Artem B. Biryutskiy, "JFFS3 design issues", http://www.linux-mtd.infradead.org, 2005.
  12. Lee, Yong-Goo, et al. "${\mu}$-FTL:: a memory-efficient flash translation layer supporting multiple mapping granularities." Proceedings of the 8th ACM international conference on Embedded software. ACM, 2008.
  13. J. Ahn. D. Kang, D. Jung, J. Kim and S. Maeng, "${\mu}$*-Tree: An Ordered Index Structure for NAND Flash Memory with Adaptive Page Layout Scheme", IEEE Transactions on Computers, vol PP, no.99, p. 1, 2012.
  14. Fang, Hua-Wei, et al. "A flash-friendly B+-tree with endurance-awareness." Embedded Systems for Real-Time Multimedia (ESTIMedia), 2011 9th IEEE Symposium on. IEEE, 2011.
  15. NA, GAPJOO, Bongki Moon, and Sang-Won Lee. "IPL B-Tree for flash memory database systems." Journal of information science and engineering 27 (2011): 111-127.
  16. On, Sai Tung, et al. "Lazy-update b+-tree for flash devices." Mobile Data Management: Systems, Services and Middleware, 2009. MDM'09. Tenth International Conference on. IEEE, 2009.
  17. Yin, Shaoyi, Philippe Pucheral, and Xiaofeng Meng. "A sequential indexing scheme for flash-based embedded systems." Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology. ACM, 2009.

Cited by

  1. 플래시 변환 계층을 위한 DPW-LRU 캐시 교체 알고리즘 분석 및 개선 vol.15, pp.6, 2015, https://doi.org/10.14372/iemek.2020.15.6.289