几句话说清楚m.2和AHCI、NVME

【简单解说】

M是一代mini硬件接口,如MSATA,M.2是二代mini硬件接口,如M.2 NVME/SATA,  M.2支持传统SATA和PCI Express存储设备

M.2更多的指的是主板上的硬件接口(M.2接口,是Intel推出的一种替代MSATA新的接口规范,也就是我们以前经常提到的NGFF,即Next Generation Form Factor),而SATA/PCI-E则更多的指的是一种数据传输通道,目前常见sata接口有sata2和sata3,最大传输速度是6Gb/s,PCI-E接口通道有PCI-E 2.0 x2及PCI-E 3.0 x4两种,最大速度达到32Gbps,可以满足未来一段时间的使用,而且早期PCI-E硬盘不能做启动盘的问题早解决,现在旗舰级SSD大多会选择PCI-E接口。虽然PCI-E SSD有诸多好处,但也不是每个人都适合。PCI-E SSD由于闪存颗粒和主控品质问题,总体成本较高,相比传统SATA固态硬盘价格贵一些。另外,由于PCI-E会占用总线通道,入门以及中端平台CPU通道数较少,都不太适合添加PCI-E SSD,只有Z170,或者是X79、X99这样顶级平台,才可以完全发挥PCI-E SSD的性能。总的来说,如果你是一个不差钱的土豪,那么就 PCI-E SSD吧!

————————————————

AHCI和NVMe为接口对应的数据传输协议规范(驱动程序层面)。

NVMe(或称非易失性内存主机控制器接口规范(Non-Volatile Memory express))标准在2012年升级到NVMe 1.1,而NVMe 1.2标准是在2014所推出的。直到2017年5月,NVMe升级到1.3版本.

M.2接口有两种类型:Socket 2和Socket 3,其中Socket2支持SATA、PCI-E X2接口,而如果采用PCI-E ×2接口标准,最大的读取速度可以达到700MB/s,写入也能达到550MB/s。而其中的Socket 3可支持PCI-E ×4接口,理论带宽可达4GB/s。

 

mSATA SSD(左)和M.2 2242 SSD(右)的大小比较

 SATA revision 3.1
SATA revision 3.2 (16 Gbit/s, 1969 MB/s)

SATA 3.0标准发布于2009年5月26日,也就是SATA 6Gbps,2011年7月升级为SATA 3.1,2013年8月升级为SATA 3.2,2016年2月升级为SATA 3.3,一直在加入新的特性,优化设备支持。2018年公布的SATA Revision 3.4版标准规范相比前面几个版本,在兼容性、可靠性以及性能上都有一些小改进,以满足用户对存储设备安全高效使用的需求。

 传统硬盘最高也就150M的速度,7200转的台式机硬盘:90-190MB每秒。copy硬盘的读写速度主要由转速决定的转速:笔记本硬盘5400转,台式机硬盘7200转。对应的硬盘的读写速度通常是5400转的笔记本硬盘:50-90MB每秒。7200转的硬盘用zhidao专业的测速软件测试如下:1、最大读取速度为140.7MB/秒,平均读取速度为109.2MB/秒。2、最大写入速度为133MB/秒,平均写入速度为104MB/秒。

-----------------------------------

总线类型 数据传输率

ISA 8.33MB/S

EISA 133MB/S

VISA 133MB/S

PCI 133MB/S

AGP 266MB/S

AGP-2X 533MB/S

AGP-4X 1.O66GB/S

AGP-8X 2.133GB/S

PCIe 2.0标准:

PCI Express1X(单通道) 500MB/S

PCI Express2X(单通道) 1GB/S

PCI Express4X(单通道) 2GB/S

PCI Express8X(单通道) 4GB/S

PCI Express16X(单通道) 8GB/S

USB 3.05Gbps/10)速度实际上是理论500MB/s

USB 2.0480Mbps/8)速度实际上是理论60MB/s

SATA 6Gbps /10)的理论速度则是600MB/s

以下是 PCIe 各版本的对比。注意在同一个版本中,也有不同的速率,取决于产品使用多少条通道(Lane)。

【补充】

 注意,NVMe 和 AHCI 一样,是逻辑(或者说软件、驱动程序)上的标准。而 SATA 和 PCIe 则更注重于物理层面(电流、电压、触脚等)。NVMe 比较新,Windows 7 没有原生驱动,因此安装的时候需要加第三方驱动。这个和当年 Windows 7 / AHCI 类似。

--- 物理接口 ---

说完了总线和协议,下面说说物理接口。无论采用什么总线和协议,主板总得连接到存贮设备上。这里所说的物理接口,指是是物理尺寸和形状,电气特征不作讨论。接口又分主机端和设备端。由于种类繁多,这里挑几个常见的。

1. SATA 设备端。下图是大家所熟悉的 SATA 硬盘接口(设备端)。大部分 2.5" SSD 也是用这种接口。采用这种接口的,只能使用 SATA 总线。不能使用 PCIe 总线。
 

2. M.2 接口。(以前叫 NGFF,现在统一叫 M.2 了,大家改改习惯吧)。采用这种接口的 SSD,可以使用 SATA 或者 PCIe 总线(取决于主板和SSD)。如果采用 PCIe 总线,又分 AHCI 和 NVMe 两种协议。因此总共有三种。下面是代表性产品:

a) 三星 850 EVO M.2 接口,SATA 总线,AHCI 协议
 

b) 三星 SM951 M.2 接口,PCIe 总线,AHCI 协议
 

c) 三星 SM951 M.2 接口,PCIe 总线,NVMe 协议
 

3. SATA Express 接口。SATA Express 使用的是 PCIe 总线,向下兼容 SATA 总线。设备端物理接口如下图。给眼神不好的同学提个醒:设备端的触脚是连在一起的,而不是 SATA 那样分成两部分。目前 T460/T560/X260/P50s 可以支持 SATA Express 的设备(东芝品牌的 SSD)。
 



--- 总结 ---

下图总结了目前不同标准/协议之间的组合。
 

由于上图可见,AHCI 和 NVMe 是驱动程序层面的。顾名思义,NVMe 只适用于 SSD(SSD和主板也要支持 NVMe 才行)。AHCI 则适用于机械硬盘和SSD。

在主板芯片层面,有 AHCI 控制器和 PCIe 控制器。有趣的是 AHCI 驱动程序“居然”可以使用 PCIe 控制器(中间那条橙色的线)。这个其实是个过渡方案,目的是在利用 PCIe 高带宽的同时,保持对上层软件的兼容性。目前在笔记本上,用这个方案的产品并不多。楼主也不觉得会成为主流。

绿色那个框是主板上的物理接口。参见以上“物理接口”一节。注意即使是同样的物理接口,也可以选择不同的总线和协议(如果主机和设备支持的话)。因此不要以为买了 M.2 的盘就一定是高大上,买了 2.5" 的盘就一定是屌丝。

左下角的 SATA 设备就不用多说了。大家都很熟悉。

右下角的 PCIe SSD 设备则可以有两种不同的控制器(最下面的两个框):AHCI 和 NVMe。因此,同样是 PCIe 的 SSD,也可以有不同的传输效能。

说了这么多,相信大家已经晕了。下面按传输效率做个排序,希望对大家有帮助。

1. PCIe NVMe。
这个是最高大上的。在笔记本市场,根据效能,可以再细分为两个等级:
1A 是 M.2 尺寸的 NVMe(如三星 950 PRO)。可以有四条 PCIe 通道,速度最快。但由于电路板面积限制,容量和发热都是个问题。
1B 是 2.5" 尺寸的 NVMe(如东芝 XG3),采用 SATA Express 接口,可以有两条 PCIe 通道,传输速率较低。由于 2.5" 体积较大,容量和发热比 M.2 要好。在 T460/T560/X260/P50s 上可用。

2. PCIe AHCI。
效能比 1 稍低,是由于 AHCI 协议的滞后性决定的。笔记本上只有 M.2 外形,没有 2.5" 外形。(如三星 SM951 AHCI 版)。

3. SATA AHCI。
效能最低,但兼容性最好,根据外形可分为两类。这两类的传输效能是一样的,无分高低。如果要便宜、容量,则选 2.5"。如果要轻薄,则选 M.2。
3A 是 2.5" 外形的设备,如目前广泛使用的机械硬盘,固态硬盘等。
3B 是 M.2 外形的设备,如三星 850 EVO 的 M.2 盘。

参考

M.2 的 wikipedia: https://en.wikipedia.org/wiki/M.2

谈M.2接口固态硬盘发展与普及: http://storage.yesky.com/88/37279088.shtml

M.2两种版本全对比:http://ssd.zol.com.cn/579/5798409_all.html#p5798800

NVMe SSD是个啥? http://www.cfan.com.cn/2016/0929/127391.shtml

NVMe Managerment Interface 介绍 http://www.snia.org/sites/default/files/SDCIndia/2016/Presentations/NVMe-MI%20SDC%20India.pdf
————————————————
版权声明:本文为CSDN博主「亚历山大的陀螺」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/don_chiang709/java/article/details/86700530

原文地址:https://www.cnblogs.com/al88/p/12728195.html