随着计算机变得越来越小,存储驱动器等硬件组件也必须变得越来越小。固态驱动器的引入允许超薄型设计,如Ultrabook,但这与行业标准SATA接口相冲突。
mSATA接口旨在创建可与SATA接口交互的薄型卡。当SATA 3.0标准限制SSD的性能时,出现了一个新问题。必须开发一种新形式的紧凑型卡接口来纠正这些问题。
最初称为NGFF(下一代外形尺寸),新接口已标准化为SATA 3.2版规范下的M.2驱动器接口。
虽然大小是开发接口的一个因素,但驱动器的速度同样至关重要。SATA 3.0规范将驱动器接口上SSD的实际带宽限制在600 MB/s左右,这是许多驱动器已经达到的。SATA 3.2规范为M.2接口引入了一种新的混合方法,与SATA Express一样。
本质上,新的M.2卡可以使用现有的SATA 3.0规范,并限制为600 MB/s。或者,它可以使用PCI Express,根据当前的PCI Express 3.0标准,PCI Express提供1 GB/s的带宽。1 GB/s的速度适用于单个PCI Express通道,但也可以使用多个通道。根据M.2 SSD规范,最多可以使用四个通道。使用两条车道理论上可以提供2.0 GB/s,而四条车道最多可以提供4.0 GB/s。
随着PCI Express 4.0的最终发布,这些速度实际上将翻倍。2017年发布的PCI Express 5.0将带宽增加到32 GT/s,16通道配置中的带宽为63 GB/s。PCI Express 6.0(2019)的带宽又增加了一倍,达到64 GT/s,每个方向允许126 GB/s。
并非所有系统都能达到这些速度。M.2驱动器和接口必须在相同模式下设置。M.2接口使用传统SATA模式或较新的PCI Express模式。驱动器选择要使用的驱动器。
例如,采用SATA传统模式设计的M.2驱动器限制为600 MB/s。虽然M.2驱动器与PCI Express最多兼容四个通道(x4),但计算机仅使用两个通道(x2)。这导致最大速度为2.0 GB/s。要获得尽可能快的速度,请检查驱动器和计算机或主板支持什么。
M.2驱动器设计的目标之一是减小存储设备的总体尺寸。这是通过以下几种方式之一实现的。首先,卡的形状比之前的形状更窄。M.2卡宽22毫米,而mSATA卡宽30毫米。与50 mm的mSATA相比,30 mm长的卡的长度也更短。不同之处在于,M.2卡支持更长的长度,最长可达110毫米。这意味着这些驱动器可以更大,从而为芯片提供更多空间,从而提高容量。
除了卡的长度和宽度外,还可以选择单面或双面M.2板。单面电路板外形薄,适用于超薄笔记本电脑。双面板允许在M.2板上安装两倍数量的芯片,允许更大的存储容量。这对于空间不那么重要的小型桌面应用程序非常有用。
问题是,除了卡的长度之外,您还需要知道计算机上的M.2连接器是什么类型的。大多数笔记本电脑只使用单面连接器,这意味着笔记本电脑不能使用双面M.2卡。
十多年来,SATA使存储成为即插即用操作。这是由于简单的接口和AHCI(高级主机控制器接口)命令结构。
AHCI是计算机如何与存储设备进行指令通信。它内置于所有现代操作系统中,在添加新驱动器时不需要安装额外的驱动程序。
AHCI是在硬盘驱动器处理指令的能力有限的时代开发的,因为硬盘驱动器头和盘片的物理性质。一个包含32条命令的命令队列就足够了。问题是,今天的固态驱动器做得更多,但仍然受到AHCI驱动程序的限制。
开发NVMe(非易失性内存Express)命令结构和驱动程序是为了消除这一瓶颈并提高性能。它不使用单个命令队列,而是提供多达65536个命令队列,每个队列最多有65536个命令。这允许对存储读写请求进行更多的并行处理,从而提高了AHCI命令结构的性能。
虽然这很好,但也有一点问题。AHCI内置于所有现代操作系统中,但NVMe不是。驱动程序必须安装在现有操作系统之上,才能最大限度地利用驱动器。对于许多较旧的操作系统来说,这是一个问题。
M.2驱动器规格允许两种模式中的任何一种。这使得采用新的界面更容易与现有的计算机和技术。随着对NVMe命令结构的支持的改进,相同的驱动器可以与此新命令模式一起使用。但是,在两种模式之间切换需要重新格式化驱动器。
移动计算机的运行时间是有限的,这取决于其电池的大小及其组件消耗的电量。固态驱动器降低了存储组件的能耗,但仍有改进的余地。
由于M.2 SSD接口是SATA 3.2规范的一部分,因此它包括接口之外的其他功能。这包括一个名为DevSleep的新功能。由于越来越多的系统设计为在关闭或关闭时进入睡眠模式,而不是完全断电,因此电池会不断消耗电量,以保持某些数据处于活动状态,以便在设备唤醒时快速恢复。DevSleep通过创建新的低功耗状态来减少设备使用的功耗。这将延长进入睡眠模式的计算机的运行时间。
M.2接口是计算机存储和性能方面的进步。计算机必须使用PCI Express总线才能获得最佳性能。否则,其运行方式与任何现有SATA 3.0驱动器相同。这看起来没什么大不了的,但对于许多第一批使用该功能的主板来说,这是一个问题。
SSD驱动器用作根驱动器或引导驱动器时提供最佳体验。问题在于,现有的windows软件存在一个问题,即许多驱动器是从PCI Express总线而不是从SATA引导的。这意味着使用PCI Express的M.2驱动器将不是安装操作系统或程序的主驱动器。结果是一个快速的数据驱动器,而不是引导驱动器。
并非所有计算机和操作系统都存在此问题。例如,苹果已经开发了macOS(或OSX)来将PCI Express总线用于根分区。这是因为在M.2规格最终确定之前,苹果在2013年MacBook Air中将其SSD驱动器切换为PCI Express。Microsoft已更新Windows 10以支持新的PCI Express和NVMe驱动器。如果支持硬件并安装了外部驱动程序,则旧版本的Windows也可以工作。
另一个值得关注的领域,特别是台式机主板,涉及M.2接口如何连接到计算机系统的其余部分。处理器和计算机其余部分之间的PCI Express通道数量有限。要使用与PCI Express兼容的M.2卡插槽,主板制造商必须使这些PCI Express通道远离系统上的其他组件。
如何在板上的设备之间划分这些PCI Express通道是一个主要问题。例如,一些制造商使用SATA端口共享PCI Express通道。因此,使用M.2驱动器插槽可能会消耗多达四个SATA插槽。在其他情况下,M.2可能与其他PCI Express扩展插槽共享这些通道。
检查电路板的设计,以确保M.2不会干扰其他SATA硬盘驱动器、DVD驱动器、蓝光驱动器或其他扩展卡的潜在使用。