Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 2501|回复: 76

[原创内容] NVMe固态硬盘到底是什么?如何实现 [复制链接]

PcBeta首席应用老师

UID
1071877
帖子
4149
PB币
719
贡献
0
技术
453
活跃
1362
发表于 2017-1-18 14:12:57 |显示全部楼层
本帖最后由 DreameRing 于 2017-11-2 16:26 编辑

自从第一次摸电脑的时候,只知道内存处理器快就好,后来买了300A+128M内存,才发现,真正慢的是硬盘,硬盘在固态硬盘出来之前这么多年的发展实在是太缓慢,完完全全的瓶颈。内存再快,硬盘跟不上也没用。
应该很多网友都用上了SSD,上一讲只是大概说了一下SSD基础,用起来也仅仅需要4K对齐。这次专门说完全不一样的NVMe协议固态硬盘。
好了,各位网友可以由浅入深的共同探讨,当然高级的九浅一深也可以……

1,什么是NVMe

NVMe是Non-Volatile Memory express的简称,来说NVMe不是一种接口,而是一种协议,什么是协议?最简单的理解就是一种传输方案,和接口有一定关系。
并口时代不讨论。在串口时代如果硬盘接入SATA,可以将协议设置为IDE(理解为并口)或者AHCI(理解为串口),一般情况下,都会选择更配套的高速的协议。这就好比USB3.0的优盘完全可以用在USB2.0接口上一样,但是一般都用在USB3.0接口上。


2,为什么要选择NVMe?

第一啊,NVMe具有更好的队列深度和更低的延迟。

6111798_ahcivsnvme.png


第二,因为串口硬盘(SATA)就算是SATA3.0,它传输通道的速度是6Gbps,这种接口注定速度不能突破800M/S,所以所有有的NVMe协议的硬盘都被接入了更高速的显卡用的PCIE通道。PCIE 3.0 1X的速度就是8Gbps。PCIE 3.0 4X的速度是32Gbps,远高于SATA3.0。轻松突破2000M/S。

3,实现NVMe条件?

确切来说,NVMe需要接口、总线、协议、启动、驱动共同支持才能实现。NVMe不同于AHCI,在BIOS里设置一下就OK,这里是有严格要求!
我先来简单说一下几个名词!
总线:就是传输的通道,NVMe必须采用在PCI-E 3.0 4X以上
接口:就是主板上用于连接SSD的那个插槽(接口)
通道:就是数据走的哪条通道
协议:就是方案。即使接口和总线全部没问题,如果SSD不支持NVMe这个协议也没用
DMI:处理器连接主板芯片组的总线
PCH:就是主板南桥,可以理解为芯片组,把总线扩展为其他接口的一个芯片
启动:必须EFI启动才可以
总结:确切来说,NVMe的实现需要运行在主板,硬盘都支持,接在的PCIE 3.0 4X以上。有驱动的环境下并以EFI方式来启动。听起来是不是挺简单?貌似硬件支持,有驱动,接口接对了就行了?其实不然。


第一,先说接口

NVMe必须在走PCIE 4X总线才能实现!这个总线可以通过以下几个接口实现:U2,M.2,PCI-E。
而M.2接口还分B KEY(Socket2)和M KEY(Socket 3)。而NVMe能够实现的M2接口都是M KEY(Socket 3),加上B KEY基本被淘汰,大多数低端机器尤其是笔记本上,都用这个接口,目前新买到的中高端机器应该都是M KEY。所以下文都说M KEY(Socket 3)接口。
这几个接口都能走PCIE总线,除了外观其实本质上速度上没什么区别。

第二,说协议

协议其实理解也容易,我说说和接口的关联。
IDE:只能IDE(并口)
SATA:AHCI(串口)、IDE
PCI-E:PCIE、NVMe
M2、U2、SATA-E:PCIE,NVMe,部分低端的是以SATA变成如上接口而存在。

反过来用协议表示也一样
IDE:IDE、SATA
AHCI:M2、U2、SATA-E、SATA
PCI-E:M2、U2、SATA-E、PCI-E
NVMe:M2、U2、PCI-E、SATA-E

不过要说的是,SATA-E用NVMe几乎不可能,认为不应该再存在的接口。


第三,再说总线和通道(最重点)

从Ivy Bridge开始Intel都采用PCIE 3.0,NVMe必须在PCIE 3.0 X4以上才行。
1,每种接口不是100%都走PCIE总线通道
芯片组转接的接口也可以通过Intel RST走SATA通道,比如M2接口也可以走SATA也可以走PCIE,这个需要自身SSD和主板共同支持PCIE总线,接口类型在BIOS里设置为PCIE通道。

2,M2接口是主流,但是必须速度达标
NVMe在PCIE 3.0 X4以上才行,但是很多接口(U2,M2)自带的是X2的速度,就是16Gbps的速度。我们需要Ultra M2接口,这种是以X4的方式连接的,速度是32Gbps。购买的时候一定要看清楚。如果标注32Gbps或者X4就可以实现。

3,未必硬件全部支持就等同支持
既然必须在PCIE 3.0下运行,这个需要在BIOS里设置为PCIE 3.0。正确的应该是PCIe Gen3。

4,PCIE通道数是有限制的
虽然现在大部分都是PCIE 3.0的,但是你非常需要明白一件事情,PCIE通道是有总数和方式的。
原生PCIE总线在CPU内,每个处理器具体多少条总线可以查询文档。
就说6700K吧,一共24条PCIE通道,连接主板的DMI总线用4条,核显永久占用4条,剩下来就是16条。不是说你有多少就能用多少。
但是一般情况下说的PCIE通道数指的是可利用通道,比如6700K不是标称24条而是16条。

5,既然剩余只有16X,显卡也是16X,不是没了嘛?
再说通道。刚才不是说PCIE只剩余了16条么?显卡插槽就是X16,这就没了啊,那为什么主板都带多个PCIE插槽?先看一张10系列和9系列芯片组的图。
未标题-1.png

能看懂多少看多少吧。
处理器原生16X PCIE通道,而芯片组的PCH也有PCIE通道。
刚才说了,6700K的一共24条PCIE通道,为了处理器为了跟主板连接,分了4条给了DMI总线。这4条PCIE 3.0的总线又被分成26条通道,其中USB占用8条,还有12条分给了Intel RST,这12条通道可以以M2或者PCIE的接口来存在,可以变成PCIE通道也可以变成SATA通道。这个就叫做PCH中转!
8e18b7003af33a8797b04a84c35c10385243b574.png

再来看9系列芯片组的图,PCIE3.0都是原生接口,而芯片组提供的只有PCIE2.0,速度很不达标,想要用NVMe就必须插原生显卡插槽上。
PCH中转也可以实现NVMe,只不过速度略差,也被通俗的认为不完美NVMe。一般用直连CPU的通道(就是原生PCIE3.0)。

6,这样做通道真的够用吗?
所有芯片组的PCIE接口(PCH中转),都是走DMI总线的,总线速度等同PCIE 4X。
193922ijkt66qbts3gm8xt.png

看到了么?这么多接口全部走DMI总线,而这些速度总和只有4X。也就是说,如果你把NVMe的SSD安装到PCH中转的接口上,要和USB、声卡、网卡、串口硬盘等共享这个4X通道。想要获得极限速度,就得关停其他接口,这样是很不实际的。
仔细看上述图片很多个通道都是接口共享的,比如某个M2和SATA-E,用了一个另一个就用不了。而出口的总速度再次共享。
但是实际测试,按照目前主流的NVMe硬盘,正常用的话,速度差别不是很大。

7,到底哪些是原生的PCIE 3.0接口?显卡一定是吗?
非常不幸的告诉你!真未必!据我发现,大部分原生PCIE 3.0接口一般都是靠近处理器的那个插槽,其他所有插槽都是非原生的。
那M2接口呢?有没有原生的?只有小部分有,这个部分有多小?Z170-DELUXE还是PCH中转的。部分玩家国度和部分高端主板是原生的PCIE 3.0 4X。当然,这样的话显卡能用的只有12X了。
那显卡的PCIE3.0还有其他原生的嘛?前面的拓扑图得知,Z系芯片组可以拆分原生通道为8+8,或者8+4+4,但是有一个很大的问题,处理器是支持拆分通道,绝大部分的PCIE 3.0接口都是靠近处理器那一条是原生的,其他都是芯片组提供的。小部分是两条原生支持拆分。这个部分有多小?据我发现部分玩家国度是可以拆分的。

8,为什么Z系列芯片组支持通道拆分,确鲜有主板呢?
这么看来,其他主板只要不是贵的离谱,想用原生PCIE通道,要么放弃显卡,要么放弃NVMe?
大家先来看看X99的芯片组的拓扑图。
6.jpg


发现了没?所有的PCIE 3.0都是原生接口,且通道数为40条。够牛X吧?土豪上吧!我如果要是Intel总监我也会拉开X芯片组和其他芯片组的差距。要是如果就好了……
现在你知道为什么普通的主板没有这么多原生PCI-E 3.0接口了吧?

9,速度差异?
就拿gtx1080来说,PCIE 3.0环境下,16X和8X相差不到5%,可以忽略。
一般固态硬盘,在DMI3.0的PCH下,其他设备不是太多的话,速度也不会差到离谱。延迟倒是真正存在的。

总结:
1,大部分只有一条原生PCIE 3.0。要么放弃独显,要么放弃NVMe。不排除某些主板带2条原生PCIE3.0还拆分的,可以看拓扑图。只可惜除了华硕玩家国度里头的一部分高端,和其他品牌的高端我还没见到有说明的。
2,除了部分X99,大部分M2是芯片组提供的。
3,实在想用,就把SSD接在M2 32G的接口上,绝大部分是芯片组中转的。速度和延迟有偏差
4,想要完美?上X99及以上吧!
5,低端芯片组还是放弃了吧!

第四,说启动

最麻烦的通道说完了,再来说一下启动。
刚才说了,需要主板和固态硬盘共同支持,固态硬盘支持很简单,支持会有NVMe字样。至于主板支持,目前9和10系全部支持,部分B85等更新BIOS才能支持。
可问题来了刚才说了,不是PCIE 3.0 4X都能支持嘛?我的Z77为什么不支持?
那是因为Z77没有NVMe的启动文件,需要把NVMe的FFS文件刷到BIOS模块里,具体怎么刷,刷哪个请自行解决。而且每个主板厂商的NVMe模块还不太一样,我见过大部分可以用的NVMeExpressDxE.ffs,也见过华硕的3个NVMe启动ffs。就是说你就算没刷死,刷错了也启动不了。
但是必须要说的是,Intel 750固态内置启动文件,插在很多老主板(比如Z77)上的PCIE 3.0接口可以直接正确识别并启动。
最开始说了,NVMe必须要在EFI引导下才能实现,至于是纯EFI还是开启CSM倒无关紧要。



第五,说安装

关于NVMe,如果想简单的实现,我倒是推荐Windows10,不仅原生支持NVMe,而且也支持纯EFI启动。
既然我来自Windows7大区那么久独立说一下Windows7如何实现。
windows7实现需要2条,第一就是EFI启动,这个没什么好说的,BIOS内开启EFI启动并开启CSM就可以。
Windows7因为内置的boot.wim不包含NVMe驱动,所以安装界面是不识别硬盘。

1,很多人用了Win10的boot.wim来启动安装界面倒是可以识别

2,如果是Windows7安装,那么在安装到选择磁盘的时候,选择浏览,然后加载正确的驱动再刷新,即可看到NVMe硬盘。
驱动下载:
三星系列驱动: Samsung_NVMe.rar (43.58 KB, 下载次数: 24)
Intel驱动(不包括600P): intel nvme 1.8.0.1011 X64.rar (77.25 KB, 下载次数: 17)

3,既然win10自带NVMe驱动,那么就可以用dism把NVMe驱动内置到系统镜像里。通用NVMe驱动下载地址:
https://support.microsoft.com/zh-cn/kb/2990941

4,PE内安装的话,一定要选择一个支持NVMe的PE,比如某些win10 PE。用winnt安装并添加驱动

5,部分厂家提供镜像修改,比如技嘉的WindowsImageTool,可以直接把NVMe和USB3.0驱动都内置到镜像里

6,如果是600P这样没有原厂驱动的,建议内置驱动,如果有原厂驱动,建议加载原厂驱动。





为什么关于安装部分说的这么少?具体安装大部分人都会,这里直说和普通安装的区别。

我现在头有点晕,难免出错!出错的话可以发帖告知,谢谢!等有空了好好排版吧!
最后愿大家早日体验高速体验!





特大喜讯支持NVMe的windows7安装光盘论坛已发布,访问地址如下
http://bbs.pcbeta.com/viewthread-1736769-1-1.html










3

查看全部评分

Rank: 1

UID
2867025
帖子
46
PB币
193
贡献
0
技术
0
活跃
80
发表于 2017-1-18 15:30:45 来自手机 |显示全部楼层
顶上去,我不是妹子不撒娇,坐等

Rank: 1

UID
3464316
帖子
46
PB币
1
贡献
0
技术
0
活跃
55
发表于 2017-1-20 14:05:42 |显示全部楼层
很需要这个文件呢

Rank: 2Rank: 2

UID
4609454
帖子
124
PB币
56
贡献
0
技术
0
活跃
162
发表于 2017-1-21 20:34:10 |显示全部楼层
很好很强大呵呵呵

Rank: 7Rank: 7Rank: 7

UID
158497
帖子
2082
PB币
5640
贡献
0
技术
9
活跃
758
发表于 2017-1-22 09:27:50 |显示全部楼层
不明觉厉,估计完全成熟至少还要等两年

Rank: 7Rank: 7Rank: 7

UID
4390434
帖子
936
PB币
163
贡献
0
技术
5
活跃
1043
发表于 2017-1-22 20:40:34 |显示全部楼层
我去,距上次win7安转光盘发布已经有8个月只多了,期待下次版本

Rank: 5Rank: 5Rank: 5

UID
265640
帖子
738
PB币
2379
贡献
0
技术
51
活跃
365
发表于 2017-1-23 02:34:10 |显示全部楼层
科普贴赞下,要是2年前看得人会更多
既然科普就难为作者了,为了让观众理解有些概念模糊了
nvme盘用了一年多,目前感觉大部分产品成熟度可以了。

Rank: 2Rank: 2

UID
273686
帖子
330
PB币
1762
贡献
0
技术
0
活跃
300
发表于 2017-1-23 19:57:25 |显示全部楼层
很好,学习了

PcBeta首席应用老师

UID
1071877
帖子
4149
PB币
719
贡献
0
技术
453
活跃
1362
发表于 2017-1-24 10:47:17 |显示全部楼层
zerozerone 发表于 2017-1-23 02:34
科普贴赞下,要是2年前看得人会更多
既然科普就难为作者了,为了让观众理解有些概念模糊了
nvme盘用了一年 ...

我自己看都不免头晕,只能用回答问题的方式。
这个总结排版对于我现在来说不容易,等有空了吧

点评

zerozerone  ***尤肥捣咽狈蚜  发表于 2017-1-24 22:02

Rank: 7Rank: 7Rank: 7

UID
656272
帖子
1906
PB币
272
贡献
0
技术
224
活跃
1147

Win10先驱者

发表于 2017-1-29 12:03:31 |显示全部楼层
本帖最后由 a1379388505 于 2017-1-29 12:07 编辑

写的挺认真

Rank: 2Rank: 2

UID
1643276
帖子
127
PB币
67
贡献
0
技术
0
活跃
132
发表于 2017-1-29 16:31:51 |显示全部楼层
谢谢分享!第一次了解这个概念!

Rank: 5Rank: 5Rank: 5

UID
1270188
帖子
569
PB币
3404
贡献
0
技术
4
活跃
195
发表于 2017-1-29 19:58:55 |显示全部楼层
期待跟进,支持一个。

Rank: 2Rank: 2

UID
239643
帖子
236
PB币
3880
贡献
0
技术
30
活跃
444

8周年庆典勋章

发表于 2017-2-3 10:53:24 |显示全部楼层
留给记印,谢谢分享!

Rank: 1

UID
1182084
帖子
69
PB币
92
贡献
0
技术
0
活跃
370
发表于 2017-2-6 11:23:39 |显示全部楼层
坐等大神更新技术贴!

Rank: 1

UID
1182084
帖子
69
PB币
92
贡献
0
技术
0
活跃
370
发表于 2017-2-6 11:26:07 |显示全部楼层
坐等大神更新技术贴!

Rank: 1

UID
959928
帖子
66
PB币
157
贡献
0
技术
0
活跃
331
发表于 2017-2-6 21:55:48 |显示全部楼层
认真看完了,详实,赞一个。

现在100系以下都直接用技嘉的工具集成usb3和nvme驱动了事。
最新200系开始老实上win10了。

Rank: 2Rank: 2

UID
135227
帖子
219
PB币
2954
贡献
0
技术
0
活跃
228
发表于 2017-2-8 09:28:17 |显示全部楼层
谢谢分享,学习了,虽然不是太懂。

Rank: 1

UID
4270227
帖子
41
PB币
25
贡献
0
技术
0
活跃
183
发表于 2017-2-8 10:35:59 |显示全部楼层
斑竹你好,三星官网下下来的nvme驱动是一个exe啊,而且直接用rar解压出来的是一些没有后缀的文件。这个inf要怎么获取呢?不会是到有三星固态的系统上先安装好再提取出来吧……

点评

金鹿儿  你都知道了还问。  发表于 2017-4-2 21:13

Rank: 2Rank: 2

UID
4779205
帖子
112
PB币
1
贡献
0
技术
0
活跃
415
发表于 2017-2-8 16:45:10 |显示全部楼层
长知识了!!

Rank: 2Rank: 2

UID
1913706
帖子
206
PB币
178
贡献
0
技术
0
活跃
708
发表于 2017-2-10 22:53:27 |显示全部楼层
能否搞个内置NVMe和USB3.0的Windows7安装盘,集成补丁至2017年1月30日,集成IE11,64位版本最佳。如果弄出来了,第一时间告知,谢谢。辛苦了,加油。
关闭

站长推荐

回顶部
Copyright (C) 2005-2017 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件