More on SSD front

This post is extraction of interface part from this post.

Why do you need SSD

SSD are much much faster that HDD because they don’t have moving parts. I will not explain it in detail, you can search internet if you need more details. As result Windows will load way faster. Any software, games will load much faster as well. If you play game that load parts of level dynamically without load screen, then there is much less chance to see micro freezes. If you work in some application and press Save button it will save much faster. In general experience are much better than with traditional HDD. It is really hard to explain until you actually experience it.

SSD also much more reliable for notebooks because again they don’t have moving part and there is nothing to brake if you hit something or just using notebook on something that is not stable. Say you are trying to check something in car that going on not that great road. HDD will have hard time.

SSD interface types

There are two SSD types: SATA and M.2. M.2 can be SATA or NVMe. M.2 SATA has the same speed as traditional SATA discs and has only one advantage that is much more compact. I will explain advantages of each type in details.

SATA

It is most traditional interface that supported well by all operating systems and devices. You will not have any issues with some old operating system, and it will work just fine. You can place it pretty much anywhere in you case. It will have big surface area and usually don’t need any cooling at all unless you put it in very hot place. It is also cheapest one and slowest.

M.2 in general

This drive is compact, they don’t need cables for power and interface like traditional SATA drives. But they have limited surface area and usually they are between CPU and video card and these are two hottest area in your PC. Sometimes M.2 is below video card and it is even worse. So very often they do need additional cooling. But because these drives are compact, they are very often used in notebooks.

M.2 SATA

It looks like it should work similarly to traditional SATA from operating system view but there could be different issues. It is usually more expensive that SATA but cheaper than M.2 NMVe. So, from my point of view it has sense to use them in notebooks and small cases only. Maybe in some storage devices.

M.2 NVMe

This is fastest one, but also most expensive. It is about two times more expensive that SATA SSD. Also, usually it is hottest one and it need cooling. And it also requires modern operating system. My friend bought one of these and it didn’t work. Later he figured out that he used 2 years old Windows 10 and he needs to update to at least 1 year old. Also, because these devices are relatively new there cold be problems as protocol and devices are not as mature as say SATA. Probability is low, but higher than say SATA.

What should I buy

As for M.2 SATA I think you should buy only when space is restriction, or when you don’t want cables and wish to pay 50% more for this. In any other case you should be SATA or NVMe. But which one better?

It looks like simple question but in reality, it is not that simple. If you compare SATA and NVMe devices you will see that SATA devices are much slower. And you will think well, there is nothing to think about. You have money and need speed buy NVMe, else buy SATA. But reality it is not that simple. While on benchmark NVMe are much faster in reality there are not many workloads that consistently read and/or write. Most of the time there are other part involved like CPU or GPU. For example, you could buy 970 Pro instead of some SATA SSD and Windows load time will be faster only by 1 or 2 seconds. You game also will load about second or two faster. And this happens because disk read during Windows or game load is only fraction of total time. And faster SSD will not reduce other work that will stay constant. But you pay 2 – 3 times more for that SSD.  For example: Crucial MX500 500GB will cost $57, Samsung 970 Pro 512 will cost $159. As you can see there is more than $100 different. And if you invest $100 in better CPU you may reduce Windows start or game load much more. Alternatively, if you invest in better video card you can play games in higher resolution or with better settings and game will be more enjoyable. As another alternative you can buy more or buy faster memory. And just in case these two disks are quite good. I didn’t take some cheap noname SSD that could fail on second day.

So, my advice if you want to buy PC and you have budget, I would recommend buying SATA SSD and invest money to other component unless you have money to burn and want to performance. Or you can buy NVMe disk if you definitely know that disk will be limiting factor like say for database server.

Some Q&A

Q: I read that SSD has limited amount you can write to it.
A: Yes, SSD has limit. Usually this limit is extreme, and you will buy new drive way before you will reach this limit. For example, my disk at work after 2 years has 90 Terabytes written. And it has warranty for 300 TB. So, it will work at least 4 more years. But I will replace it way before that date. Also, I found in internet that they tested this disk and wrote over 2 Petabytes on it before it fails.

Q: I read that it is bad idea to fill all drive and leave no space.
A: Yes, it is better to have 10-20% free if possible, to allow drive to rearrage and free blocks.

Q: Does HDD more reliable?
A: I would say no

Q: But HDD drive is cheaper and isn’t it better to invest difference in another component?
A: They are cheaper but because they are quite slow, they are bottleneck. I will explain in detail. Imagine that some application that critical to you, searches some text in huge file. Disk reads block of data, CPU scans it for text, while CPU scanning, disk will read another portion. Ideally disk read and CPU scan should take equal time to maximize performance. Imagine you have HDD and it takes 20 milliseconds to read block from disk and it take 5 milliseconds to scan this block for CPU. So whole process looks like this: 20 milliseconds read, 5 milliseconds scan of previous read block, but they all happen in parallel. If for example, we have file that consist of 100 blocks then total scan time will be 20 * 100 + 5 to scan last block. As result whole process will take 2 seconds and 5 milliseconds. Now imagine we will have CPU that is 1000 times faster. In this case whole process will take 2 seconds and 5 microseconds. As you can see that because disk is bottleneck speeding up other components is not paying off. But if we will speed up disk then disk read will take 4 milliseconds and now CPU became bottleneck. And whole process will take 4 + 5 * 100 and will be 0.504 seconds. As you can see it is 4 times faster than in previous case. And at this stage it is smarted to invest in CPU because CPU became bottleneck.