Question Trying to understand SSD read/write speeds. Help?

Page 2 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.

ch33r

Distinguished
BANNED
Jun 13, 2010
316
4
18,685
So googling to no avail, no one is being clear on explaining 4K Random Read/Write speeds. Example: WIndows 10 installed is 20GB. A Samsung 970 Pro does 4K random read at 54MBPS. Across 20GB, that would be 7 minutes to boot. Something doesn't add up. Even if the OS boots only what it needs to boot, say 20% of the OS, that's still a 1 minute and a half boot time. Im trying to understand what's really going on here, but no ones being clear. Help???
 
Last edited:

USAFRet

Titan
Moderator
I read the article, but it doesn't thoroughly explain Sequential and Random.
https://kb.sandisk.com/app/answers/...tween-sequential-and-random-access-operations

id8150_Random_vs_sequential_access.png



A single 10kg rock vs 10,000 1 gram pebbles.
 

ch33r

Distinguished
BANNED
Jun 13, 2010
316
4
18,685
Right, and I don't expect you to give me a 927,464,713,019 page explanation, I'm just trying to understand the concept. So using the diagram,
Basically, yes.
The actual details are worthy of several books, and multiple advanced graduate degrees.

Ok. I understand that. I don't need the 945,192,664,017 page explanation. What I am seeing is this: On the bottom half of the diagram, numbers 1-8 from left-right are not in order, meaning the arrows are having to jump across. Assuming this is the cause of random being slower than sequential, my next question is this, instead of hopping across the map to get to cell 2, 3, 4, 5, 6, etc.... why don't it just go 1, 3, 7, 2, 8, 6, 4, 5. Then the arrows would be the same as the top half of the diagram.... Now... I know that you said some files have to be pulled in a certain order, (The first open room of the level first, boss fight last as example). I understand that, but that happens at the final output level, not at the initial pull of the volume. Rather than jump across the map, as soon as I click "Play Level X", the ENTIRE THING is pulled in sequential read and jammed right into memory. Everything from the first open room right to the boss fight can all be pulled in sequence as soon as I click "Play Level X" then we can avoid random reads. Why are we not doing this. That's why I'm trying to drill down on. (Im assuming use of the PC I will be building next month, which will have 32GB of RAM)
 

USAFRet

Titan
Moderator
Lets use a picture as an example, a single jpg of a person.
Top to bottom, 8 'slices'.
1
2
3
4
5
6
7
8

At some point, the parts need to be read, then assembled.

It does no good to place slice #5 first, then slice #1. Otherwise, you get pants on head.

It is MUCH deeper than simply "the first room in a level". All the individual clusters of data that contain that "first room".

This is the hex representation of the first few bytes of a 2.37 megabyte jpg.
DhsIqfS.jpg

All that must be read and assembled, in order.
 

ch33r

Distinguished
BANNED
Jun 13, 2010
316
4
18,685
Yes, at the end game they need to be output in the right order, so once the jpeg is pulled from the SSD in sequential read, and put into memory, the bytes can be sorted once pulled from memory to final output, no?
 

USAFRet

Titan
Moderator
Yes, at the end game they need to be output in the right order, so once the jpeg is pulled from the SSD in sequential read, and put into memory, the bytes can be sorted once pulled from memory to final output, no?
No.
Going back to our rock/pebble analogy....we have those pebbles scattered all over the yard. Not next to each other and simply in the wrong order...but literally scattered all over the yard. There is no 'sequence'.
You do have a printed map of where they all are (the file allocation table), but it takes time to go get the next one.
 

ch33r

Distinguished
BANNED
Jun 13, 2010
316
4
18,685
No.
Going back to our rock/pebble analogy....we have those pebbles scattered all over the yard. Not next to each other and simply in the wrong order...but literally scattered all over the yard. There is no 'sequence'.
You do have a printed map of where they all are (the file allocation table), but it takes time to go get the next one.

So the issue doesn't lie in the order in which the bytes are requested. The issue lies in the physical placement of the bytes on the drive, and thus it follows that you physically have to hop around the map to grab everything, resulting in stupidly high travel distance, resulting in much lower productivity which is your slowdown, true?
 

USAFRet

Titan
Moderator
It is both.
The clusters have to read in order, and then you have to go find the next one in the sequence.

An SSD is much faster than an HDD because all of the clusters are almost instantly accessible. Key word...almost.
An HDD has to literally move the physical head to the correct track and wait for the spinning platter to get around to that cluster location. What is known as Seek Time.

The SSD...the clusters are almost instantly addressable. Physics and processing power prevents an access time of actual 0.0 sec. We are well into the sub millisecond range, though.
 

ch33r

Distinguished
BANNED
Jun 13, 2010
316
4
18,685
It is both.
The clusters have to read in order, and then you have to go find the next one in the sequence.

An SSD is much faster than an HDD because all of the clusters are almost instantly accessible. Key word...almost.
An HDD has to literally move the physical head to the correct track and wait for the spinning platter to get around to that cluster location. What is known as Seek Time.

The SSD...the clusters are almost instantly addressable. Physics and processing power prevents an access time of actual 0.0 sec. We are well into the sub millisecond range, though.

Ok, so now my question is: why are we scattering rocks all over the yard.... I mean.... When we bring a pale or rocks to the yard, why can't we just leave them in one spot. Why do we have to throw them around everywhere so it takes 10x longer to pick them up?
 

USAFRet

Titan
Moderator
Ok, so now my question is: why are we scattering rocks all over the yard.... I mean.... When we bring a pale or rocks to the yard, why can't we just leave them in one spot. Why do we have to throw them around everywhere so it takes 10x longer to pick them up?
Because there may not be enough actual contiguous space (clusters) to hold the whole thing in one big lump.
And the rest of the yard is consumed with clusters that belong to other files.

On an HDD, this is what the defrag function does.
As you use the system, the files get fragmented. Defrag attempts to shuffle clusters and data around so that they are right next to each other.
Left to its own devices, Windows does this on a regular schedule.

An SSD works differently. TRIM and garbage collection work in the background to do mostly the same thing.
Again, the OS and the drive firmware does this.

But again, a 4k cluster that only holds 1kb of data still consumes 4kb space on the drive. There are many thousands of these on your drive.
 

ch33r

Distinguished
BANNED
Jun 13, 2010
316
4
18,685
No, it is not wrong.
The OS and the drive firmware know what to do with it, and handle it accordingly.

Manual defrag just imparts unnecessary write cycles, for no purpose or benefit.
As said...the inner working of an SSD are very different than an HDD.

Right ok. I understand. That makes sense. Ok. I think I understand everything now
 

ch33r

Distinguished
BANNED
Jun 13, 2010
316
4
18,685

I posted this, was wondering if you wanted to weigh in. People aren't saying much
 
If you look at the benchmarks comparing assorted SSDs performance in random mixed reads/writes, vs. sequential access reads/writes, you'll get a better idea of potential performance disparities...

Spinning drives are just ~15-20% as fast on top of everything else...