FAST: A Generic Framework for Flash-Aware Spatial Trees

SSTD'11: 12th International Symposium on Spatial and Temporal Databases |

Spatial tree index structures are crucial components in spatial data management systems, designed with the implicit assumption that the underlying external memory storage is the conventional magnetic hard disk drives. This assumption is going to be invalid soon, as flash memory storage is increasingly adopted as the main storage media in mobile devices, digital cameras, embedded sensors, and notebooks. Though it is direct and simple to port existing spatial tree index structures on the flash memory storage, that direct approach does not consider the unique characteristics of flash memory, i.e., slow write operations, and erase-before-update property, which would result in a sub optimal performance. In this paper, we introduce FAST (i.e., Flash-Aware Spatial Trees) as a generic framework for flash-aware spatial tree index structures. FAST distinguishes itself from all previous attempts of flash memory indexing in two aspects: (1) FAST is a generic framework that can be applied to a wide class of data partitioning spatial tree structures including R-tree and its variants, and (2) FAST achieves both efficiency and durability of read and write flash operations through smart memory flushing and crash recovery techniques. Extensive experimental results, based on an actual implementation of FAST inside the GiST index structure in PostgreSQL, show that FAST achieves better performance than its competitors.