欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

什么是M.2 NVMe固态盘?一文看懂:秒变DIY老司机

程序员文章站 2022-07-08 12:17:25
2006年当三星发布第一款民用SSD开始,谁也没想到这个性能怪物仅仅用10年便颠覆了HDD在存储界长达60年之久的统治霸权,并且愈发有取而代之的趋势,如今,电脑里不装个SSD总觉得哪里不正常。 而...

2006年当三星发布第一款民用SSD开始,谁也没想到这个性能怪物仅仅用10年便颠覆了HDD在存储界长达60年之久的统治霸权,并且愈发有取而代之的趋势,如今,电脑里不装个SSD总觉得哪里不正常。

而随之而来的,便是主板硬盘接口的变革,传统的SATA接口限制了SSD的发挥,为此人们发展出了各种更高效的传输接口,其中就有现在十分流行的M.2接口。

其实,从SATA到M.2,还有非常多的接口,被淹没在科技发展的潮流中,那么我们今天就来谈谈,M.2接口凭什么在新接口中突围而出成为主流,M.2接口的SSD是否就一定好

“慢吞吞”的接口

我们把时间倒回到2009年,那时候菊花只是说一种花,醉了也仅仅代表喝多了,在大家忙于偷菜的时候,串行ATA国际组织(SATA-IO)正式发布了新版规范“SATA Revision 3.0”,同时向下兼容旧版规范,理论最高传输带宽从3Gbps翻倍到6Gbps。

作为SATA接口的的延续,SATA3.0接口相对于各种新生接口而言技术成熟可靠,兼容设备多,普及程度高,且6Gbps的对于普通2.5英寸SSD堪称够用,自然而然SATA 3.0接口也就成为主板上必备的接口了。

如今在高端SSD价格居高不下,SSD并不能完全取代HDD的的情况下,相信SATA 3.0接口在今后相当长的时间里依然会是主流。

但人类并不喜欢原地踏步,很快,SATA协会开始思考,怎样才能突破SATA3.0的瓶颈呢?

SATA-Express,或者叫SATAe,便是SATA协会提出的解决方案。SATA-Express是SATA接口 + PCI-Express的混合体,其理论最高带宽可达10Gbps,能兼容SATA标准的老硬盘,也能使用SATA-Express接口的高速SSD,每个SATA-Express接口可以接1个SATA-Express硬盘,或者2个SATA硬盘。

但是我们并没能看到SATA-Express成为现在的主流接口,究其原因,一是SATA-Express太占主板空间,有网友甚至称其开历史的倒车,梦回IDE时代,影响了其在移动平台的通用性,二是对比他的竞争对手,在带宽上并无优势,实在鸡肋

也在那段时间,笔记本流行了起来,大家开始追求轻薄本,大家也开始努力把SSD做小,于是mSATA接口就应运而生了。

mSATA是SATA协会开发的mini-SATA(mSATA)接口控制器的产品规范,控制器可以让SATA技术整合在小尺寸的装置上。同时mSATA将提供跟SATA接口标准一样的速度和可靠度。

但mSATA的推广最后却失败了,因为当时masta接口的SSD受面积限制,颗粒数目有限,性能与容量难以匹敌同时代的2.5英寸SSD;

同时小尺寸带来价格的昂贵,加上当时SSD发展尚未成熟,容量价格比低,大多数消费者对其并不买账,最重要的是mSATA接口的SSD始终潜力有限,各大厂家很快又放弃了推广这一接口,开始寻找其他出路。

小结:

小的接口带宽不够,性能不足,带宽够的,接口又太大了,人们开始意识到,想要实现带宽够大,通用性够好的接口,必须在根源改变,不能再抱着SATA接口和AHCI标准小修小补了

理论上讲,成硬盘存储时延迟主要有三个方面,存储介质本身、控制器,以及软件接口标准。

而传统的AHCI标准一直是以高延迟的HDD为标准设定的,想配合性能突飞猛进的SSD早已有心无力。人们迫切需要一种更懂SSD,基于闪存特点开发的接口标准,于是,NVMe接口标准便诞生了。

NVMe接口标准为什么是革命性的?

NVMe标准,全称Non-Volatile Memory Express(非易失性存储器标准),是使用PCI-E通道的SSD一种规范,最早在2007年的Intel开发者论坛上已被提出,并在同年由Intel领衔成立了NVMHCI工作组。

面向PCIe SSD产品的NVMe标准能有效降低控制器和软件接口部分的延迟,最主要是能让SSD走PCI-E通道直连CPU,有效降低了数据延迟,其次,NVMe精简了调用方式,AHCI每条命令则需要读取4次寄存器,一共会消耗8000次CPU循环,从而造成2.5μs的延迟,而NVMe执行命令时则不需要读取寄存器。

什么是M.2 NVMe固态盘?一文看懂:秒变DIY老司机
NVMe PCIe SSD可有效降低延迟

而且新的协议还能大大提高SSD的IOPS(每秒读写次数)性能,理论上,IOPS=队列深度/ IO延迟,所以增加队列深度,就可以有效提升SSD的IOPS。

传统的ACHI标准下队列深度最多能达到32,但是在NVMe标准下,这一数值可以达到64000,是以前的2000倍。

此外NVMe还加入了自动功耗状态切换、动态能耗管理、免驱等功能,驱动适应性广,低功耗。

什么是M.2 NVMe固态盘?一文看懂:秒变DIY老司机
队列深度的大幅提升

小结:

对比传统的ACHI,NVMe接口标准能有效降低控制器和软件接口部分的延迟大幅提高固态硬盘的IOPS性能,还兼顾低功耗,驱动适应性广的优点,因此可以说NVMe接口标准是革命性的

M.2接口凭什么突围而出?

看到这里,各位看官似乎明白了,M.2接口是因为他支持NVMe标准,才会脱颖而出的吧?

猜对了一半,其实支持NVMe标准的接口,并不止M.2一个,还有更为纯粹的PCIe接口和非常小众的U.2接口,我们先来讲讲这个U.2接口,看看他为什么不能成为主流。

U.2正规学名其实是叫SF-8639接口,接口的设计思路与SATA-E一样,即尽可能利用现有的物理接口,但增加了更多的协议支持就像NVMe,带宽也从PCI-E x2增加到了PCI-E x4,可以说U.2才是才是SATAe的终极版本。

U.2接口不可以说不好,但是对比他的竞争对手M.2接口,在通用性方面稍逊一筹,而这对于接口的普及其实是致命的,U.2目前甚至还是需要占用特定的线材或转接卡与台式机或笔记本电脑连接,特别不方便,U.2接口逐渐小众化和边缘化也不足为奇了。

什么是M.2 NVMe固态盘?一文看懂:秒变DIY老司机
华硕 MAXIMUS VII HERO已停产

那么既然NVMe协议能让SSD更快走的是PCI-E通道,为什么不能直接把SSD插在原本就直连PCI-E通道的PCIe接口上呢,厂家也想到了这个问题,PCIe接口的SSD也就顺理成章的出现了。

PCIe接口的SSD一直是高性能的代名词,虽然其接口标准和M.2 PCIe SSD一样,但更大的pcb板能让PCIe SSD容量更大,更适合企业级消费者。

但通用性方面不及M.2接口灵活,所以本质一样的M.2 PCIe SSD和PCIe SSD在产品定位上开始分道扬镳了,M.2 PCIe SSD面向大众主流消费者,PCIe SSD则面向更高端的用户比如企业用户。

小结:

看完各个接口没能普及的原因,大家大概都明白了,M.2接口能突围而出,主要凭借着两点:1、支持NVMe传输协议,拥有更大的带宽,提高SSD的IOPS,大大减少SSD的延迟2、接口通用性比其他支持NVMe传输协议的接口要好,体积小巧、更适合放在各种移动端平台。

那么你说的牛逼哄哄的M.2接口,究竟是啥东西?

M.2其实是一种标准的连接器接口,曾用名是NGFF(Next Generation Form Factor),是由HP主导的一个PCI-SIG协会公布的协议,标准名称为PCI Express M.2 Specification,设计目的是为了在同一连接器上支持多种模组/卡,其中除了大家熟知的SSD之外,还支持WIFI、蓝牙、全球卫星导航系统和NFC等。

M.2接口最主要有以下几个优点:支持更高的速率,潜力大;相对PCI-Emini card,节约20%的PCB空间,节省15%的连接器高度,更小巧玲珑;支持PCI-E3.0,USB3.0和SATA3.0三种当前主流标准,接口更“全能”。

小巧的体积和支持多种主流通信接口,造就了M.2超强的通用性,也为M.2接口的普及铺平了道路。

在M.2模组尺寸方面,M.2规范1.0共定义了11种尺寸的模组/卡,但主流SSD尺寸只2242、2260、2280三种规格,命名也是按照模组的尺寸命名的,举个例子,M.2 2242,22是宽度22mm,42是长度42mm。

因为长度越长,可布置的闪存颗粒就越多,容量也就越大。因此各位购买M.2 SSD的时候,也需要先看清楚自己的主板支持什么尺寸的M.2模组。

什么是M.2 NVMe固态盘?一文看懂:秒变DIY老司机
M.2模组尺寸

什么是M.2 NVMe固态盘?一文看懂:秒变DIY老司机
主流SSD尺寸

特别要注意的是M.2的连接器共有三种Socket,(Socket1、2、3),其中Socket1全部采用焊接方式且仅适用于1216,2226和3026尺寸,并不常见。

Socket 2支持SATA、PCI-E X 2接口。而Socket3则仅支持PCI-E x 4通道,拥有高达32Gbps的带宽,接近4GB/S的接口传输速度,比SATA快5倍之多,专为高性能存储设计。

现在市面上有些主板的M.2接口是兼容这两种接口的,即可走SATA通道也可以走PCI-E通道,但是有的仅仅支持Socket3接口,走PCI-E通道,因此各位再购买SSD前,把自己主板的M.2接口搞清楚十分重要。

关于Socket 3和Socket 2 SSD接口外观差别可以看这里——

什么是M.2 NVMe固态盘?一文看懂:秒变DIY老司机

左边是支持“B key”的插槽,短的一段在左边,采用6pin设计,当接口连带“B key”一并使用时候,即为Socket 2接口,走SATA或PCI-E X2通道;

另一种是支持“M key”的插槽,短的一段在右边,采用5pin设计,当接口连带“M key”一并使用时候,走的是PCI-E X4通道,即为Socket 3接口。

什么是M.2 NVMe固态盘?一文看懂:秒变DIY老司机
建兴 睿速系列

M.2接口的SSD一定好吗?未必!

假如你买了一个M.2接口的SSD,它走的是SATA通道,那么他的传输协议依然是传统的ACHI,最大读写性能和走SATA3.0接口的SSD没有任!何!区!别!

因此,为了区别开来,我们把M.2接口,支持NVMe协议的高性能SSD称为NVMe M.2 SSD。

但是同样是NVMe M.2 SSD,性能也可能会有很大差异,主要是有两个因素造成:其一为SSD接口类型是PCI-E 3.0还是老旧的PCI-E 2.0;其二是SSD是PCI-E X 4(Socket 3)还是PCI-E X 2(Socket 2)。最大的区别在于理论最高带宽和接口速度上,小编整理了一份表格给大家便于理解:

什么是M.2 NVMe固态盘?一文看懂:秒变DIY老司机

可以轻易的看出PCI-E 3.0 X 4的SSD才是理论上最好的固态硬盘。

但是小编也不是说只建议大家买Socket 3,PCI-E 3.0 X 4接口的M.2 SSD,当然这是最强的M.2 SSD,但也是最贵的M.2 SSD。

当初SSD问世给HDD用户带来极大的震撼,日常体验得到飞跃的提升,但这次NVMe M.2 SSD相比于SATA SSD,在日常使用中其实并不会感受到明显的差异,换句话讲对于大多数日常应用普通的SSD不会是瓶颈。

小编一向建议大家按需购买,如果不是重度工作使用,不需要经常读写大型文件,或许等到高性能的NVMe M.2 SSD价格更亲民再去入手,会更好些。

结语:

在2012年的IDF上,Intel提出将开始大力推广NGFF技术标准的SSD,主要用于超极本平台,进一步减少超极本厚度同时提高传输速度,取代mSATA。想不到的是,尝过甜头的厂家开始把这一接口推广到其他领域,M.2接口以星星之火可以燎原之势迅速普及了下来,下一步便是高性能的NVMe M.2 SSD普及了。

十年前刚面世不久的1tb机械硬盘标出3000的天价,但是现在却已经是装机必备,随着人类科技的进步,SSD的成本进一步下降,假如NAND闪存制造大厂不再遇到危险相信大家的电脑都插上1TB的NVMe M.2 SSD的日子过不了多久就会到来的吧。