Flash disks have become a popular alternative for magnetic disks, due to their fast I/O speed and other features such as small-size, shock-resistance, energy-efficient and non-volatile. However, flash disks also have characteristics of out-of-place update and asymmetric I/O latencies for read, write, and erase operations, which introduce new challenges into the indexing mechanism for flash disks. Traditional index structures do not take the flash I/O characteristics into account and, therefore, will cause poor performance. To address this problem, we present a new hybrid index structure for flash disks in this paper, which is called HashTree. HashTree aims at getting better update performance while keeping relatively high search efficiency. The HashTree uses a hash-based index to split the indexed records into several buckets, and then we develop a new tree structure named FTree to organize the records in each bucket. Compared with the previous tree-based indexes, our policy can reduce the costs of maintaining the hierarchical tree structure. We also introduce a tuning mechanism into the HashTree so that we can obtain appropriate trade-off between search performance and update performance. We conducted an experiment on a commercial SSD to evaluate the performance of HashTree. Compared with its competitors such as BFTL and FD-tree, our experimental results show that HashTree performs best in terms of both update performance and overall performance.
[1]
Jon Louis Bentley,et al.
Decomposable Searching Problems
,
1979,
Inf. Process. Lett..
[2]
Goetz Graefe,et al.
Write-Optimized B-Trees
,
2004,
VLDB.
[3]
Tei-Wei Kuo,et al.
An Efficient B-Tree Layer for Flash-Memory Storage Systems
,
2003,
RTCSA.
[4]
Bingsheng He,et al.
Tree Indexing on Flash Disks
,
2009,
2009 IEEE 25th International Conference on Data Engineering.
[5]
Dimitrios Gunopulos,et al.
Microhash: an efficient index structure for fash-based sensor devices
,
2005,
FAST'05.
[6]
Xiang Li,et al.
A New Dynamic Hash Index for Flash-Based Storage
,
2008,
2008 The Ninth International Conference on Web-Age Information Management.
[7]
Leonidas J. Guibas,et al.
Fractional cascading: I. A data structuring technique
,
1986,
Algorithmica.
[8]
Dong-Ho Lee,et al.
An Efficient Buffer Management Scheme for Implementing a B-Tree on NAND Flash Memory
,
2007,
ICESS.
[9]
Witold Litwin,et al.
Linear Hashing: A new Algorithm for Files and Tables Addressing
,
1980,
ICOD.