Is there a kernel module or some other patch or something similar to Windows' ReadyBoost?
Basically I'm looking for something that allows disk reads to be cached on a Flash drive.
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.Sign up to join this community
Bcache could be exactly what you're looking for:
Bcache is a Linux kernel block layer cache. It 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.
I'm eagerly awaiting its inclusion into Linux mainline, but unfortunately it's still not quite there.
Some nice and readable info is also available here:
Try it out and see how it works on your system!
There is none, and it really doesn't make sense anymore.
ReadyBoost was useful for a short period of time when machines were RAM-limited, drives were slow, and flash was cheap. With RAM so cheap now, it makes much more sense to use RAM instead.
Typical flash drives these days have write speeds of only about 5MB/s and read speeds of about 20MB/s. Compare that to your hard drive's 50MB/s read and write and there doesn't seem to be much point.
Real-world performance benefits from ReadyBoost are only seen on heavily memory-constrained systems.
I've been asking myself the same question, and being unsatisfied with current answers here, did a bit of research on my own. This is untested so far, but this arcticle on Linux 3.9 changes provided a useful starting point. It mentions three technologies which should achieve effects similar to ReadyBoost, although sometimes the focus appears to be on caching writes instead of reads. Further research found even more.
I'll probably update this answer once I've gained some first hand experience with at least one of these. Until then, searching the web with one of these names as a keyword should yield fair amounts of tutorials, descriptions, opinions and benchmarks.
I haven't found such a module for Linux but DragonFly BSD has something equivalent to Windows ReadyBoost. The feature is called SwapCache. It uses a fast swap partition (SSD/Flash) to cache data and meta-data from another drive (HDD).
The man page explains how to configure the information to cache. It describes use cases and when and how to use such a caching mechanism. It appears to be interesting when the system is swaping only from time to time (i.e. the amount of RAM is slightly short) or for frequent reads and writes of meta-data.
Linux has cachefs, which allows you to add a backing cache filesystem to any filesystem. It was originally designed and released in 1993 by Sun Microsystems for use with NFS, and was quickly copied by other Unix-like systems. So yes, it's already there and has been for years. :)
Well, from what I understand, Readyboost is basically an extension to the pagefile, which is comparable to the swap partition on FreeBSD (which I think would be similar in Linux), so you might be able to just make a partition the flashdrive to have a swap partition on it.
However, I know almost nothing about these things.