You could be forgiven for not knowing a great deal about M.2, since the term and the technology have only been around a short while. Originally known as NGFF, or nextgeneration form factor, M.2 is a 67-pin connector that’s intended to replace the growing plethora of different standards for connecting storage devices and other peripherals to a motherboard. It’s included on some Z97 and X99 motherboards, and it’s starting to show up in a growing number of laptops too.
However, PCI-E via M.2 works in exactly the same way as with a full-sized or halfheight expansion card. There’s 500 MB/sec of bandwidth per lane, and either two (2x) or four (4x) lanes can be used, for a maximum of 2GB/sec – quite an improvement over the 750MB/sec limit of the SATA 6Gbps bus.
For storage, one of the most attractive properties of M.2-compliant SSDs is the small dimensions of the PCBs. In ultra-thin laptops, even a 7mm-high 2.5in SSD can take up a large chunk of the available area, when all that’s really needed is space for a few flash chips and the controller. And while fullsized PCI-E SSDs are fast, their reliance on an expansion card form factor limits them to desktop PCs, which can make them less of a worthwhile investment. You can’t use an old PCI-E SSD to upgrade a laptop further down the line, for example.
Different dimensions
M.2 cards are paired with a four-digit number that specifies their dimensions. The first two digits refer to the width (in millimetres) while the last two (or three) digits specify the card’s length. So, for example, a 2260 card is 22mm wide and 60mm long. Another nuance of M.2 is the keying system used to define which bus a device supports, or a host accepts.
Of the 67 pins, a notch, or pair of notches, physically prevents certain cards from fitting into certain slots. A SATA M.2 SSD has the notch in a different place from a 4x PCI-E M.2 card, while a 2x PCI-E M.2 card is different again. Although this system may sound unnecessarily complicated, it allows for future expansion and upgrading as buses change. If a new standard is needed, another notch type can be created.
Protocols
M.2 SSDs can use either AHCI or the newer NVMe (Non-Volatile Memory Express) hostside protocols. AHCI was invented when hard disks were the only option for a system drive, so the protocol assumes it will have to wait for a platter to spin up when requesting data. It also came from an era of single-core processors, so it makes little use of parallelism. For example, the maximum queue depth is only 32 with AHCI.
NVMe, however, is a protocol for the modern era of multi-core computing and storage devices, with latency times that are thousands of times shorter than hard disks. It extends the maximum queue depth to 65,536, increases the number of interrupts and relaxes locking rules for synchronised issuing of commands. The changes in NVMe allow for much faster storage performance.
AHCI is unlikely to disappear immediately though. Just about every motherboard from the last decade can boot AHCI devices, while NVMe needs specific support in the BIOS/EFI. However, you can expect all desktop Broadwell systems to support booting from PCI-E NVMe devices.
Devices
There aren’t many M.2 devices around at the moment, and many of the M.2 SSDs currently on the market use the SATA bus, so the only advantage they offer is a smaller form factor. This situation is certain to change very soon, though, and we expect to see a growing number of available devices this year. Nevertheless, the transition from SATA to M.2 as the storage connector of choice will take time.
The vast majority of computers around the world have SATA ports, while only a tiny fraction currently support M.2. For manufacturers, it makes more sense to continue to support SATA for the time being, until the number of M.2 hosts (and potential customers) is reached. The same is true for NVMe; until more devices can boot SSDs that use this protocol, it’s unlikely we’ll see it show up in many SSDs.
In the meantime, manufacturers are getting creative with their products. Kingston just launched the Predator HyperX SSD, a 4x PCI-E M.2 2280 (80mm) SSD, which it quotes as being capable of 1,400MB/sec read and 1,000MB/sec write speeds for compressible data, with 1,100MB/sec read and 910MB/sec write speeds of compressible data. Kingston neatly sidesteps many of the compatibility issues by bundling it with a half-height, half-length PCI-E card, so it can be used with your desktop computer even if it doesn’t have an M.2 connector – an idea also used by Plextor. Meanwhile, NVMe has been eschewed in favour of AHCI, to ensure compatibility.


