2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

FAQ, getting help, user experience about PrimoCache
GoldenSun3DS
Level 3
Level 3
Posts: 15
Joined: Wed Mar 09, 2022 9:52 pm

2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

Post by GoldenSun3DS »

I've been testing this out on my 256GB NVME SSD with a test partition on my 6TB HDD to decide on what size/amount of NVME SSD to buy to cache my 6TB HDD.

Here is the results of my testing if anyone is curious:

SSD cache larger than the test partition on HDD:
https://media.discordapp.net/attachment ... 5525_1.mp4

SSD Cache equal to about 33% of the test partition:
https://media.discordapp.net/attachment ... 4620_1.mp4

Both scenarios are using a random selection of Steam games, 64KB Block size and fully focused on read performance. The first one was copied to my SATA SSD, and the second one was copied to my NVME SSD (not enough NVME space to copy the entire partition in the first test). My 6TB HDD is in a USB Enclosure.



I stumbled upon this thread:

viewtopic.php?t=5110
The current L2 volume limit is 2 TB. You can't present a volume of a larger size than that to Primocache (>2 TB is a planned future feature).
Has this changed? If not, is there any way to bypass it? Splitting my HDD and SSD into partitions?

I was thinking of getting a 2TB NVME SSD, and then later adding another of the same model in RAID 0. I'd have the NVME SSD cache my 6TB HDD and a 240GB SATA SSD with my OS (W11) installed on it. With a 300GB NVME partition left open for fast, temporary storage for screen recordings.

But if there's a 2TB limit, that makes getting more than 2TB of NVME SSD a waste of money. Can you have a single SSD serve as a cache for multiple drives? Can you have multiple SSDs not in a RAID setup cache a single drive? If so, would that have the effect of RAID 0 for speeding up the cache?

Another option I was thinking of was a bunch of smaller SATA SSDs in RAID 0 for the cache, but that would only theoretically barely match the speed of a single NVME SSD.
User avatar
Support
Support Team
Support Team
Posts: 3731
Joined: Sun Dec 21, 2008 2:42 am

Re: 2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

Post by Support »

Since v4.2.0, PrimoCache Pro and Server has supported L2 cache space larger than 2TB in each cache task. For edition comparisons, please see https://www.romexsoftware.com/en-us/pri ... ition.html
GoldenSun3DS
Level 3
Level 3
Posts: 15
Joined: Wed Mar 09, 2022 9:52 pm

Re: 2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

Post by GoldenSun3DS »

Thank you for the answer. I ended up buying two 1TB Intel 670P NVME SSDs from Newegg at $81 each. I cleared up some junk files on my HDD and got it down to 4TB used space, so I think 1.7TB will do for cache (around 256GB will be dedicated to fast temporary storage).

I'd love it if a feature was added to have support for multiple SSDs caching an HDD. When I tested that out, adding a cache to a drive made it so that I couldn't add another SSD to cache that drive.

Or having tiered caching. As an example, having an NVME SSD and a SATA SSD both cache an HDD, with most used data first going to the faster cache. Similar to how you can dedicate RAM as L1 cache. Just with that NVME SSD as L1.5 cache.
User avatar
Support
Support Team
Support Team
Posts: 3731
Joined: Sun Dec 21, 2008 2:42 am

Re: 2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

Post by Support »

You can combine multiple SSDs into one volume via raid or dynamic disks, and then use this volume as level-2 cache.
GoldenSun3DS
Level 3
Level 3
Posts: 15
Joined: Wed Mar 09, 2022 9:52 pm

Re: 2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

Post by GoldenSun3DS »

Which would perform better for cache, 2 NVME SSDs in RAID 0, or those NVME SSDs combined as a dynamic disk in Windows? How would Primocache behave if I were to combine fast NVME SSDs with slower SATA SSDs as a dynamic disk for cache?

Would adding the SATA SSD slow down the cache on the NVME SSDs?
GoldenSun3DS
Level 3
Level 3
Posts: 15
Joined: Wed Mar 09, 2022 9:52 pm

Re: 2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

Post by GoldenSun3DS »

One more question: If I have a combination of NVME and standard SSDs in a dynamic drive as a cache, will Primocache recognize this and store most used files on the fastest part first?

Example:
Two 1TB NVME SSDs in RAID 0 as Drive A
256GB NVME SSD as Drive B (using M.2 to PCie adaptor)
240GB SATA SSD as Drive C
120GB SATA SSD as Drive D

I then combine all of those drives into a single Dynamic Drive with Windows' Partition manager. I set that combined drive as a cache for my 6TB HDD.

Would Primocache store the most used files in Drive A until it fills up, then Drive B until it fills up, then Drive C until it fills up and then Drive D until it fills up? Or would it end up storing files in random parts, resulting in some files getting faster boost and some files getting lesser boost? Or would all of the cache space run at the slowest drive's speed (Drive D)?
User avatar
Support
Support Team
Support Team
Posts: 3731
Joined: Sun Dec 21, 2008 2:42 am

Re: 2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

Post by Support »

GoldenSun3DS wrote: Sat Mar 12, 2022 3:11 am One more question: If I have a combination of NVME and standard SSDs in a dynamic drive as a cache, will Primocache recognize this and store most used files on the fastest part first?
No, it will not. PrimoCache doesn't check underlying physical drives. It processes based on logical volumes.
User avatar
Support
Support Team
Support Team
Posts: 3731
Joined: Sun Dec 21, 2008 2:42 am

Re: 2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

Post by Support »

GoldenSun3DS wrote: Fri Mar 11, 2022 6:09 am Which would perform better for cache, 2 NVME SSDs in RAID 0, or those NVME SSDs combined as a dynamic disk in Windows?
It seems that overall performance of them is rather similar.
GoldenSun3DS wrote: Fri Mar 11, 2022 6:09 am Would adding the SATA SSD slow down the cache on the NVME SSDs?
Yes, the overall performance is lower.
GoldenSun3DS
Level 3
Level 3
Posts: 15
Joined: Wed Mar 09, 2022 9:52 pm

Re: 2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

Post by GoldenSun3DS »

Support wrote: Sat Mar 12, 2022 3:22 am
GoldenSun3DS wrote: Sat Mar 12, 2022 3:11 am One more question: If I have a combination of NVME and standard SSDs in a dynamic drive as a cache, will Primocache recognize this and store most used files on the fastest part first?
No, it will not. PrimoCache doesn't check underlying physical drives. It processes based on logical volumes.
I did an experiment with test partitions:

https://youtu.be/vBORNzYCw1I

HDD: 5.37GB partition
NVME SSD + SATA SSD: 5.66GB partition (half each)
RAMDisk: 5.99GB
5.15GB test file for copying to RAMDisk

It kind of looks like it does prioritize the faster drive. Or Windows recognized that part of the dynamic drive was faster, and had the faster drive written to first when it was told to write to the dynamic drive. And Primocache just wrote data to the drive where Windows told it to.

When I was copying the test file to the RAMDisk the first time, Task Manager showed that the NVME SSD was being written to while the SATA SSD was not being written to. Then after awhile, it showed the opposite: NVME SSD unused while the SATA SSD was being written to.

Then when I copied the test file again from the HDD Test Partition to the RAMDisk, it ran at the speed of the NVME SSD for around half the progress bar, then dropped down to SATA SSD speed. I ran this multiple times and it did it multiple times.

I'd guess that the first files written to the cache will fill the faster storage first as directed by Windows, but after that, Primocache won't move files around to keep the most used data on the faster storage. So files will probably be randomly on faster or slower storage until the cache is reset and the process starts over.

I'd need some more experimenting to find out if Primocache will move cache files around to keep the most used files on the fastest drive in a dynamic drive. Like if I delete a most used file, would the next thing written take its place on the faster drive? And if that next thing written happens to be seldom used, but often enough to go on the cache, would that mean that a new most used file could end up stuck on slower storage?

This could be a lot simpler if Primocache could have a feature of supporting multiple SSDs directly and automatically move cache around to keep most used files on the faster storage. Like how it puts most used files on RAM before SSD.
GoldenSun3DS
Level 3
Level 3
Posts: 15
Joined: Wed Mar 09, 2022 9:52 pm

Re: 2TB L2 volume limit? Can you have a single SSD serve as a cache for multiple drives?

Post by GoldenSun3DS »

Now that I think about it, it could have just been coincidence that it filled up the faster drive first. It could just be that it was set to fill up that specific partition before filling the second partition, and Windows didn't recognize that one drive was faster than the other.
Post Reply