There appear to be various different technologies available to use an SSD to act as a cache for HHDs. The ones I know of:
- dm-cache (by Redhat - in the 3.9 Kernel, so it should be in ubuntu 13.10)
- Flashcache (developed and used by facebook)
- Bcache (developed and used by Google )
- EnhanceIO (by STEC; based on Flashcache)
Are there any noteworthy differences in the various implementations? Which one is best for regular desktop PC use - to increase performance of usual programs such as web browsers or games?
I really don’t know where to start, since all this is excellent information. I will start with some info about SSD’s, then a description of all the different caching methods, and just go from there. I hope that you
Advantages/Disadvantages
Best to have a hybrid system, to have the best of both worlds (capacity, reliability, speed, etc.)
Source:Iwn
Source:ArchLinux
Source:Bcache
Bcache has a big disadvantage, and that it takes away memory from the system to implement the cache.
Source:Stec-Inc
Source: Debian
Source: Complements of Fraser Sherman
So from the above information it’s clear that EnhanceIO is the way to go, but in my opinion since it’s based on Flashcache, I would go with flash cache. But I will definitely try both of them before making a final decision.
Feedback: I installed flashcache standard deb packages on Ubuntu about a year ago in write-back mode to cache /home (2TB) to a 50GB slice on a SSD. It has performed wonderfully with no problems. I have had a few X related "hangs" (ie not attributable to flashcache) and have used "Ctrl-Alt-PrtScr REISUB" a few times to recover with no problems and no corruption problems. I used flashcache because a) there were debs available and b) it did not require a backup and restore of /home.