Hah! Click bait. But have you ever heard about people asking "Is that SSD or M.2?" or "Is that NVMe or SATA?" or something else? It got to my nerves that all of the questions asked usually is either wrong or redundant in a way, someone might ask if the door is a door or the door is a door with a knob. You get what I mean.

So to at least teach myself and fellow geek squad being on the right path of being an intellect homo sapiens, I'm here to correct the wrong and hopefully someone correct me if I'm wrong. Together we fight this non-sense people wannabe experts, but end up teaching/spreading the wrong general knowledge of computer science.

Drive

We have a lot of disk drives lying around out there that probably the millennial didn't even know. Of course, SSD and HDD are like the most known type of disk drive. We actually have a few more that falls into the same category, which is any type of removable storage devices, floppy drives and also optical drives! Yes, go ahead and say, "I've got a nice copy of The Fappening here on my shiny drive (DVD)". You get the general idea. If you can put your data in a memory that is not volatile, it's a disk/drive!

Okay so now we focus on HDD and SSD. Where HDD is a drive based on magnetic disk while SSD is a nand flash storage. Why SSD is better? It's faster. But it may die in a snap, and you must be careful on what you store on it. HDD even it's slow, for data stroage, it's still the most realiable solution and it's cheap, super cheap compared to SSD.

Interface

This is one of the crucial part to understand. The interface of the disk drive. This is where people misunderstood and end up mixing a shit ton of wrong information to their brain-bin. Contagious! Probably by this time, you already know a few type of interface that we have in this arena but for those who don't know, then it's time to learn a little bit about it. We have a ton of it!

  1. Interface that is build specifically for Disk Drive
  • a. SASI
  • b. Seagate ST-XXX Interfaces
  • c. SCSI – SASI Successor
  • d. ESDI – A better version of ST-XXX interface but was superseded by SCSI
  • e. IDE/P-ATA/PATA – Legendary childhood interface, I'm pretty sure most 90s kids have seen this before.
  • f. SATA – The interface that's prevalent on planet ball until today.
  • g. SAS – An enterprise HDDs interface that is almost similar to SATA, still being use today, I believe so.sata
  1. Interface that is build for multipurpose usage and Disk Drive can make use of it.
  • a. PCIe – That's right. It's a multipurpose high bandwidth interface that's very useful and because of this, bunch of companies work on this technologies to revamp the outdated/old Controller Interface so newer technology can actually work better.
  1. Unknown type but I assume it's a ROM type and proprietary.
  • a. SMD

Here we can focus on SATA and PCIe because this is the thing that people don't really understand. SATA is the standard L shape connector that is mostly used in millennial age computer, I mean, since 2003 until now! Even on my gaming computer, I'm using SATA interface to drive my SSDs and HDDs. SATA commonly come in 3Gb/s or 6Gb/s port which is somehow, fast enough on the eyes if you actually didn't know that it's actually measured in GIGABIT PER SECOND. Respectively, if you convert the 3Gb/s and 6Gb/s to MB/s (MEGABYTE PER SECOND), then you'll get 375MB/s and 750MB/s. Which is fast enough for HDD. but not that fast for SSD.

SSD can actually perform so much better but due to the limitation, you can only see 3-6Gb/s SSD on SATA interface. For example, my Samsung 850 EVO can only go up to 550MB/s and that's 4.4Gb/s. Fair enough for that SSD as Samsung even advertise about the same speed. Now I've read a lot of stuff online and I couldn't figure out whether the SATA ports is sharing the speed over one controller or not. We can assume, it's shared and if you have plenty of drives, you will need to share the speed but depends on configuration, it's actually not that much of a bottleneck. Can't explain this further until I do some research online.

What if you want to get faster than 6Gb/s or 750MB/s ? This is where PCIe come to play. PCIe in general have a higher data rate with PCIe 1.1 can top at 8GB/s.While PCIe 2.0 can top around 16GB/s. And lastly PCIe 3.0 around 32GB/s. Now this is all for all x16 link. The true speed is varies from different configuration. x1,x4,x8 and x16 and then we have PCIe 1,2 and 3. Which online, it's really hard to tackle down which one is which as there's no right caption on each diagrams. Lets just assume that PCIe is fast. Easy.

Controller Interface

Holy smokes there's a lot to cover already but here goes nothing. Controller Interface is, if not, also one of the common misunderstanding. This is the home of IDE, AHCI, RAID (a superset of AHCI) and now NVMe.

IDE is, I believe generally paired with IDE drives but you can actually, accidentally use IDE controller interface on modern computer. I have this option in my motherboard bios but I'm actually not using and IDE Interface. So it's kinda, backward compatible where IDE controller interface can actually drive a SATA interface. With a quirk. Not fully compatible, outdated instructions for modern drive and much more. So most modern drive need at least AHCI. Advanced Host Controller Interface.

NVMe or non volatile memory express is a controller interface running over PCIe. There's no SATA involved in NVMe controller interface. This is because, NVMe was actually made to overcome the old AHCI instructions which was made for mechanical magnetic HDD. AHCI is higher in latency,very low queue count, limited multicore support and low 4KB efficiency. Remember I mentioned about SSD can actually perform better? It's indeed far better if SSD is plastered with NVME controller interface. Since NVMe is also backward compatible, you can actually try to replace your super fast M.2 SSD chip with the one from cheap ssd and the cheap ssd can actually perform better.

How do I get NVMe support? I have a brand new motherboard but there's no NVMe option in the bios! It's actually based on bios firmware. You need to get a motherboard that support NVMe and when you plug in PCIe based SSD, you'll see the drive. There's no need to adjust the Controller Interface from AHCI to NVMe as that's meant for SATA drive.

Form Factor

2.5-inch, 3.5inch and next gen form factor, the M.2. There's noting much to explain about this. You now know that M.2 is actually a form factor. If you don't understand what a form factor is, look at the mirror. If you see large person, then that's a large form factor. I mean, fat.

2.5-inch and 3.5inch runs on SATA where M.2 is running on PCIe. Generally, M.2 is a sexy form factor. No joke, M.2 is actually allows naked drive to be slotted in.

Now I didn't include PCIe is one of the form factor because it's not a form factor, but rather a whole different term. You can call it PCIe cards and we have quadrillion different sizes.
hdd-ssd
m2

The Conclusion

So now you might be asking, how can I differentiate between HDD and SSD, SATA and PCIe, or AHCI and NVMe. It's actually Easy.

  1. HDD mostly runs on SATA nowadays and it's AHCI. Unless you found a NVMe HDD, hit me up.HDD comes in 2 non obsolete form factor, 2.5-inch and 3.5-inch.
  2. SSD is..well..pretty much all the stuff other than HDD. SSD can be in SATA where it only run on AHCI mode. This type of SSD is usually 2.5-inch. The most common SSD on planet ball.
  3. SSD can also be in PCIe where it make use of the better controller interface, NVMe. Since the focus is on speed, it's not meant for SATA. Instead PCIe based SSD runs on of course PCIe whether you can slot it in on your PCIe slot or M.2 slot.

To recap this!
If you found NVMe drive online, most of it is PCIe based. Intel 750 series is one of the PCIe based, PCIe card type SSD. While Samsung 960 EVO is one example of M.2 sized, NVMe SSD.

Other than that, if you found 2.5-inch or even 3.5-inch SSD out there, it's usually SATA based, only runs on AHCI and technically cant make use of NVMe controller interface as it won't help improve the drive due to limitations.

When someone ask, "Is that SSD or M.2?" it's actually means "Is that a drive or a form factor?" which is totally bullshit but as an intellectual nerd, I understand it well and automatically translate it on my brain-translate-module. "Is that 2.5-inch SSD or M.2 SSD?". Then there's another annoying question, "Is that NVMe or SATA" like in gorgon translation, it would've be something like "Is that a controller interface or an interface?" and again it's so wrong and it should have been, "Is that a NVMe SSD or an AHCI SSD?".

That's it from me. I'm still behind my schedule of writing the OpenLiteSpeed thing and also my NZ trip outcome.