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

摘要:
由于闪存颗粒和主控质量的问题,PCI-ESSD的总体成本较高,比传统SATA固态硬盘更昂贵。注意,NVMe和AHCI一样,是一种逻辑标准。这类似于Windows 7/AHCI。如果使用PCIe总线,则有两种协议:AHCI和NVMe。以下是代表性产品:a)三星850EVOM。2接口,SATA总线,AHCI协议b)三星SM951M。2接口,PCIe总线,AHCI协议c)三星SM951M。2接口,PCIe总线,NVMe协议3。SATAExpress接口。从上图可以看出,AHCI和NVMe处于驾驶员级别。AHCI适用于机械硬盘和SSD。右下角的PCIe SSD设备可以有两个不同的控制器: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。

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

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

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

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

 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)。
几句话说清楚m.2和AHCI、NVME第4张

【补充】

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

--- 物理接口 ---

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

1. SATA 设备端。下图是大家所熟悉的 SATA 硬盘接口(设备端)。大部分 2.5" SSD 也是用这种接口。采用这种接口的,只能使用 SATA 总线。不能使用 PCIe 总线。
几句话说清楚m.2和AHCI、NVME第5张 

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

a) 三星 850 EVO M.2 接口,SATA 总线,AHCI 协议
几句话说清楚m.2和AHCI、NVME第6张 

b) 三星 SM951 M.2 接口,PCIe 总线,AHCI 协议
几句话说清楚m.2和AHCI、NVME第7张 

c) 三星 SM951 M.2 接口,PCIe 总线,NVMe 协议
几句话说清楚m.2和AHCI、NVME第8张 

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

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

--- 总结 ---

下图总结了目前不同标准/协议之间的组合。
几句话说清楚m.2和AHCI、NVME第11张 

由于上图可见,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

免责声明:文章转载自《几句话说清楚m.2和AHCI、NVME》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据挖掘中分类算法小结_数据分析师基于.NET Standard的分布式自增ID算法--Snowflake下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

说出一些常用的类,包,接口,请各举5个 ?

常用的包有: java.lang包下包括Math、System、StringBuilder、StringBuffer、Runtime、Thread、Runnable等。 java.util包下包括List、Set、Map,以及这些接口的常用实现类:ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。...

MySQL调优基础, 与hikari数据库连接池配合

1.根据硬件配置系统参数 wait_timeout   非交互连接的最大存活时间, 10-30min    max_connections   全局最大连接数 默认100 根据情况调整    back_log    达到max_connections后, 还能继续接受的连接请求数, linux不超过1000, 根据情况调整  thread_concurre...

Linux 路由 静态路由

Linux 路由 静态路由 目录 Linux 路由 静态路由 一、临时生效,使用命令route A、添加到主机的路由 B、添加到网络的路由 C、添加默认路由 D、删除路由 E、查看所有路由信息 二、临时生效,使用命令ip route A、添加路由,和route比较 B、改变路由,路由必须已存在 C、替换路由,路由不存在则添加 D、删除路由 E、...

如何写出安全的API接口(参数加密+超时处理+私钥验证+Https)

原文:http://www.cnblogs.com/codeon/p/6123863.html#3580351 1.完全开放的接口 有没有这样的接口,谁都可以调用,谁都可以访问,不受时间空间限制,只要能连上互联网就能调用,毫无安全可言。 实话说,这样的接口我们天天都在接触,你查快递,你查天气预报,你查飞机,火车班次等,这些都是有公共的接口。 我把这称之为裸...

fiddler 插件开发二

本篇主要讲解Fildder插件开发中的涉及到的主要接口与类。 1.IFiddlerExtension 接口 如果要开发的自定义插件有UI界面,则需要实现IFiddlerExtension 接口。你程序集中的实现了IFiddlerExtension接口的公有类(public class)将会在Fiddler启动时加载。 public interface IF...

eNSP——Hybrid接口的应用

原理: Hybrid接口既可以连接普通终端的接入链路又可以连接交换机间的干道链路,它允许多个VLAN的帧通过,并可以在出接口方向将某些VLAN帧的标签剥掉。 Hybrid接口处理VLAN帧的过程如下: (1)收到一个二层帧,判断是否有VLAN标签。没有标签,则标记上Hybrid接口的PVID,进行下一-步处理;有标签,判断该Hybrid接口是否允许该VLA...