StoreMI: Why Tiered Storage is better than cache on x470/Zen+ and Threadripper | Level One Techs

I’m still wrapping my head around this stuff, so sorry if this is a dumb question.

Is there a tiered storage solution out there that can access archived data faster than “spinning rust” HDDs?

When I was going to set up a file server, I was really hoping there would be a way for me to get faster read speeds than a HDD would allow. The dream was to be able to install all my roommates’ and my games on HDDs the file server and us just access them from there. Without getting too focused on that use-case, I wanted ~3-5 users to be able to access games from a server on the LAN and have better performance than if you were on a computer with one HDD or ~double that speed thanks to RAID.

I understand that a “cache” is limited to being kept up to date, and it has to “learn” where files are on the drive(s) it’s connected to. I’m having a hard time understanding how this tiered storage is fundamentally different from a cache, besides being configurable by the user.

@wendell said in the video something to the effect that StoreMi ‘won’t access something faster if you run it once’, which is what’s really tripping me up about how this is better than what I understand to be a “cache.”

I’m assuming the answer is no, but is there ever a sensible application where it makes sense to have extremely fast storage tiered over conventional SATA SSD storage, over “spinning rust” HDD storage? Where the SATA SSDs try to help the HDDs respond more quickly to what the user and NVME is trying to do. (I’d assume that even if there could be a performance benefit, the cost of “buffering” with SATA SSDs would outweigh any gains.)

@Steinwerks Ah, when you said “not included” the first time, I translated that as “freely downloadable”. My bad. Still, good to know I have that option, even if it costs money.

Yes, it’s called “either don’t use mechanical drives or use a shitload of them if you need better access speeds”. How do you even imagine it, reading data faster than the media storing said data allows to read it?
The point of read cache is to (a) prefetch sequential data and have next block ready for you before you ask for it and (b) store it for some time in the fast memory in case you’ll decide to read it again shortly afterwards. The point of write cache is to (a) rearrange random writes into series of sequential writes, (b) allow you to edit data before committing it to storage (if you write the same block twice, only one write operation will be performed on media) and © smooth down the write bursts/spikes into something more manageable by media. The point of tiered storage is to virtualize the storage. The data is stored on fast or slow media, depending on access frequency. It’s essentially the same as having system/software/games on SSD and videos/music/backup images on HDD, only you see just one disk of combined capacity and usually you don’t have to manage it, data moves between physical drives automagically.
And no, neither cache nor tiered storage will allow you to read data stored on “spinning rust” faster than it’s physically possible to read data stored on “spinning rust”.

Thanks for the explanation. I understand it better now!

“Free” as in “you pay it with the board price”.

BTW question on the side, is this X470only, or other 400 series chipsets as well?

AMD says all 400-series boards, and X399.

https://www.amd.com/en/technologies/store-mi

From the FAQ:

image

3 Likes

OK, question about that. If I listen to a lot of the same music in repeat, won’t that result in it eventually being moved to the faster tier and essentially waste that space (because the last thing I need is faster reads on music when windows takes an hour to boot)?

Also, anyone care to elaborate what’s so bad about SSHDs? Don’t they do the same thing? Tho I think they copy instead of move the content to the SSD part, it’s essentially the same thing in hardware, no?

I think the main problem with SSHD is the pitifully small size of the SSD “cache”. Most drives I’ve seen will pair an 8GB SSD with 1TB+ platters. That’ll help Windows boot a bit faster, but that’s about it.

It may. I’ve never seen tiered storage having any file-based QoS, it doesn’t care (or even know) about file types, data is data, and the only metric available is frequency of access. At most, I would expect something like that in Vmware VAAI, but haven’t seen it even there. In enterprise storages you can sometimes set up priorities for volumes/vdisks so that data on one LUN had higher chance to end up in higher tier than the other one, or override dynamic tiering completely, but you don’t get per-file granularity with such settings, all I’ve seen is just per-LUN/vdisk/volume/whatever vendor calls it. It’s not entirely block-based, either, as vendors usually use bigger chunk size for this mechanism (which is understandable because keeping heatmap with one block or even stripe size resolution would be kinda stupid), and it may prevent what you’re describing from happening.

1 Like

A less sexy app is the Nand efficiency/durability/heat angle.

AFAIK, MLC nand has an edge in these metrics, but at greater cost.

A hard working MLC fast tier ssd, paired with a cheaper capacious TLC ssd, yields the best of both in a hybrid ~array.

I am confident the files most users access more than once a week, would fit comfortably on 128GB.

1 Like

Can this be used with RAID 0?

I’d like to pair x2 7200RPM 2TB HDDs with x2 2.5" 256GB SSDs. The goal is to have the information redundant between the each tier, and then apply the StoreMI between the 2TB x 256GB configuration for tiered storage.

I strongly prefer a cache to tiered storage like SMI and apple’s fusion drives because if the cache drive dies, you don’t lose any data.

I bought the FuzeDrive Plus now, even if the “free” version was not working because of Installer incompatibility.
In fact the free version would have been inappropriate for my system, I would have had to split my NVME.
So now I am waiting for the drives to be entiered and then we will see how good it works…

and it’s finished allready, I don’t think I will really feel the difference in speed, my drives are allready very fast, but I gained more space, that’s nice.

FuzeDrive

with drives/setup that large, give it about 2-3 weeks to accumulate use counters on the blocks/data. with the 280gb optane + 1tb regular ssd… it made quite the difference.

2 Likes

SSHD is crap because they include very little flash and aren’t very intelligent about utiisation of it.

What would be nice is if you could tag files with some sort of metadata tag as “archive” or something like that and have them never moved into the fast tier.

1 Like

If having a drive failure causes you to lose data you are doing this whole computing thing wrong.

Have backups.
Repeat after me.
Have backups.

Ideally with a copy off-site.

Drives fail.
PCs fry components
PCs get stolen
User error happens
Malware happens
OS bugs happen
Application bugs happen
Houses burn down
etc.
Do not ever rely on a single copy of your data. If i can go into your house and cause you to lose a significant amount of data that you can’t get back, you are doing it wrong.

Thanks for the condescension, friend. I do take backups. I don’t want a drive failure to force me to restore them, because that’s a huge pain in the ass.

Yep. Come to think of it, that’s actually an area where ZFS, being a file system, could beat the shit out of traditional tiered storage, if they ever add support for more than just log/cache tiers.

1 Like

Well if you’re not doing RAID and you have a single drive failure of the spinning drive, you’re boned in that case as well.

Very little difference, and certainly not really a reason to poo on tiered storage as a performance enhancer. Anecdotally, these days you’re more likely to see a failure in the spinning rust drive anyway, and storage review’s actual SSD torture test study tends to back that assertion up.