作者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/m.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