Preferences

forrestthewoods parent
> once you hit the boundary of these trick

Tell me more. When do I hit the boundary? What is perf before/after said boundary? What are the tricks?

Tell me something actionable. Educate me.


jdiff
Your tone is quite odd here. I'm having difficulty parsing your intention, but I'm going to assume you're being genuine because why not.

For the RAM cache, you hit the boundaries when you exhaust the RAM cache. It performs faster, but is smaller and once full, data has to be off/loaded at the rate of the slower backing NAND. It might not be RAM, either, sometimes faster SLC NAND is used for the cache.

It's not really possible to describe it much more concretely than that beyond what you've already been told, performance falls off a cliff when that happens. How long "it" takes, what the level of performance is before and after, it all depends on the device.

There are many more tricks that SSD manufacturers use, but caching is the only one I know of related to speed so I'll leave the rest in the capable hands of Google.

martinald
Two of the main ones actually aren't really DRAM related but how full the drive is.

For most (all?) SSD drives they need a good 20% of the drive free for garbage collection and wear levelling. Going over this means it can't do this "asynchronously" and instead has to do it as things are written, which really impacts speed.

Then on top of that on cheaper flash like TLC and QLC the drive can go much faster by having free space "pretend" to be SLC and write it in a very "inefficient" size wise but fast method (think a bit like striped RAID0, but instead of data reliability issues you get with that it only works when you have extra space available). Once it hits a certain threshold it can't pretend anymore as it uses too much space to write in an inefficient fast way and has to write it in the proper format.

These things are additive too so on cheaper flash things get very very slow. Learnt this the hard way some years ago when it would barely write out at 50% of HDD speeds.

RulerOf
> cheaper flash like TLC and QLC the drive can go much faster by having free space "pretend" to be SLC

I'm afraid I don't understand how exactly this makes it faster. In my head, storing fewer bits per write operation should decrease write bandwidth.

Of course we observe the opposite all the time, with SLC flash being the fastest of all.

Does it take significantly more time to store the electrical charge for any given 1-4 bits with the precision required when using M/T/QLC encoding?

martinald
In theory should be more efficient but in reality it's not. Any gains from 'modulating' efficiency are reduced by having to use very aggressive error correction and also write/read things multiple times (because the error rate is so high). I think QLC needs to do usually somewhere on the order of 8 "write/read" cycles for example to verify the data is written correctly.
ianferrel
Tone's hard to read in text, but I read the tone as "eagerly excited to learn more". I am also interested and appreciate your comment here.
Applejinx
From a lawyer, 'tell me something actionable' would mean 'cross the line and say something upon which I can sue you', so I sympathise with anyone finding it unsettling.

In context it's more likely a translation issue, perhaps from modern translation picking up a challenging tone and inadvertently turning it to 'challenged by a lawyer or cop' mode to maintain the tone.

forrestthewoods OP
My tone is a combination of genuine curiosity and moderate annoyance at a dismissive but unhelpful comment.

RootsComment: SSD speed is miraculous! Jorvis: well ackshually is just RAM and tricks that run out Me: your comment provides zero value

I am annoyed by well ackshually comments. I’d love to learn more about SDD performance. How is the ram filled? How bad is perf when you cache miss? What’s worse case perf? What usage patterns are good or bad? So many interesting questions.

jorvi
Look at this Kioxia Excera drive[0]. It plummets from 6800Mb/s (850MB/s) all the way to 1600Mb/s (200MB/s).

Its not really a well ackshually comment, there's real pitfalls. Especially when doing 4K. RAW 4K is 12Gb/s and would fill 450GB within 5 minutes. ProRes 4444XQ within 10 minutes. ProRes4444 in 40 minutes.

Martinald his comment is right too. By being very inefficient and treating TLC (or even QLC) as single level and only writing one bit to a cell, much higher performance can be extracted. But once you hit the 80% full threshold, the drive starts to repack the last/least used data into multiple bits per cell.

A RAM cache and SLC cache can both speed access times up, act as a write buffer and mask the shuffling of bits, but there is a limit.

Lastly, its kind of ironic to see me portrayed as jaded when someone else is the one pouring out vitriol all over the thread. Ah well.

[0]https://tweakers.net/reviews/12310/wd-sn5000-4tb-ssd-hoe-sne...

forrestthewoods OP
> this Kioxia Excera drive[0]. It plummets from 6800Mb/s (850MB/s) all the way to 1600Mb/s (200MB/s).

This is interesting. Thanks!

> Its not really a well ackshually comment, there's real pitfalls

I don’t doubt the existence of pitfalls. But the lack of specificity was quite irritating!

dylan604
Right? I’m comparing my direct experience of enduring the pain of slower than Christmas HDDs to the incredible speeds of SSDs, and get a well actually it’s not SSDs that are fast blah blah. Look dude, I don’t care about your magic smoke that you’re so smart you know how the smoke is made. I just care that I can transfer data at blisteringly fast speeds. I couldn’t care less about QLC, SLC, or TLC because reading/writing at >2GB/s is all the tender loving care I need. Don’t rain on my parade because you’re jaded.
forrestthewoods OP
I haven’t had a spinning platter in my dev machine since I think 2008 or 2009. Even back then an SSD was the single biggest upgrade I’d seen the first 3D accelerator cards in the late 90s. (Oh god I’m old).

More recently we saw SSDs get added to video game consoles and load times are about 4x faster. And that’s with code/data optimized for a spinning plate not an SSD.

I know they aren’t actually magic. But they might as well be! I’d love to hear details on what weird conditions reduce their performance by 10x. That’d be cool and fun to know. Alas.

mhio
Toms Hardware usually includes a "Sustained Write Performance and Cache Recovery" test

The test measures the write cache speed and the time to the fall to the native NAND write speed. There are usually irregularities in the sustained write speeds as well.

https://www.tomshardware.com/reviews/wd-black-sn850x-ssd-rev...

The other test I've seen is based on writing and using up free space, SSD performance can drop off as the free space fills up and garbage collection efficiency goes down. I think this impacts random writes particularly

In the enterprise space, drives tend to keep more over provisioned NAND free to maintain more consistent performance. Very early on the SSD timeline, it was advisable to only allocate 80% of consumer drives if you were using them outside of desktops and expected the workload to fill them.

This item has no comments currently.