Using fast SSD as cache for slower rotational media is an attractive idea. With reliable Intel SSD 311, 313 (and possibly 710) series the hardware is ready.

As for software there are several solutions available:

Bcache

Bcache is implemented as kernel patch and user space utility. Obviously patching kernel is an exercise for skilled not to mention that deployment would require testing for every kernel update. However maintenance burden is not the worst problem with bcache. We rejected bcache primarily because data partition has to be prepared i.e. "formatted" beforehand. This invalidates bcache as viable solution for plugging to existing file systems with data. Combined with already mentioned special kernel needs we have two big weaknesses that in our view outweigh all the potential benefits.

Bcache is not available as Debian package.

Flashcache

Flashcache is implemented as loadable kernel module and user space utilities to manage cache device through device mapper.

In 2011 we tried flashcache and found it reasonably reliable and stable. However when Debian package was ready we did benchmarking that produced disappointing results. Contrary to our expectations we've seen little speed improvement on some work loads while other operations suffered from significant slowdown on cache-miss reading operations. There were many cache misses on data that could completely fit to caching device even after repetitive reads. Reading from flashcached device was slower than reading directly from rotational media.

Some of those problems were probably associated with blocks alignment and sub-optimal transfer block size.

Significant limitation of Flashcache was also the fact that it didn't work on the i686 (x86_32) architecture.

Since 2011 Flashcache performance appears to improve.

Debian package with DKMS support is available.

EnhanceIO

EnhanceIO (just released) is immature yet impressive Flashcache successor that is not using device mapper and allows to attach caching device to mounted partition.

Debian package with DKMS support will be available soon.

Btier

Btier is not a cache but tiered storage that automatically moves frequently accessible data to fast(er) device.

Btier is not available as Debian package.

ext4 external journal on SSD

All the above caching solutions have negative impact on reliability in write-back mode where failure of caching device will certainly cause data loss or corruption. Write-through/write-around modes do not compromise reliability neither accelerate writing operations.

On ext4 there is a safe and effective way to accelerate writing by placing ext4 journal to SSD.

Journal device doesn't have to be redundant because ext4 can be easily recovered from loss of external journal.

This method requires no additional software.

See also

[Poll]

Useful (50%)


Worthless (50%)


Total votes: 4