How the M.2 SSD Will Make Your PC Even Faster

An overview of the new M.2 drive interface

As computers get smaller, so must hardware components like storage drives. The introduction of solid-state drives allowed for thinner designs like Ultrabooks, but this clashed with the industry standard SATA interface.

Eventually, the mSATA interface was designed to create a thin profile card that could still interact with the SATA interface. A new problem emerged when the SATA 3.0 standards began to limit the performance of SSDs. In order to correct these issues, a new form of compact card interface had to be developed.

Originally called the NGFF (Next Generation Form Factor), the new interface has been standardized into the M.2 drive interface under the SATA version 3.2 specifications.

Faster Speeds

While size is, of course, a factor in developing an interface, the speed of the drive is equally critical. The SATA 3.0 specifications restricted real-world bandwidth of an SSD on the drive interface to around 600MB/s, something that many drives have now reached. The SATA 3.2 specifications introduced a new mixed approach for the M.2 interface, just like it did with SATA Express.

In essence, a new M.2 card can use either existing SATA 3.0 specifications and be restricted to 600MB/s, or it can elect to use PCI-Express, which provides a bandwidth of 1GB/s under the current PCI-Express 3.0 standards. That 1GB/s speed is for a single PCI-Express lane, but it is possible to use multiple lanes. Under the M.2 SSD specification, up to four lanes can be used. Using two lanes would theoretically provide 2.0GB/s, while four lanes would provide up to 4.0GB/s.

With the eventual release of PCI-Express 4.0, these speeds would effectively double. The release of PCI-Express 5.0 in 2017 saw an increase in bandwidth to 32 GT/s, with 63 GB/s in a 16-lane configuration. PCI-Express 6.0 (2019) saw another doubling of bandwidth to 64 GT/s, allowing for 126 GB/s in each direction.

Intel SSD 600p M.2 Solid State Drive
Intel SSD 600p. ©Intel

Of course, not all systems will achieve these speeds. The M.2 drive and interface have to be set up in the same mode. The M.2 interface is designed to use either legacy SATA mode or the newer PCI-Express modes, but the drive itself will select which one to use.

For instance, an M.2 drive designed with SATA legacy mode will be restricted to 600MB/s. While the M.2 drive is compatible with PCI-Express up to four lanes (x4), the computer uses only two lanes (x2). This results in maximum speeds of just 2.0GB/s. To get the most speed possible, you would need to check both what the drive and the computer or motherboard support.

Smaller and Larger Sizes

One of the goals of the M.2 drive design was to reduce the overall size of the storage device. This was achieved in one of several ways. First, the cards were made narrower than in the previous mSATA form factor. M.2 cards are just 22mm wide, compared to the 30mm of mSATA. The cards are also shorter in length at just 30mm long, compared to the 50mm of mSATA. The difference is that M.2 cards support longer lengths of up to 110mm. That means that they can actually be bigger, which provides more space for chips and thus higher capacities.

MSi Motherboard with M.2 drive

In addition to the length and width of the cards, there is the option for either single-sided or double-sided M.2 boards. Why two different thicknesses? Single-sided boards provide a thin profile and are useful for ultra-thin laptops. A double-sided board, on the other hand, allows for twice as many chips to be installed on an M.2 board, allowing for greater storage capacities. This is useful for compact desktop applications where space isn't as critical.

The problem is that you need to be aware of what kind of M.2 connector is on the computer, in addition to space for the length of the card. Most laptops will only use a single-sided connector, which means that they cannot use double-sided M.2 cards.

Command Modes

For more than a decade, SATA has made storage a plug-and-play operation. This is thanks to the simple interface but also the AHCI (Advanced Host Controller Interface) command structure.

The AHCI refers to a way in which computers communicate instructions with storage devices. It is built into all modern operating systems and thus does not require any additional drivers to be installed when adding new drives. The AHCI was developed in an era when hard drives had limited ability to process instructions, thanks to the physical nature of the drive heads and platters. A single command queue with 32 commands was sufficient. The problem is that today's solid state drives can do so much more, but they are still restricted by the AHCI drivers.

Samsung 960 Pro M.2 drive

To help eliminate this bottleneck and improve performance, the NVMe (Non-Volatile Memory Express) command structure and drivers were developed. Rather than use a single command queue, it provides up to 65,536 command queues, with up the 65,536 commands per queue. This allows for more parallel processing of the storage read and write requests, which help boost performance over the AHCI command structure.

While this is great, there is a bit of a problem. AHCI is built into all modern operating systems but NVMe is not. In order to get the most out of the drives, drivers must be installed on top of the existing operating systems. That is a problem for many older operating systems.

Thankfully, the M.2 drive specification allows either of the two modes. This makes adoption of the new interface easier with existing computers and technologies. As support for the NVMe command structure improves, the same drives can be used with this new command mode. However, switching between the two modes will require that the drives be reformatted.

Improved Power Consumption

Mobile computers have limited running times based on the size of their batteries and the power drawn by their components. Solid state drives provide significant reductions in the energy consumption of the storage component, but there is room for improvement.

Since the M.2 SSD interface is part of the SATA 3.2 specification, it includes other features beyond the interface. This includes a new feature called DevSleep. As more and more systems are designed to go into a sleep mode when closed or turned off, rather than power down completely, there is a constant draw on the battery to keep some data active for quick recovery when the device is woken up. DevSleep reduces the amount of power used by devices by creating a new lower power state. This should help extend the running time for systems that are put into sleep mode.

Problems Booting

The M.2 interface is a great advancement in computer storage and performance. To get the best performance, computers must use the PCI-Express bus, otherwise it runs the same as any existing SATA 3.0 drive. This doesn't seem like a big deal but it is a problem with many of the first few motherboards to make use of the feature. SSD drives offer the best experience when they are used as the root or boot drive. The problem is that existing Windows software has an issue with many drives booting from the PCI-Express bus rather than from SATA. This means that having an M.2 drive using PCI-Express will not be the primary drive where the operating system or programs are installed. The result is a fast data drive but not the boot drive.

Not all computers and operating systems have this issue. For instance, Apple has developed macOS (or OS X) to use the PCI-Express bus for root partitions. This is because Apple switched their SSD drives to PCI-Express in the 2013 MacBook Air—before the M.2 specifications were finalized. Microsoft has updated Windows 10 to fully support the new PCI-Express and NVMe drives. Older versions of Windows may also work if the hardware is supported and external drivers are installed.

How Using M.2 Can Remove Other Features

Another area of concern, particularly with desktop motherboards, pertains to how the M.2 interface is connected to the rest of the system. There are a limited number of PCI-Express lanes between the processor and the rest of the computer. In order to use a PCI-Express-compatible M.2 card slot, the motherboard manufacturer must take those PCI-Express lanes away from other components on the system. How those PCI-Express lanes are divided between the devices on the boards is a major concern. For instance, some manufacturers share the PCI-Express lanes with SATA ports. Thus, using the M.2 drive slot may consume upwards of four SATA slots. In other cases, the M.2 may share those lanes with other PCI-Express expansion slots. Be sure to check how the board is designed to make sure using the M.2 will not interfere with the potential use of other SATA hard drives, DVD, or Blu-ray drives or other expansion cards.