本文于 2017 年 5月 3 日 作为公选课作业用.
摘要: 本论文通过资料查阅、具体实验的研究方法对市面上火热的 NVMe 固态硬盘作了初步了解. 通过选购和使用学习该类型固态硬盘的使用方法和特性, 通过 AS SSD 等专业软件对该类型固态硬盘做了简单的性能测试, 性能已经足够高. 以及探究了在不同的条件和具体应用场景之下, 在 NVMe 固态硬盘上安装系统的注意点和方法.最后得出了结论 “未来 NVMe 固态硬盘一定会成为主流, NVMe 固态硬盘的性能已完全满足一半消费者, 但是目前在传统 SATA 和 新型 NVMe 交替的时期, 消费者在选购和使用上仍有一定门槛. 未来硬盘形态必然根据需求不同而呈现百花齐放的姿态.”
![[]](/2018/03/18/基于PCIe的NVMe-协议固态硬盘的选择和使用/D90D33BE-935C-478F-8CE2-07897EE14FB3-squashed.jpg)
关键词: 固态硬盘、 NVMe、硬盘性能、安装、 使用
目录
一、NVMe 简介
1. NVMe是什么?
2. NVMe的优势
二、硬盘产品种类
1. PCIe 接口
2. M.2 接口
三、配合主板和带宽
1. 主板支持
1. 台式机
2. 笔记本
2. BIOS
3. 带宽
四、性能
1. 速度
2. 寿命
3. 温度
五、系统安装
1. Windows10
2. Windows7
3. macOS
六、总结
一、NVMe 简介
(一)、NVMe是什么?
2011年时,NVMe规范正式出炉,NVMe全称Non-Volatile Memory Express,非易失性存储器标准,是使用PCI-E通道的SSD一种规范这是专门针对NVND闪存和下一代存储设备所提出的规范。
NVME是硬盘新的传输标准,是取代现在的AHCI的新型传输协议. [1]
(二)、NVMe的优势:
1、更低的延时:
NVMe精简了调用方式,执行命令时不需要读取寄存器;而AHCI每条命令则需要读取4次寄存器,一共会消耗8000次CPU循环,从而造成2.5μs的延迟。
2、更高的传输性能
NVMe的另一个重点则是提高SSD的IOPS(每秒读写次数)性能。而NVMe标准下,最大的队列深度可达64000。此外,NVMe的队列数量也从AHCI的1,提高了64000。
3、更低的功耗控制。
NVMe加入了自动功耗状态切换和动态能耗管理功能,设备从能耗状态0闲置50ms后可以迅速切换到能耗状态1,在500ms闲置后又会进入能耗更低的状态2。相比起主流的SATA接口SSD拥有较大优势,这一点对增加笔记本电脑等移动设备的续航尤其有帮助。 [1]
二、硬盘产品种类
(一)、PCIe 接口
![[Intel 750就是NVMe SSD的代表作, 图片来自超能网]](/2018/03/18/基于PCIe的NVMe-协议固态硬盘的选择和使用/8E393A5E-AAAA-462A-9CB4-1EC8455F12C0-squashed.jpg)
- 如 英特尔750 等
- 旗舰产品, 需要旗舰主板来搭配, 一整套配置价格很高
自带散热片, 温度控制较只有一块 PCB 的 M.2 固态硬盘而言, 会比较好.
(二)、M.2 接口
- 主流接口, 笔记本, 台式主板很常见
- 产品也很多, 包含 SATA, PCIe 两种情况, 用不同的键位来区别. M Key 和 B Key.
- 安装在不同主板上的带宽限制不同, 需要具体看主板的详情介绍或者官方文档. 确认是不是在 PCIe 3.0 x4 以上, 否则高速 NVMe 固态硬盘会限速, 低速的 NVMe 型号如 Intel600P 等产品则不会.
三、配合主板和带宽
(一)、主板支持
支持的具体意思是, 不仅仅是能正常在 “我的电脑” 中认出 NVMe 硬盘, 当作从盘读写数据, 并且能在 NVMe 硬盘上安装系统并且启动.
①台式机
- 仅支持,Ryzen\200系\100系\Z97\X99,带M.2接口的主板,在刷新 BIOS后. SSD 走 主板南桥提供的通道, 有延迟, 但速度由 SSD自身性能 和 主板带宽大小 共同决定.
- 如果要完美支持也就是 SSD 走 CPU 的原生通道, 达到低延迟, 高速率
a、PCI-E插槽的固态(原生或使用转接卡都可以),插上上直连的PCI-E(如第一槽 3.0x16 速率的插槽)
b、M.2插槽固态,插上直连CPU的PCI-E实现的M.2,这种接口一般在少数X99上有,比如华擎X99M极限玩家3 - 以 SM951-NVMe 256G 这块硬盘为例. 通过将 NVMe 固态硬盘插在直连 CPU 的 3.0x16 速率显卡插槽上, 对比安装在原生 M.2 插槽, 实际测试差距微乎其微, 此结果也和网上的测试相同.
②笔记本
- 需要查看主板对 PCIe 通道的分配, 和 CPU 的通道数量
- Haswell 及以上自带 M.2 插槽的模具, 如神舟Z7 等刷 BIOS 后可以支持 NVMe, 但由于主板带宽是 PCIe 2.0x4, 可能不能跑到全速.
- 一般低压CPU 的上网本反而会提供直连 CPU 的完美支持. 如 Retina MacBook Pro13.3 寸等.
- Skylake 六代CPU 及以上都能提供全速率支持.
(二)、BIOS
- 刷 BIOS, 来启动 NVMe 硬盘上的操作系统
- 老于 Z97 的 主板, 可以通过刷入厂商提供的带 NVMe 模块的 BIOS 来支持 NVMe. 或者自行下载 BIOS, 手动插入 NVMe 模块.
- 如没有 NVMe 模块的 BIOS 上安装了 NVMe 硬盘. 可能只能把该盘当作储存盘使用, 不能在该盘上安装系统并且启动.
(三)、带宽
- 凡是标明 “超级 M.2 接口” 或是 “ PCIe 3.0x4, 32GB/s” 的主板, 均是支持满速率
- 老主板通过刷 BIOS 开放的 PCIe 2.0x4 带宽也足够使用了.
- M.2 接口可以通过转接卡转为 PCIe 接口, 插到主板的显卡插槽使用
- X系列旗舰主板, 配合 X系列 旗舰 CPU, 可以完美支持
- 支持英伟达双显卡 SLI 的主板 (把CPU x16通道拆分为 双x8 ), 也是完美支持, 但是这种情况 显卡可能会和 SSD 抢通道.
四、性能
(一)、速度
固件驱动安装和开启高性能模式
- 三星通过 SLC cache 缓存跑分和内存跑分来提升跑分成绩
1.使用闪存盘中的不大于 1GB 的缓存跑分,在硬盘空间已满的情况下会掉速- Marvell最新主控88NV1140支持NVMe1.2 HBM技术,直接调用系统内存作为SSD缓存, 完全防止掉盘, SSD本身完全不需要自带缓存减少发热减少功耗降低成本缩小体积. [2]
- TLC 使用 SLC cache 来模拟 SLC 的方式, 是通过技术达到更好性能的优秀特性, 但是三星的 TLC 硬盘价格高至比肩其他品牌的 MLC 产品.
- 三星通过 SLC cache 缓存跑分和内存跑分来提升跑分成绩
SM951 - NVMe 跑分情况
在 技嘉GA-B150-D3H 主板的 超级M.2 PCIe 3.0x4 的接口上, 使用 AS SSD 的跑分情况如下.
- 相较 TLC 的型号 PM951 而言, 右边的所有写入速度都有 3-4 倍的提升
- 相较于 SATA 的 SSD, 4k 和 IOPS 都有了明显的提升
(二)、寿命
- 固态硬盘:本质上就是利用电压的击”穿绝”缘体的效应,其后电压降低,绝缘体恢复,电荷被存储。
- 正是由于要击穿的缘故,绝缘体材料的绝缘性会不断的降低,当降低到无法长时间的保留电荷时,寿命也就到了。该模块报废。这便是擦写次数的由来。 [2]
- 尽量选择 256G 以上的硬盘, 能极大提升 P/E 寿命.
- 因此消费级 SSD , 在保证品牌售后和主控的情况下, 选择 MLC 颗粒的产品, 相较于 TLC ,在写入速度和寿命上仍然有绝对优势.
- 实际上, 最影响寿命的是 主控和固件算法, 很少会出现 固态硬盘 擦写次数到达极限而报废, 即便有区域达到极限, 大厂商的固件 (如 Intel) 早已将此情况计算在内, 自行屏蔽损坏区域.
- 综上, 对于寿命而言, 应该优先关注品牌的保修策略, 选择可靠的主控, 最后才是关注颗粒.
(三)、温度
- NVMe 硬盘由于散热情况不好, 以及数据的快速读写, 温度普遍很高
- 早期固件对温度和性能的平衡不好, SM961 这款优秀的 SSD 竟然爆出了高温烧毁的新闻.
- 我的 SM951 - NVMe 空载 50 摄氏度, 渲染或编译时能达到 70摄氏度
- 因此, 散热片就成了商家和用户首选的散热方式
- 有些产品自带了散热马甲, 如 建兴T10
- 也可以自行购买散热片, 个人经验温度降幅在 10摄氏度左右
五、系统安装
(一)、Windows10
自带了 NVMe 驱动,
- 推荐使用 UEFI 引导 GPT 格式硬盘.
- 只需将 msdn 的 iso 镜像解压到 FAT32 格式的空 U盘
- 修改启动项安装即可, 选择硬盘界面能直接认出盘
- 如果安装报错, 根据我自己的安装经验, 需要删除所有分区, 直接选择硬盘而不是分区, 确认安装即可
(二)、Windows7
默认既没有 NVMe 驱动, 也不会自建立引导, 在新主板, 例如100系及以上主板还会缺失 USB3.0 驱动. 因此必须自己加入各种驱动, 或者下载别人预先封装好的系统. 较不推荐
(三)、macOS
![[]](/2018/03/18/基于PCIe的NVMe-协议固态硬盘的选择和使用/D90D33BE-935C-478F-8CE2-07897EE14FB3-squashed.jpg)
![[]](/2018/03/18/基于PCIe的NVMe-协议固态硬盘的选择和使用/FBB4FEDA-126D-4670-817E-BE07BE550356-squashed.jpg)
NVMe 驱动补丁的迭代情况如下.
- 10.11, 加入kext 作为外挂盘启动
- 10.12 Sierra DP4 自带了 NVMe 驱动, 只需使用 config补丁
正式版 Sierra config补丁 v2.0
Retina MacBook Pro 2015 上, 苹果使用了 SM951-AHCI. 然而早在 iPhone6, 就使用 NVMe 协议了.
对 SSD 性能要求十分高的苹果竟然对 NVMe 驱动更新如此慢, 令人十分惊讶.
在 Retina MacBook Pro2016 上, 苹果首次使用了自家研发的SSD主控, 因此在默认情况下, 第三方的 SSD, 苹果的 NVMe 驱动都是不认的.
因此, 我们的驱动方法其实就是使用 Clover 的 config.plist 来解除驱动对型号的屏蔽.
![[]](/2018/03/18/基于PCIe的NVMe-协议固态硬盘的选择和使用/0D3E6363-30A3-4429-B683-4D00E503F1CF-squashed.jpg)
六、总结
- M.2 接口已成为笔记本新模具的标配, 未来 NVMe 固态硬盘一定会成为主流.
- 一般的 NVMe 固态硬盘 性能已完全满足一般用户. 日常使用其实和 SATA 差异不大.
- 截至 2017 上半年, 相较 较可靠的 SATA 硬盘而言, 差价并不大. 但对于商家而言, 受限于成本, 自带的固态硬盘可能仍会采用 SATA 通道 的 M.2.
- 选购和使用上有一定门槛, 贴吧或论坛充斥着大量问题. 但旧产品会不断退出市场, 此问题过一段时间就会解决.
- 英特尔傲腾系列的推出, 以及 英特尔750 旗舰产品引领市场, 再是 PCIe 3.0x8 带宽的企业 SSD 的试水. 可见大企业对于硬盘的前景非常看好. 未来的硬盘在种类和形态上会更加细分需求, 面向主流的产品趋于统一, 面向专业用户的产品则根据需求不同而呈现百花齐放的状态.