After being in development for more than one year
, BCache was finally merged on Wednesday into the mainline Linux kernel code-base. BCache serves as an SSD caching framework
for Linux by offering write-through and write-back caching through a newly-exposed block device.
The block device driver pull was merged
Wednesday afternoon. Arguably the most interesting block driver feature to be added to the Linux 3.10 kernel
BCache comes down to being a Linux kernel block layer cache where one or more SSDs (or other fast storage devices) can act as a cache for slower rotating disk drives, in somewhat a similar manner to some of the "SSHD" hybrid drives now on the market. BCache is similar to the L2Arc feature exposed on Oracle's ZFS file-system, but with being at the block device level, it's file-system agnostic. BCache is targeting the caching of random reads and writes to the faster storage medium than sequential I/O.
Aside from the supported Linux 3.10 (and later) kernel, there's also user-space "bcache-tools" that are needed for creating the cache and backing devices. When BCache devices are formatted for use, they are then registered with the kernel through a sysfs file.
For more details on BCache itself, read the Linux kernel documentation
and the BCache Wiki
Benchmarks and trial experiences with BCache in the Linux 3.10 kernel when paring HDDs and SSDs will come in a future Phoronix article.