Using (part of) my SSD as a cache for my HDD in Windows 10?

Hey,

When I bought this MSI GS63VR (6700HQ + 1060, open box), I decided to “trick out” the storage with the savings I had compared to a newer, 7700 model. I got a 512GB Samsung 850 Evo and a 2TB Seagate Firecuda, since I heard good things about both of those drives.

Lo and behold, I’m pretty unimpressed with the Firecuda. One time in particular, I had some friends over and was going to run couch co-op games off of the laptop and the SSHDD had an aneurysm. I definitely gave it a run for its money, installing several games (of varying size) with local multiplayer over the course of the day, but come time to play games, the drive was moving at a snail’s pace.

Even running ‘simple’ 2D games like Vagante and Death Road to Canada, I was getting stuttering and struggling to get above 30fps. Any time we’d enter a new zone where the HDD needed to be accessed, things would pretty much stop. My CPU and Memory utilization were fine (well below 50%), but the system was getting held up.

Anyways… the “SS” on the “HDD” is not impressing me, and so I’d like to get a proper SSD cache… using my SSD. I have a few questions/thoughts:

  • Is there a built-in functionality for this in Windows 10?
  • I’ve seen a paid program to configure this and it looked alright, but I’d rather not run extra software. (And have to pay for it.)
  • Will using a SSD to serve as a cache for my SSHDD cause problems? Should I get a regular 2.5" HDD to use in its place? I was going to replace it with a larger drive, but it turns out there isn’t a larger capacity 2.5" drive that will fit in my 7mm bay. Not to my knowledge. :frowning:

Being curious, could you perhaps run a disk benchmark and post the results for the Firecuda? I know that SSHDD’s are not going to be the fastest things in the world but from what I am reading there might be something else that could be the culprit here. That said, it won’t hurt :slight_smile:

I - personally - recommend CrystalDiskMark for the amazing price of free. You can get it at https://crystalmark.info/download/index-e.html

Hybrid drives do have a learning curve as the figure out what to store on the SSD part and what to keep on the disk so that could affect performance.

Do you mean primocache? Because I use that and it’s worth the $30 or whatever it is. In addition to SSD cache it also has a RAM cache which is more or less useless on its own but it has an option to prefill the RAM cache on boot with whatever was in there before making the RAM cache persistent.

Anyway, I recommend that. You can either make a partition on the SSD to use as the cache or if you didn’t want to repartition it (or can’t shrink the partition or whatever) you could make a virtual disk on the SSD and use that, I’ve tried that and it seemed to work fine although I’d imagine the perfromance wouldn’t be quite as good.

Yeah, Primocache is it I’m pretty sure. Do you have any idea if the Firecuda will still have hiccups? As I understand it, the SSD cache ‘logically’ stands between the HDD and my ‘computer’, so it seems like it could still slow down a “proper SSD cache” I configured myself in something like Primocache.

I’ll see if upgrading the RAM in my laptop is sensible, a RAM cache could be pretty cool.

@Aprazeth, I haven’t run a benchmark, no. But I’m curious as to how useful it would be since the issue seems to have to do with the SSD cache. The problem being that it has to “learn” where everything is (and I think adding a lot of stuff at once caused it to really drag its feet), and I suspect that would either happen every benchmark or only on the first one.

It shouldn’t be slower, most likely the cache on the disk will not do anything. Although primocache and the disk cache will be using different caching algorithms so there will be a small amount of non-overlapping cache which would, if anything, be faster.

I’ve heard of multiple reports over the years of SSHD performing ‘oddly’.

Using a caching SSD with a hard drive doesn’t do squat. I did that on my last system, and it didn’t make any difference. I don’t recommend doing it because you have to use Intel RST.

Even Optane, which is the evolution of Intel RST + SSD hard drive caching is hit and miss.

What it boils down to is that there is no substitute for a SSD.

I’d like to see these SSHDs tested. What happens when you make ONLY a 2GB partition on a brand new drive? Since that 2GB fits entirely within the 8GB of SSD on the drive, shouldn’t that 2GB partition run as fast as a SSD? I don’t know if anyone has tested this.

This is not how SSHD’s work at all.

The flash memory portion of the disk is not addressable as part of the disks sectors.

Its transparent to the computer and used as a cache by the drives own controller. It will simply cache the most commonly accessed disk addresses data in the flash(SSD) storage for faster retrieval.

So there’s no way to force it to give you a partition on the SSD.

which is why the 2GB size of the partition (contiguous drive extents) is important relative to the 8GB of SSD space within the drive.

Wouldn’t that 2GB have to be within the “most commonly accessed disk addresses” as you said? And if so, wouldn’t you expect full performance of that 2GB partition - the most that the SSD could output?

That’s what I propose be tested.

The 2.5" versions of Firecuda (at least 2TB) have only 5400 RPM spin, so apart for the NAND cache the drive is as slow as slowest HDD laptop disks (I mean that all 5400 RPM disk are slow to the point that comparing them usually make nowadays not much of difference in the end).

8GB of a cache is relatively small for a 2TB too, given the typical sizes of games nowadays.

To be honest I have that 2TB Firecuda in my console, and I’m happy with it - I simply knew what I was going into, and also on console I usually do not switch much between the games so I expect the cache hits are good.

As for the possibility to use the other SSD caching solutions:

  • Intel RST: as with the past, I would not be surprise that the newest chipsets supporting Optane are in reality fully a software solution, changing BIOS is actually a risk the any active RST feature in use, from the cache, to the RAID alike (well for a just SSD cache maybe not so much).
  • I know and I used on x99 ASUS board an SSD cache feature ( had two modes: size extension and just caching hot areas) - maybe MSI has something like that too (but I would not be surprised if actually none of the vendors would try to support it on laptop even if has two slots for drives)
  • one of the 3rd party solutions was mentioned, I cannot much comment on that - long time ago I used one of them but I cannot recommend that specific solution I used.
  • Windows 10 - in general Windows 10 and Server 2016 have “Storage Spaces”. One of the features of storage spaces is the ability of SSD caching. But the number of available features goes from full in Server 2016 to some in Windows 10 Pro, to even less in Windows 10 Home (if not none at all). If you want to lookup that feature, the name is “tiered storage spaces”. Most likely you will need to use PowerShell commands to do this. The “tiered” feature might not be even possible for just one HDD and SSD.

To be honest I do not recommend any of the mentioned possibilities above. You will never be in any way close to just pure SSD performance. And in general caches are under the strict low of diminishing returns what especially can be felt with 5400 RPM medium (any cache miss is like sending medieval messenger on the horse to the to castle miles away).

The actual real benefit from trying mentioned solutions will be learning and reading how it works :slight_smile:

The nand cache on these drives is tiny, game data would be flushed in no time, unless you play the same level over and over again there is no way it could have what you need already loaded. At best these things are for light office use, some of that work load might stay cached.
I had a 32Gb sandisk SSD readycache back in the day, it was useless.
Games are regularly 60GB+ these days, just too big to be practically cached.