Last week I had in my mind the project of “Returning to Life” a 9 year old HP Desktop PC I have, which in that time it featured the avant-garde “Intel Core 2 Quad Processor” with amazing 6 GB of RAM and a 512 MB Nvidia Graphics Card; and yes, if you had a Quad Core CPU and 6 GB of RAM a decade ago you probably were the most popular kid on your neighbourhood.
However times had changed, and by today’s standards its considered “Crap”, specially for its 5200 RPM 250GB HDD it has.
So I decided to plan an Upgrade and began looking for the first: an SSD; then I logged into amazon.com and began to search for options, when I came with this: “Samsung 950 PRO -Series 512GB PCIe NVMe – M.2 Internal SSD”, the image looked like a PCIe Card and it was quite compact, I said: “It’s a little expensive but why not? Let’s give it a shot!”
Then I began to do my research about this new “Standard”, I found I could get blazing fast speeds, fit them in Ultrabooks or Small Cases, and so on. But then I also found many people having problems installing them on their PCs, like not booting up, low read/write speeds, not being recognised, etc. So the information out there was really confusing (even for a Tech-Savvy), there were many things you had to have in mind, and many requirements to fulfil before installing them; thats why I decided to write this article/entry in order to immerse you into M.2 without that much “hassle”.
Most of the new SSDs that have been released during the last couple of months have been really really fast, surpassing the BUS’ speeds they´re connected to; currently most Hard-Drives are connected via SATA III spec-connector, the problem with this connector is that it has a limit of 6 Gbps (750 MB/s, about 660 MB/s in real life) creating a “Bottleneck” in the Bus rather than in the drive itself, because of this manufacturers around the world have been looking for solutions for this problem. The result was using the M.2 connector which can use multiple PCIe Lanes. Since Intel introduced their Broadwell Architecture Processors they natively support M.2 and PCIe booting.
Sounds cool right? Unfortunately there a couple of things one must understand in order to be able to perform the upgrade successfully. The era in which upgrading a Hard Drive involved just checking if it was 2.5” or 3.5” its over.
First: the Connector itself
M.2 is not a “new” thing, in fact during the last years it has been used for several devices such as WLAN Cards. Thats why several “Key Connectors” have been developed such as the: A, B, E, and M Key; leaving the “B” Key for PCIe x2 SSDs and the M Key for PCIe x4 SSDs.
We will be only focusing in the B, M and B+M Keys which are the ones used in M.2 SSDs.
As you can appreciate in the image above The B Key has from left to right: 6 pins, then a Gap, and then 28 pins; on the other hand the M Key has: 29 Pins, then a Gap and then 5 Pins; theres also the B+M Connector which has: 6 Pins-Gap-19 Pins-Gap-5 Pins. Be sure sure to verify which types of Keys you Motherboard or your “Adapter” accepts before buying your SSD.
Just as I previously stated, the era of choosing between 2.5” or 3.5” its over, now with M.2 there are many possibilities for different sizes. Today all M.2 SSDs come in 22mm width. On M.2 cards, size is shown in a 4 or 5 digits combination; the first two express the width of the card and the later 2 or 3 digits express the length, for example an M.2 2260 is a Card that is 22mm wide and 60mm long. So be sure what is the “maximum” length that fits on your adapter or M.2 slot.
Third: AHCI or NVMe
Here comes the tricky part. The M.2 Specification was designed to support both AHCI (Advanced Host Controller Interface) and NVMe (Non-Volatile Memory Host Controller Interface Specification). AHCI is a legacy standard which was originally developed for “Spinning Platter” HDDs, nevertheless this technology was “adapted” to support modern SSDs; however the new NVMe standard was developed in order to take full advantage of Non-Volatile Memory such as higher transfer speeds.
The problem here is that most Motherboards/Controllers/OS do NOT support the NVMe standard, relying only in the legacy AHCI standard. With this said, should you decide to buy an NVMe SSD then check if your motherboard supports booting from an NVMe SSD.
With all this said is time to come to a conclusion. In a nutshell here´s what you might want to check before installing an M.2 SSD:
1.-Can I boot via UEFI Mode or does the BIOS support PCIe booting?
If the answer is “No” you are sort out of luck. Mostly all Motherboards with a Z97 chipset or newer support PCIe booting.
2.-What type of “Key” does my Motherboard/Adapter has?
Check wether it is B, M or B&M Key
3.- How long is the slot in my Motherboard/Adapter?
Measure the length of the Slot in millimetres and with that information choose your M.2 SSD
4.-Does my Motherboard supports booting from an NVMe Card?
Check in the Motherboard´s Manual if “NVMe Booting” is supported; if its not supported stay away form all NVMe SSDs (Make sure the one you are buying is AHCI).
So answering my first question. Will I be able to upgrade my old HP? The answer is: no; unfortunately my machine does not even supports UEFI Bios and therefore PCI-E booting is not possible. So I think I will have to stick with traditional SATA III SSDs, however if I want those high Read/Write speeds, I might want to use a RAID 0 configuration, but that will be covered in another post.
As always if you got questions, comments please don’t hesitate to write them in the “Comment Section” below, also don’t forget to rate this article!