The mSATA interface was designed to create a thin profile card that could interact with the SATA interface. A new problem emerged when the SATA 3.0 standards limited the performance of SSDs. A new form of compact card interface had to be developed to correct these issues. 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 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 600 MB/s, which many drives have reached. The SATA 3.2 specifications introduced a new mixed approach for the M.2 interface, as it did with SATA Express. In essence, a new M.2 card can use existing SATA 3.0 specifications and be restricted to 600 MB/s. Or, it can use PCI-Express, which provides a bandwidth of 1 GB/s under the current PCI-Express 3.0 standards. That 1 GB/s speed is for a single PCI-Express lane, but it’s 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.0 GB/s, while four lanes would provide up to 4.0 GB/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 126 GB/s in each direction. Not all systems achieve these speeds. The M.2 drive and interface have to be set up in the same mode. The M.2 interface uses either the legacy SATA mode or the newer PCI-Express modes. The drive selects which one to use. For instance, an M.2 drive designed with SATA legacy mode is restricted to 600 MB/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 2.0 GB/s. To get the most speed possible, check 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 22 mm wide, compared to the 30 mm of mSATA. The cards are also shorter in length at 30 mm long, compared to the 50 mm of mSATA. The difference is that M.2 cards support longer lengths of up to 110 mm. That means that these drives can be larger, which provides more space for chips and, thus, higher capacities. In addition to the length and width of the cards, there is the option for either single-sided or double-sided M.2 boards. Single-sided boards provide a thin profile and are useful for ultra-thin laptops. A double-sided board 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 only use a single-sided connector, which means that laptops 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 due to the simple interface and the AHCI (Advanced Host Controller Interface) command structure. The AHCI is how computers communicate instructions with storage devices. It is built into all modern operating systems and doesn’t require 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 because of 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 do much more, but are still restricted by the AHCI drivers. The NVMe (Non-Volatile Memory Express) command structure and drivers were developed to eliminate this bottleneck and improve performance. Rather than use a single command queue, it provides up to 65,536 command queues, with up to 65,536 commands per queue. This allows for more parallel processing of the storage read and write requests, which boosts 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 isn’t. Drivers must be installed on top of the existing operating systems to get the most out of the drives. That is a problem for many older operating systems. The M.2 drive specification allows either of the two modes. This makes the 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 requires that the drives be reformatted.
Improved Power Consumption
A mobile computer has a limited running time based on the size of its batteries and the power drawn by its components. Solid-state drives reduce 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 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 extend the running time for computers that are put into sleep mode.
Problems Booting
The M.2 interface is an advancement in computer storage and performance. Computers must use the PCI-Express bus to get the best performance. Otherwise, it runs the same as any existing SATA 3.0 drive. This doesn’t seem like a big deal, but it’s a problem with many of the first motherboards to make use of the feature. SSD drives offer the best experience when 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 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 computer system. There are a limited number of PCI-Express lanes between the processor and the rest of the computer. 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. Check how the board is designed to make sure the M.2 won’t interfere with the potential use of other SATA hard drives, DVD drives, Blu-ray drives, or other expansion cards.