作者tyfu (慎)
看板Storage_Zone
标题Re: [请益] Intel NVMe Driver 观念厘清
时间Thu Apr 19 08:00:28 2018
小弟用自己的见解来回答这些问题,有错请鞭小力点XD
※ 引述《delaluna ( ̄︶ ̄y)》之铭言:
: 大家好
: 最近在爬梳 intel NVMe 一些搞肛的问题
: 主要是基於本版三篇系列文: [请益] NVme跟AHCI问题请教
: #1NnGEYg5 (Storage_Zone)
: #1NnLq4T2 (Storage_Zone)
: #1Nnb57t4 (Storage_Zone)
: 以下从两个层面请教:
: 1. Intel NVMe under AHCI or RAID
: (a) RAID Mode:
: Intel NVMe SSD 要能在 RST 介面管理,要将SATA控制器改为RAID模式
: ref: http://www.xfastest.com/thread-158897-1-1.html
: 此时 NVMe remapping 是OS下指令给RAID控制器再转给 NVMe SSD
: 这个动作是在硬体层还是驱动层呢?
: (硬体层: OS -> PCH RAID Controller -> CPU -> PCIe SSD 感觉有点搞肛?)
严格来说这里的RAID不是硬体、而是韧体,
这个RAID韧体同时管理SATA实体控制器以及RST Remapped的PCIe Port,
软体层上来看OS -> RST Driver -> PCH RAID FW
NVMe碟机的指令就由FW自己来做,CPU在这有没有插一脚我就不能确定了XD
: (b) AHCI Mode:
: NVMe SSD 在非RAID模式下运行的话就不能在RST介面管理,
: 但 remapping 是经由OS的PCIe enumeration
: 是直接由CPU的PCIe通道控制SSD?
: 这种方法是否路径及延迟较短?
原设计概念是这样没错,让CPU直接存取NVMe,
但现在更大的瓶颈其实是软体的系统架构,
因为对绝大多数OS而言NVMe还是储存装置、须挂载在DRAM的File System之下。
什麽意思?意思就是你所有Disk I/O资料还是得透过DMA回到DRAM,
NVMe资料到DRAM後才去跟CPU做Transaction,
完全没有实现CPU直接存取NVMe,所以..这东西算是废了= =
这也是为什麽绝大多数使用者从SATA SSD升级到NVMe SSD完全无感..
P.S. 我说的不是跑分、跑分没有意义XD
: 2. Driver 与电源管理: OFA, RST, ... ?
: (a) Windows 内建:
: Windows NVMe driver 会让SSD进入深层睡眠,
: 在断断续续的附载中容易影响效能。
: (b) SSD原厂提供的 OFA改:
: Samsung与Toshiba提供的驱动是基於OFA范本修改,
: 不让SSD睡眠所以SSD一直维持高效能状态。
: (c) Intel (RST?)
: RST则是在闲置时挑比较不那麽深层的睡眠,所以效能也比Windows内建好。
: 这里所谓 RST 是指SATA控制器运作在RAID下,且装了RST的意思吗?
: 我看到 Intel 有出一个Windows的 NVMe driver:
: https://tinyurl.com/ybzobjks
: 这个driver是要在RAID模式才能装还是可以在AHCI下就可以呢?
: 如果在非RAID模式(RST看不到)的状况下装这个驱动,
: 是否跟其他OFA驱动一样,不用走RAID remapping,
: 且有较高效能的电源管理呢?
: 这个驱动的效果跟透过RST管理NVMe有何差异呢?
: 谢谢。
这只驱动小弟还没玩过、手边没有Intel的SSD可以灌,
但稍微看一下这支Driver的INF应该是扫PCI enumeration的Device,
意思就是RAID mode没办法灌,因为PCIe Port会被藏起来看不到,
理论上RAID mode底下应该只有RST这个选择、因为你只能透过韧体控制NVMe。
至於是不是OFA基底、有没有Power Management,
装上去、下下看OFA的Pass through IOCTL应该就会有答案了XD
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.1.252
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Storage_Zone/M.1524096031.A.819.html
※ 编辑: tyfu (118.163.1.252), 04/19/2018 08:03:14
1F:→ tyfu : NVMe要突破还是得看OS脸色,但OS似乎已经把他定型了 04/19 08:14
2F:→ tyfu : 不如期待两年後作业系统的新架构、Persistent Memor 04/19 08:15
3F:→ tyfu : 真正当OS Memory使用、又是非挥发性储存的架构 04/19 08:16
4F:推 delaluna : 感谢大大的回覆 04/19 11:33
5F:→ delaluna : 所以目前其实没有真正的CPU直连NVMe 是卡在OS 04/19 11:34
6F:推 Cubelia : 专业 04/19 11:56
7F:推 yak2573 : 学习了 04/19 12:43
8F:推 goldie : 推专业 04/19 12:43
更新一下网址上那只Intel驱动,借了一只760P来玩XD
那只的确是OFA基底的,之前做的IOCTL可以直接使用,
不太一样的是他有把RST做NVMe电源管理的方法移植到这上面,
APST: NVMe自发性电源状态切换 (Device自己切的意思)
里面的时间参数也全都遵循RST的设计,
这样的设计不会过热也能保有效能,不愧是Intel XD
但有抓到一个小Bug,IOCTL没把Format NVM这道指令挡起来,
使用者可以在系统执行下进行全碟抹除的自杀动作= =
※ 编辑: tyfu (118.163.1.252), 04/19/2018 15:22:14
9F:推 delaluna : 所以是走Windows PCI enumeration (非intel RAID) 04/19 15:45
10F:→ delaluna : 且有一部份的省电 感觉还不错 04/19 15:45
11F:推 yymeow : 专业推推 04/19 18:41
12F:推 goldie : 感谢更新测试结果,专业又实用 04/19 23:21
13F:推 sdbb : 推,ramdisk也是卡在file system 04/20 00:25
14F:推 jacksonx2000: 之前把intel 750卖了换回三爽850pro果然是正确的 04/20 18:03