The RAM Fly in the Caching Ointment: M.2 and PrimoCache

BonzaiDuck

Lifer
Jun 30, 2004
16,176
1,771
126
I'm posting this as a caution to better understanding for anyone who read my thoughts about using an M.2 NVMe as a caching drive with PrimoCache.

Yes, it can be done.

Yes, you can use any SATA SSD or M.2 SSD of any size as the caching drive. Or, yes -- Primo allows for drives of any size as caching SSDs.

Here's the fly in the ointment. The larger the SSD cache, the larger the memory overhead in addition to RAM caching which Primo also does.

For a 256GB caching volume on an SSD (my experiment used a Crucial MX100 500GB total), PrimoCache needs nearly 6GB of RAM without even allocating RAM for RAM caching. By comparison, a 64GB caching SSD needs something more than 1 and less than 2GB.

So I have no doubt that all this would work, for some number of enthusiasts who want a tiered storage scheme that includes the fastest (RAM and M.2) to the slowest of HDD spinners.

But if you have 16GB of RAM, you'd best add 8 more or simply double it.

So with the cost of the M.2 NVMe, another $100 on additional RAM, the Primo software or $30, well -- you have to ask yourself . . . .
 

XavierMace

Diamond Member
Apr 20, 2013
4,307
450
126
That's dumb. 6Gb of overhead for caching is ridiculous. Seriously, just get a bigger SSD and be done with it.
 

BonzaiDuck

Lifer
Jun 30, 2004
16,176
1,771
126
That's dumb. 6Gb of overhead for caching is ridiculous. Seriously, just get a bigger SSD and be done with it.

That's < 6GB of caching RAM-overhead for a 256GB cache. usually, the application of either the proprietary or PrimoCache solution used only 60GB SSDs for the cache.

It just proves the limitations for any use of the strategy. On the other hand, you could divvy up a 1TB M.2 for use as both boot-system storage and cache. But if you choose an SSD-cache size larger than 60 or 120GB, you then need more RAM.

So -- yeah -- this would mean to me that filling the M.2 slot would be more sensible for a 1TB drive, slightly less so with a 512, and ridiculously short-sighted for 256.
 

BonzaiDuck

Lifer
Jun 30, 2004
16,176
1,771
126
OK. It looks like 100GB for an SSD cache is "about right" for the bench performance increase and lower RAM overhead -- it's about 2.9GB. I can see one SSD cache per operating system in a two-OS dual-boot installation. You could then cache both spinners and SATA SSDs to the M.2, which would also have maybe 400GB partitions for the respective OSes. How performance might be less for using the same disk for both boot-system and cache, I can't say.

And the truth is, it would be easy to try and test. If not -- delete the cache volumes and expand the OS volumes after deleting the cache task in Primo.