Eu acho que você está confuso. Você não precisa trocar para armazenar em cache um disco lento usando um disco mais rápido. O espaço de troca é totalmente não relacionado a essa tarefa, é usado para aumentar a memória virtual disponível para um sistema (o kernel trará páginas para um dispositivo de troca quando precisar de mais memória para outra coisa - e, é claro, usando um disco rápido como um SSD ou um dispositivo de swap de RAM comprimido como zram é melhor do que usar um disco lento).
De qualquer forma, ignore o swap. É irrelevante aqui. bcache ou flashcache ou dm-cache todos fazem o que você quer.
BTW, o linux já usa toda a RAM disponível para armazenar discos em cache - e libera automaticamente a RAM do cache quando é necessário por um programa. O cache de RAM é muito mais rápido que o armazenamento em cache SSD.
Você só precisa de um cache baseado em SSD se quiser armazenar mais dados do que caberá na RAM.
A RAM é mais rápida (cerca de US $ 90 a US $ 150 por 16GB no momento - junho de 2016 - dependendo da marca, tipo e velocidade), mas os SSDs são maiores e mais baratos (aprox. US $ 80 a US $ 240,00). e os SSDs ficarão mais baratos e maiores muito mais rápido que a RAM .... eles já estão se tornando com preços razoáveis para modelos de mais de 500 GB, e até um Samsung SSD de 2 TB custa menos de 4 vezes o preço de um 7200 RPM de alta qualidade 2 TB HDD, e menos de 8 vezes o preço do HDD mais barato de 2 TB.
Espero que a lacuna de preço se feche rapidamente nos próximos anos e, no longo prazo, os SSDs serão mais baratos e maiores do que os HDDs (e também muito mais rápidos). Eu estou ansioso para isso, eu quero substituir meus zpools HDD com zpools SSD. É claro que, até lá, os sticks de memória RAM de 64 GB ou mais também estarão amplamente disponíveis e com preço razoável.
Chega dessa digressão, de volta ao cache ...
A partir das descrições no pacote Debian:
bcache
:
Bcache allows the use of SSDs to cache other block devices.
Documentation for the run-time interface is included in the kernel tree; in Documentation/bcache.txt.
flashcache
:
Flashcache is a write-back block device cache for Linux. Using the Linux device mapper (DM) it provides an overlay mapper, to cache chunks of data on a high speed caching device like a solid-state drive for fast read access.
Flashcache supports FIFO and LRU cache sets, is configurable and error resistant. It comes with a DKMS kernel module and a corresponding user land for command and control.
Trecho da página dm-cache
da wikipedia:
dm-cache is a component (more specifically, a target) of the Linux kernel's device mapper, which is a framework for mapping block devices onto higher-level virtual block devices.
It allows one or more fast storage devices, such as flash-based solid-state drives (SSDs), to act as a cache for one or more slower storage devices such as hard disk drives (HDDs); this effectively creates hybrid volumes and provides secondary storage performance improvements.
Além disso, o ZFS tem suporte interno para usar um dispositivo de bloqueio rápido (como um SSD) para armazenar em cache o pool.
Eu uso o ZFS e nem olhei para bcache ou fastcache por anos, então não posso recomendar um sobre o outro.
BTW, há uma postagem interessante sobre esse assunto no link , que também menciona < href="http://man7.org/linux/man-pages/man7/lvmcache.7.html"> lvmcache e EnhanceIO - Eu não sei nada sobre eles além do fato de que eles existem.
O desenvolvedor do Redhat / Fedora, Vratislav Podzimek, blogou uma comparação entre bcache vs lvmcache .