Design and Implementation of B-Tree on Flash Memory

플래시 메모리 상에서 B-트리 설계 및 구현

  • Published : 2007.04.15

Abstract

Recently, flash memory is used to store data in mobile computing devices such as PDAs, SmartCards, mobile phones and MP3 players. These devices need index structures like the B-tree to efficiently support some operations like insertion, deletion and search. The BFTL(B-tree Flash Translation Layer) technique was first introduced which is for implementing the B-tree on flash memory. Flash memory has characteristics that a write operation is more costly than a read operation and an overwrite operation is impossible. Therefore, the BFTL method focuses on minimizing the number of write operations resulting from building the B-tree. However, we indicate in this paper that there are many rooms of improving the performance of the I/O cost in building the B-tree using this method and it is not practical since it increases highly the usage of the SRAM memory storage. In this paper, we propose a BOF(the B-tree On Flash memory) approach for implementing the B-tree on flash memory efficiently. The core of this approach is to store index units belonging to the same B-tree node to the same sector on flash memory in case of the replacement of the buffer used to build the B-tree. In this paper, we show that our BOF technique outperforms the BFTL or other techniques.

최근 PDA, 스마트카드, 휴대폰, MP3 플레이어와 같은 이동 컴퓨팅 장치의 데이타 저장소로 플래시 메모리를 많이 사용하고 있다. 이런 장치는 데이타를 효율적으로 삽입, 삭제, 검색하기 위해 B-트리와 같은 색인기법을 필요로 한다. 플래시 메모리 상에서의 B-트리 구현에 관한 기존 연구로서는 BFTL(B-Tree Flash Translation Layer) 기법이 최초로 제안 되었다. 플래시 메모리는 읽기연산보다 쓰기연산 비용이 훨씬 크며, 덮어쓰기(overwrite)가 불가능하다는 특정을 갖고 있다. 따라서 BFTL 기법에서는 B-트리 구축 시 발생되는 다량의 쓰기연산을 최소화하는데 초점을 맞추고 있다. 하지만 BFTL 기법에 성능 개선의 여지가 많이 남아 있으며, BFTL 기법이 SRAM 메모리 공간을 증가시킨다는 단점 때문에 비현실적이다. 본 논문에서는 플래시 메모리 상에서 효율적으로 B-트리를 구축하기 위한 BOF(B-Tree On Flash Memory)기법을 제안한다. BOF 기법의 핵심은, B-트리 구축 시 사용하는 임시 버퍼의 인덱스 유닛(index unit)들을 플래시 메모리에 저장할 때 같은 노드에 속하는 인텍스 유닛들을 같은 섹터에 저장하는 것이다. 본 논문에서는 성능평가 실험을 통해 BOF 기법의 우수성을 보인다.

Keywords

References

  1. Michael Wu, and Willy Zwaenpoel, 'eNVy: A Non-Volatile, Main Memory Storage System,' In proceeding of 6th Symposium on Architectural Support for Programming Languages and Operating System, pp.86-87, 1994
  2. F. Douglis, R. Caceres, F. Kaashoek K. Li, B. Marsh, and J. A. Tauber, 'Storage Alternatives for Mobile Computers,' In Proceedings of the 6th Symposium on Operating System Design and Implementation, pp.86-97, 1994
  3. Intel Corporation, 'Understanding the Flash Translation Layert (FTL) Specification,'http://developer. intel.com/
  4. Intel corporation, '3 Volt Synchronous Intel StrataFlash Memory,' http://www.intel.com/
  5. J.Kim, J.M. Kim, S.H. Noh, S.L. Min, and Y. Cho, 'A Space-Efficient Flash Translation Layer for Compact Flash System,' IEEE Transactions on Consumer Electronics, Vol.48, No.2, pp.366-375, 2002 https://doi.org/10.1109/TCE.2002.1010143
  6. Amir Ban, and Ramat Hasharon, 'FLASH FILE SYSTEM OPTIMIZED FOR PAGE-MODE FLASH TECHNOLOGIES,' Assignee: M-systems Flash Disk Pioneers Ltd., Patent Number: 5,937,425, Date of Patent: 8/10/1999
  7. Petro Estakhri, Berhau Iman, and Ali R. Ganjuei, 'MOVING SECTORS WITHIN A BLOCK OF INFORMATION IN A FLASH MEMORY MASS STORAGE ARCHITECTURE,' Assignee: Lexar Media, Inc., Patent Number: 6,145,051, Date of Patent: 11/7/2000
  8. Takayuki Shinohara, 'FLASH MEMORY CARD WITH BLOCK MEMORY ADDRESS ARRANGEMENT,' Assignee: Mitsubishi Denki Kabushiki Kaisha, Patent Number: 5,905,993, Date of Patent: 5/18/1999
  9. Chin-Hsien Wu, Li-Pin Chang, Tei-Wei Kuo, 'An Efficient B-Tree Layer for Flash-Memory Storage Systems,' Real-Time Computing Systems and Applications, 2003
  10. L.P. Chang, and T.W. Kuo, 'A Dynamic-Voltage-Adjustment Mechanism in Reducing the Power Consumption of Flash Memory for portable Devices,' The 8th International Conference on Real-Time Computing Systems and Applications, 2002.
  11. Samsung Electronics, '256M x 8 Bit / 128M x 16 Bit NAND Flash Memory,' http://www.samsungelectronics.com/
  12. Patrick O'Neil, Edward Cheng, Dieter Gawlick, and Elizabeth O'Neil, 'The Log-Structured MergeTree(LSM-Tree),' Acta Information, Vol 33, No. 4, 1996
  13. M. Rosenblum, and J.K. Ousterhout, 'The Design and Implementation of a Log-Structured File System,' ACM Transaction on Computer Systems, 1992 https://doi.org/10.1145/146941.146943
  14. Christophe Bobineau, Luc Bouganim, Philippe Pucheral, Patrick Valduriez, 'PicoDBMS: Scaling down Database Techniques for the Smartcard,' In proceeding of the 26th International Conference on Very Large Databases, Cairo, Egypt, 2000.