作者tyfu (慎)
看板Storage_Zone
标题Re: [请益] NVme跟AHCI问题请教
时间Wed Aug 31 11:38:44 2016
现在NVMe的主流驱动有三种,
一、Windows原生驱动
二、Intel RST
三、厂商自行提供(三星、Toshiba都有)
其中1跟3都是需要透过Windows做PCI enumeration才能认到NVMe
Intel的作法是用系统韧体把NVMe挂到自己RAID控制器下、由RAID来控制
这三种驱动最大差别是在他们对NVMe的电源管理,
原厂驱动一直被认为效能最好其实根本是个误会,
不管三星还是Toshiba,他们的驱动都是从Open Fabrics Alliance去修改的,
用了效能会比较好是因为他没有电源管理,完全不需要花时间去唤醒NVMe,
但风险就是你的NVMe必须永远醒着、维持1W以上的耗电。
之所以会说微软的预设很蠢、是因为他会直接挑类似SATA Device Sleep(<5mW)的State,
现在NVMe从这种深层睡眠唤醒大概要花50~100ms、但又很频繁地进去这个State,
所以你去测一些Benchmark会看到NVMe花一堆时间在唤醒碟机,并不是效能真的差。
RST的驱动之所以比较好,是因为他挑的睡眠State是类似SATA slumber(<100mW),
这个State根据SPEC唤醒必须在10ms内、而多数厂商都可以做到1ms内(SSD DRAM不用断电)
因此去测Benchmark遇到Power Management,也不需要花太多时间唤醒。
SSD效能在於韧体怎麽对NAND Flash排程、下指令,
驱动程式只是决定多少效能能被表现出来,
原厂驱动(OFA基底的): 100%
RST: 90~95%
Windows: 50~60%
※ 引述《sonic30 (如果连谎言都不能相信)》之铭言:
: hi all:
: 大家好,关於NVme跟AHCI的问题有点搞不太懂,
: NVme跟AHCI我上网查的资料是指控制器(硬体层) <->作业系统(软体层)
: 间的介面标准
: 我的笔电是XPS 13 9350,目前装的SSD是NVme的SM951,
: 目前BIOS里面SATA Operation设定为AHCI(还有关闭跟RAID 0可选),
: 然後装上三星的NVme驱动,
: 有点困惑的是,这样我笔电SSD到底是跑AHCI还是NVme?
: 如果是NVme,那BIOS那个设定的AHCI是跑在哪?
: (如果不设定AHCI,三星NVme驱动会找不到SSD而无法安装)
: 问题有点蠢XD 谢谢大家~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.116.239.181
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Storage_Zone/M.1472614727.A.DC4.html
1F:推 filiaslayers: 所以意思是其实是可以考虑以用途来决定驱动这样? 08/31 11:47
2F:→ filiaslayers: 像系统碟用RST、资料碟用windows,虽然我觉得不会有 08/31 11:48
3F:→ filiaslayers: 人拿支援NVME的SSD当资料碟XD 08/31 11:48
4F:→ tyfu : 如果知道怎麽改微软的Policy、还是建议微软... 08/31 11:59
5F:→ tyfu : 跟作业系统相容性肯定是最高的,可惜怎麽改不能教.. 08/31 12:00
6F:推 sonic30 : 我觉得照你的说法,各家厂商自己推出的驱动,效能的确 08/31 13:48
7F:→ sonic30 : 是最高的没错啊XD.. 08/31 13:48
8F:→ tyfu : 桌机没电池、过热问题,爱用就用XD 08/31 13:55
9F:→ tyfu : 笔电的话、就自行斟酌QW 08/31 13:56
10F:→ sonic30 : 没错 所以我选择用rst驱动,实际测试跑分不多 08/31 14:13
11F:→ sonic30 : 而且还要关闭快取缓冲区排清XD... 08/31 14:14
12F:→ sonic30 : ^^^ 08/31 14:14
13F:→ sonic30 : 差 08/31 14:15
14F:推 goldie : 推 08/31 14:22
15F:推 goodga : 现在很多都拿来当资料碟了 08/31 15:59
16F:推 MarkWebber : 所以桌电用原厂驱动,笔电用RST较省电,是这样吗? 08/31 16:05
17F:推 MarkWebber : 以上是在你说不会改win10的前提下 08/31 16:09
18F:→ tyfu : Yes、但桌机请斟酌一下散热XDDD 08/31 16:19
19F:推 gbanyan : 推,长知识了 08/31 16:47
20F:推 MarkWebber : 那再请教一下,安装系统时要选ahci还是raid? 08/31 20:06
多介绍点intel remapping好了,
Intel的PCH上有一颗SATA控制器,这就是BIOS里看到可切换AHCI/RAID的控制器,
实际上NVMe跟这个控制器根本是毫无关联的,他们是各自独立的储存装置控制器,
但Intel RST名叫Rapid Storage,他肯定不愿意放过PCIe这麽快的储存装置,
於是他们搭配系统的Management Engine,在里面做了一个虚拟的韧体,
这韧体干啥用的?他就是把PCIe port藏起来不给Windows作业系统认到,
然後根据RAID的控制器收到的R/W指令再转NVMe指令给你的NVMe碟机,
这就是Remapping在干的事情,在NVMe的存取路径上硬去插上一脚XD
为什麽一定要RAID? 原因是RAID Mode才会跑RST EFI driver支援开机,
一般BIOS厂商都有自己的AHCI EFI,但这个没能力控制Remapping的碟机,
所以你切AHCI开机时,除了AHCI EFI要读之外,BIOS还要包NVMe EFI才能开机,
开完机後你在装置管理员会同时看到有AHCI控制器、也会有NVMe控制器,
只是你的AHCI控制器可能就是没有接任何碟机、摆着罢了。
我想这前面几篇似乎有BIOS高手解释过了就不献丑了XD
总之、Remapping会跳过Generic NVMe EFI改用 RST EFI去启动,
但说老实话,没有要用NVMe组RAID还是别用比较好..问题多到让人哭笑不得...
21F:推 delaluna : 推推 08/31 20:34
22F:推 sonyc503 : 推长知识~~ 08/31 20:37
23F:→ tyfu : 要用RST才需要切RAID 08/31 20:52
24F:推 xleacigma : 最近也是被挑残忍的下完NCQ就狂slumber..不懂host 08/31 23:30
25F:→ xleacigma : 到底是要省什麽 bug好麻烦 呜呜 08/31 23:30
26F:→ xleacigma : 不过也是有梦到(或是新闻报)intel想吃掉host整块 08/31 23:32
27F:→ xleacigma : 另外我们自己做的话 device没事做也会狂睡..所以要 08/31 23:33
28F:→ xleacigma : 大家睡在一起就常常会被订performance 08/31 23:33
29F:→ tyfu : driver idle timeout机制真的很重要啊 (菸 09/01 00:34
※ 编辑: tyfu (122.116.239.181), 09/01/2016 00:58:58
30F:推 birdy590 : NVME 还要做 RAID 本身就是一件有点科科的事情 09/01 11:57
31F:推 MarkWebber : 不过只有一颗SSD也没办法用raid装@@ 09/05 18:27