M.2 (NGFF) and you!

I have an aging file server.  It’s got a modest 1.5GB of RAM, a dual Celeron 2.0GHz CPU, and 4.5TB usable disk space thanks to mdadm, raid5, and six 1TB disks.  However, since I’m now at 86% usage on this array, my fileserver is becoming pretty overwhelmed thanks to the raid5 decision I made early on (reads are pretty fast, but writes have to calculate the parity bit, which gets slow when the array is full).  So I bought some new hardware to build a FreeNAS server (possibly more on that later).

I went through my normal research (mostly on NewEgg) and found a setup that looks pretty good and was reasonably priced for the power.  NGFF M.2What I hadn’t noticed though was that the motherboard I chose (Biostar Hi-Fi Z97WE) had a slot I was previously unfamiliar with.  There is a weird slot labelled NGFF.  Upon some further research, this is a new bus aimed to provide a better form factor for SSD drives (but it can also support wifi, NFC, and a few other networking devices).  Given my recent work at a storage company, I was already familiar with PCI based SSDs, but hadn’t actually played with them yet (partially due to their expense).  Since most hard drives hang off of a SATA (or SAS) bus, a possible bottleneck is the bus speed, which for SATA can be up to 6Gbps (about 750MBps, theoretically).  As all things in technology, SSDs are still increasing in speed.  However, the SATA bus has pretty much hit it’s limit when it comes to supporting SSDs, which is where this new slot steps in.  This slot labeled NGFF is better known around the internet as M.2.  The M.2 slot can currently support up to 10Gbps, so this raises the bar for SSDs (if that’s what you are sticking on it).  But, it supports more than just SSD.

This M.2 slot also has support for many things that PCI could do.  However, it’s focus seems to be in wireless networking and super fast local storage.  I’m excited about the prospects of a new interface to further our computing power, but as with any major new player, I’m weary about too much segmentation and improper support.  For example, it’s conceivable that in the future every motherboard will need 5 different slots just to be competitive even though each slot has no great advantage over another and previously, simply including a half dozen PCI slots was sufficient.