←back to thread

420 points speckx | 3 comments | | HN request time: 0.696s | source
Show context
dylan604 ◴[] No.44533476[source]
SSD speeds are nothing short of miraculous in my mind. I come from the old days of striping 16 HDDs together (at a minimum number) to get 1GB/s throughput. Depending on the chassis, that was 2 8-drive enclosures in the "desktop" version or the large 4RU enclosures with redundant PSUs and fans loud enough to overpower arena rock concerts. Now, we can get 5+GB/s throughput from a tiny stick that can be used externally via a single cable for data&power that is absolutely silent. I edit 4K+ video as well, and now can edit directly from the same device the camera recorded to during production. I'm skipping over the parts of still making backups, but there's no more multi-hour copy from source media to edit media during a DIT step. I've spent many a shoot as a DIT wishing the 1s&0s would travel across devices much faster while everyone else on the production has already left, so this is much appreciated by me. Oh, and those 16 device units only came close to 4TB around the time of me finally dropping spinning rust.

The first enclosure I ever dealt with was a 7-bay RAID-0 that could just barely handle AVR75 encoding from Avid. Just barely to the point that only video was saved to the array. The audio throughput would put it over the top, so audio was saved to a separate external drive.

Using SSD feels like a well deserved power up from those days.

replies(8): >>44533735 #>>44534375 #>>44535266 #>>44535471 #>>44536311 #>>44536501 #>>44539458 #>>44539872 #
jorvi ◴[] No.44535471[source]
It's not really the SSDs themselves that are incredibly fast (they still are somewhat), it's mostly the RAM cache and clever tricks to make TLC feel like SLC.

Most (cheap) SSDs their performance goes off a cliff once you hit the boundary of these tricks.

replies(2): >>44535868 #>>44536447 #
forrestthewoods ◴[] No.44536447[source]
> 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.

replies(2): >>44537514 #>>44539518 #
jdiff ◴[] No.44537514[source]
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.

replies(3): >>44537878 #>>44538489 #>>44538662 #
1. martinald ◴[] No.44538489[source]
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.

replies(1): >>44541898 #
2. RulerOf ◴[] No.44541898[source]
> 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?

replies(1): >>44543602 #
3. martinald ◴[] No.44543602[source]
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.