SSD with SSD-cache-thingy?

Hi.
I'm quite certain this is a futile hunt for more power, and that she's giving it all she got. But I need to know.. So here we go:

Is it possible to have an SSD backing up another, larger and faster SSD? The idea is that even a 500MB/s R/W SSD is unbearingly sluggish when compared to the bandwidth of any modern 32 or 64bit CPU. So my hypothesis is that having a small second SSD from where the most used blocks (or files or whatever) can be acquired, in parallel with the main SSD; would speed up the read process on those blocks/files/whatever.

Am I completely off track, or is this theoretically possible?
Will the overhead mess up any possible gain from such a setup?

You could do RAID, but both would have to be the same size, as it would only use the amount of space that the smallest hard drive is. If you do go for RAID the overhead will not cause negligible performance.

If you do not want to go for RAID I believe their is an article on the internet that talks about caching apps on an SSD. I believe the post was talking about Ubuntu, but I am sure it would work for all OS' as this is a file system thing.

Their is also bcache. This seems to be more of what you want. http://bcache.evilpiepirate.org/

You're still limited by the sata port. Your best bet is to use a PCI-E SSD or use "rapid storage" where data is stored in your ram like I have on my Maximus VI hero. Works best with high amounts of ram and impractical for workstations due to data taking up your ram space.

TL;DR get a PCI-E SSD

What you're describing is done on all modern storage devices. HDDs have a small fast cache. Then there are the hybrid SDD/HDD drives, even newer SSDs use cheaper TLC memory with a small MLC cache for example. Are you maybe thinking also of Windows Readyboost or even a RAM drive.

I'm sure there must be software utils that try to use a RAM cache to do that have a search.

I use ram caching which caches the most used things for that boot up and pulls from the ram instead of the ssd.. not sure if that would work for what you're trying to accomplish, i use it to fix texture streaming issues in modded skyrim mostly.

The big one is a 500GB OCZ Vertex 4, and the small one is a 32GB Liteon 32L6M mSATA. So no RAID :/
I'm new to Linux, but I have fallen in love with Arch. I'll look into bcache. Thanks :)

Isn't Linux doing most of that by default? I got 16GB RAM, so it's probably be the right way to go when it comes to post-boot operations. But I was thinking of boot-time too.

@Fr33Th1nk3r: It's a laptop, so no PCI-E

BTW: This is not important. This is mostly for pure curiosity, and a bit for fun.

Ohh ok I thought it was a rig.

Software to do this in Windows exists. Here is an example a few people in the flight sim community swear by (others think it is snake oil) https://www.romexsoftware.com/en-us/primo-cache/

I'd imagine that few regular games would benefit from it, flight simmers tend to like this kind of stuff as they often have very high definition custom textures for terrain and cities etc which need to swap between disk and RAM.

In the server world we similar kinds of thing designed into the product e.g. in SQL Server we design databases so that certain files can be placed on different tiers of disk and can also create Buffer Pool Extensions (pagefiles) on fast disk to cache clean memory pages.

In Windows Server 2012 you can create a storage pool out of a mix of SSD's and regular disks telling Windows which ones are SSD's. It will then place the frequently accessed data onto the SSD's. I don't believe Windows 8/10 have the ability to create this but if you create the storage pool in Server 2012 first you can import it into a Windows 8 or 10 desktop. If you did this with two SSD's, one faster than the other you would achieve your goal.

Yes Linux does have its rapid start tech though I think in the power options. Not sure on other distros but on Linux Lite it's there.

I researched this some months back, because I thought the ram-usage on Arch was ridiculous, when compared to Windows'.

However, when I learned the reason for this; I must admit I found it downright retarded of Microsoft, not to employ the same principles of ram-usage, used in Linux...

1 Like

Read up on the system-file cache and the write back cache; it is there but works differently to Linux - I've never looked into see which is 'better' though. https://msdn.microsoft.com/en-us/library/windows/desktop/aa364218%28v=vs.85%29.aspx

Just one word of caution - write caches may seem great but never use them for mission critical servers without battery backed RAID cards - especially on database servers. Corrupt database are rarely a good thing :0)

1 Like

I'm absolutely paranoid when it comes to unplanned power loss on linux. ^^
On all my laptops, I have both percent, and countdown timer for my batteries on taskbar.

I even have an archaic UPS, that my previous employer wanted to get rid of. Using it on my main rig.
And I don't even have anything critical ;)

Oh! And thanks for the link!

I recently stumbled upon this article at Freedom Penguin (great site btw) on bcache where the author uses bcashe to cache on an M.2 for a HDD. Though, I don't think it will be beneficial at all if the main storage is already an SSD.

Hmm.. All i find about cache is that it must be faster than the main storage to have any positive net effect. Parallel was my key word in this, as my secondary drive is actually slower than my primary. Imagine it as like reading from a striped RAID.

I suspect it will be too much work, with too little gain for anyone to lay down the hours to get this working optimally. In my mind; there's still a possibility that this will work. But that might simply be because I have too little knowledge about the nitty gritty of the CPU, the storage and the BUS.

I looked into this briefly for using my m2 drive on the motherboard as a cache for a HDD but really it wasn't worth it so I just use the m2 for the OS and common files.

My motherboard does support this natively for windows, m2 used as cache but as I'm not running windows I never got around to trying it.

I know this is a late reply to this thread, but I currently own a Samsung 850EVO 250 and when I .tar an entire directory the write speeds are sustained throughout. I use iotop from the terminal to watch the io on the ssd and system. My question to you is if you have monitored the io of your SSD? Because some SSD's do not sustain write speeds as the MLC in the SSD is around 8GB...