There are several cache solutions on Linux that utilize faster SSD advantages to boost disk IOPS. Here are most popular ones



Oldest and most stable cacje solution on Linux. Developed in 2006 by IBM research group, and merged into Linux kernel tree in version 3.9. Uses the device-mapper framework to cache a slower device.

dm-cache is a device mapper target written by Joe Thornber, Heinz Mauelshagen, and Mike Snitzer.

It aims to improve performance of a block device (eg, a spindle) by dynamically migrating some of its data to a faster, smaller device (eg, an SSD).


bcache – a Linux kernel's block layer cache, developed by Kent Overstreet. Newest option and does not rely on device-mapper framework.

Bcache allows one or more fast disk drives such as flash-based solid state drives (SSDs) to act as a cache for one or more slower hard disk drives.

The design goal is to be just as fast as the SSD, minimize write inflation to the greatest extent possible, and never itself does random writes. It turns random writes into sequential writes - first when it writes them to the SSD, and then with writeback caching it can use your SSD to buffer gigabytes of writes and write them all out in order to your hard drive or raid array. If you've got a RAID6, you're probably aware of the painful random write penalty, and the expensive controllers with battery backup people buy to mitigate them. Now, you can use Linux's excellent software RAID and still get fast random writes, even on cheap hardware.


On RHEL6.7, LVM provides full support for LVM cache logical volumes. Using dm-cache, a LVM cache logical volume uses a small logical volume consisting of fast block devices (such as SSD drives) to improve the performance of a larger and slower logical volume by storing the frequently used blocks on the smaller, faster logical volume.


Flashcache – a disk cache component for the Linux kernel, initially developed by FacebookKernel. Its module inspired by dm-cache and developed/maintained by Facebook.Also uses the device-mapper framework. It's a project Facebook open-sourced in 2011 that is a kernel-level solution for providing a block cache for Linux that supports multiple caching models. Flashcache can be used to accelerate reads and writes from slower rotational media by caching the data on a solid-state drive.

Flashcache can provide a simple persistent block cache to accelerate readers and writes from slower rotational media while caching the data on solid-state storage. Facebook originally designed this module to accelerate their MySQL database workloads, but it's a generic caching module for any disk-heavy workload.

Flashcache currently provides three caching modes: writeback, writethrough, and writearound. These modes plus how to use the kernel module and respective user-land utility can be found in their documentation.

EnhanceIO, RapidCache

Both variations of FlashCache. Based upon Flashcache, STEC Inc has opened up their EnhanceIO SSD caching software for Linux. EnhanceIO uses SSDs as cache devices for traditional HDDs and works with any block device whether it be an actual physical device, a disk partition, a RAID-ed DAS device, SAN volumes, and device mapper volumes.

EnhanceIO supports caching modes of read-only, write-through, and write-back. The cache replacement policies are random, FIFO, and LRU. 

Hybrid drive

Hybrid drive – a storage device that combines flash-based and spinning magnetic media storage technologies.

It doesn't have to be a physical drive that has both SSD and SATA drives in it. It could be a logical storage device that generally combines a fast storage medium such as NAND flash with a slower alternative such as a HardDisk Drive (HDDy, with the intent of adding some of the speed of flash storage to the cost-effective storage capacity of traditional HDDs. The purpose of the SSD in a hybrid drive is to act as a cache for the data stored on the HDD, improving the overall performance by keeping copies of the most frequently used data on the faster SSD

Smart Response Technology

Smart Response Technology (SRT) – a proprietary disk storage caching mechanism, developed by Intel for its chipsets.

The user can select write-back (so-called maximized mode) or write-through (so-called enhanced mode) caching strategy