Building over what we talked previously about data interface standards, today we are going to look at internal interface standards. These are standard that allows the components inside your computer to communicate with the processor.
While this topic may feel unnecessary to people who use laptops or use a pre-built computer, it is in fact very important as whenever you decide to upgrade your device's storage or need to add functionality, understanding the limits of your computer and bottlenecks that may arise will really help you make the most of your devices.
PCI is short for Peripheral Component Interconnect which was used as an expansion interface for connecting various network cards, sound cards, RAID cards and video cards to your computer. AGP was another interface that was used for connecting only the graphics card. Both PCI and AGP were in use for a long time until they were replaced in 2004 by PCIe.
PCIe (Peripheral Component Interconnect express) not jsut replaced both PCI and AGP, but made connecting any peripheral card much simpler.
Now, PCIe is one of the most common internal interface standards for the computer to connect any accessories, especially Graphics Cards, Storage and Network. PCIe today uses five main types of connectors- x1, x2, x4, x8 and x16. Here x denotes the transfer rate based on the generation of PCIe being used, while the number next to it determines how many lanes can be used. The connectors bandwidth increases with an increase in the number of lanes.
Shown below is the bandwidth increase with each generation and the bandwidth of each type of connector.
As you can see above the x16 slot offers the highest bandwidth (across generations) and is the slot that most Graphics cards use as they need the highest bandwidth. Multiple Graphics card too can be inserted into multiple PCIe slots on a single PC to create a Multi GPU SLI or CrossFire arrangement. What is SLI and CrossFire is a topic of discussion for another day?
Moving back to PCIe, one thing you must note is that PCIe slots are backwards and forwards compatible, so you can slot an x1 card in x16 or an x16 in an x8 but it will use the bandwidth it was designed for and will not use more than it can handle.
Doing this actually affects graphics cards as you will see a drop in performance if you do not provide it with sufficient bandwidth. Eg: A PCIe 2.0 x16 card needs 128 Gbps of bandwidth and you get that when used with a PCIe 2.0 x16 connector. But if you use the same graphics card in a PCIe 3.0 x8 slot, your card should get all the bandwidth it needs despite the smaller connector.
While PCIe 4.0 hasn’t really made it to the market, in terms of bandwidth PCIe 3.0 offers more than enough for the current generation of graphics cards. Where PCIe 4.0 will come in handy is when you use external graphics cards with Thunderbolt in which will definitely benefit from the added bandwidth. Thunderbolt if you remember is also based on PCIe 3.0 as we saw previously in our Internal Data Interface article.
SATA or Serial AT Attachment is an internal interface/ bus that is designed for connecting mass storage devices like Hard Disks, Solid State Drives and Optical Drives. SATA replaced the much older PATA standard and was selected for its higher speed, hot-swap ability, smaller size and better efficiency.
SATA being a data interface has evolved across generations as listed below:
- Max speeds of 1.5 Gbps, 150 MBps
- Max speeds of 3 Gbps, 300 MBps
- Max speeds of 6 Gbps, 600 MBps
- Max speeds of 16 Gbps, 1969 MBps
Of the four standards mentioned above SATA 3.0 is widely available, while the much faster SATA Express hasn’t been that big of a success. So that's it, right? SATA delivers up to 600MBps speeds and you get SATA 3.0 SSD’s that easily reach that speed so that is the peak of innovation right? Well, no.
While the more value-oriented and consumer grade SSD’s do perform around or below the SATA 3 level, NAND Flash speeds are seeing a tremendous increase and now its no longer the SSD that’s slowing things down, it’s the interface- specifically SATA 3.0.
SATA 3.0 becomes a bottleneck due to its max speed being lower than that of newer generation flash storage and even the much faster SATA Express doesn’t help due to lack of devices. With no new generation of SATA in place, manufacuters had to look elsewhere for a much faster solution.
To circumvent this, manufacturers started out by using the PCIe slot to achieve much faster speeds. If you remember correctly to get around the limitation of the USB standard too, manufacturers turned to PCIe when implementing the Thunderbolt standard. But even PCIe that time was limited by the much older transfer AHCI protocols used by SSD that time.
So to make better use of the much wider bandwidth provided by PCIe a new protocol came to light called NVMe which allowed for handling much more data parallelly thus increasing speed. An example of the older PCIe based SSD can be seen on top. These cards use the same PCIe slot that Graphics cards use. Although they do not make use of the full x16 lane.
At that same time when manufacturers move to PCIe, there was a need for a newer, much smaller connector to rid the mSATA and make connecting smaller devices like Wi-Fi cards, NFC cards and SSD’ simpler. Thus came to light M.2, previously known as Next Generation Form Factor (NGFF).
Now M.2 is just a type of connector, like USB Type C and Lighting. It needs to use an interface to allow data transfer and M.2 uses three main types of interfaces as follows:
Regular SATA 3.0 which enables it to use a maximum of 6Gbps of speed
PCIe 3.0 interface with the newer M.2 port but based on AHIC
PCIe 3.0 interface with the newer NVMe protocol.
The M.2 SATA connector really doesn’t benefit from using the M.2 connector over the conventional SATA conenctor, all it is is a change in connector type with no other benefit. What is really a big change is the M.2 NVMe which allows for a small, convenient and what is amongst the fastest interface for SSDs presently available.
Coming back to connectors, M.2 has multiple types of connectors as listed below:
B Key: Supports PCIe 3.0 x 2 (up to 16Gbps), SATA 3.0 (up to 6Gbps) and used mostly by M.2 SATA SSD’s
M Key: Supports PCIe 3.0 x4 (up to 32Gbps), SATA 3.0 (up to 6Gbps) and used by the latest M/2 NVMe SSD’s for the fastest speed
B+M Key: Used by M.2 SATA SSD’s and can work with both B or M key slots
Apart from the different connector types, M.2 devices also have various sizes, some of the more common ones are listed below:
2230: 22mm wide and 30mm long
2242: 22mm wide and 42mm long
2260: 22mm wide and 60mm long
2280: 22mm wide and 80mm long
22110: 22mm wide and 110mm long
The reason for so many sizes is simple, take SSD”s as an example. A large capacity SSD will have a larger number of NAND Flash chips and hence will need more space, while a smaller one can make do with a smaller space. This allows manufacturers to design smaller sized drives without wasting materials.
Verdict and Summary
Undoubtedly when it comes to performance it is mostly the latest standard that is the fastest but ultimately when it comes to standards it's not just about having the fastest standard but also having devices that actually make use of the standard fully. Buying a laptop with NVMe support and using a M.2 SATA SSD in it isn’t really of much use. The vice-versa is even more terrible.
So when it comes to building your next PC or buying one, make sure you have plenty of PCIe 3.0 x16 slots, these will come in handy if you are into gaming and need to upgrade your graphics card regularly.
Next, make sure you pick a motherboard that supports M.2 NVMe as this will allow you to eventually upgrade your laptop or PC to a much faster data storage in the future.
As for SATA, version 3.0 is currently the latest one in use and is easily available in the market and you get a ton of storage devices for this, but if you really need to upgrade your storage and you have to pick between SATA, M.2 SSD and M.2 NVMe SSD, always pick the M.2 NVMe one.