Skip to Main Content
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.