This paper presents a low-overhead caching method called
FaCE that utilizes flash memory as an extension to a DRAM
buffer for a recoverable database. FaCE caches data pages
in flash memory on exit from the RAM buffer. By basing
its caching decision solely on the RAM buffer replacement,
the flash cache is capable of sustaining high hit rates
without incurring excessive run-time overheads for monitoring
access patterns, identifying hot and cold data items,
and migrating them between flash memory and disk drives.
We have implemented FaCE and its optimization strategies
within the PostgreSQL open-source database server and
demonstrated that FaCE achieves a significant improvement
in the transaction throughput.