NVMe是一种基于非易失性存储器的传输规范或者是协议,此协议目的在于充分利用PCI-E通道的低延时以及并行性,还有当代处理器、平台与应用的并行性,在可控制的存储成本下,极大的提升固态硬盘的读写性能,彻底解放SATA时代固态硬盘的极致性能 。
文章插图
SSD还是那个SSD,但协议总是在悄然更新,性能也一代代上涨 。主流支持的当然还是NVMe1.3,但其实已经有不少1.4的盘涌现了 。相较于前代有什么进步呢?我们今天就来聊一聊 。
传统机械硬盘则使用intel制定的AHCI标准(最高Q32T1),走SATA通道 。但时代变了,玩家觉得游戏读盘慢,服务器运营商觉得效率低,随着各行的需求提升,新的标准后来也就出现了 。
为了提高带宽、传输效率,选择走PCIe通道(因此固态盘都可以通过PCIe拓展卡,解决接口不够的问题),对应的协议就是NVMe(NVMExpress) 。
M.2盘默认都支持 。全称“非易失性内存主机控制器接口规范”(non-volatilememory express),是专门给为NAND SSD固态盘设计的 。
SSD跟CPU开了个直通车,还把指令数量精简为以前(SCSI、ATA)的一半,把I/O命令和响应映射到主机的共享内存,可以多核并行 。最多65535个IO队列、64000队列深度,车变多了、路变宽了、还多了数不清的车道,比AHCI不知道多到哪里去了 。
咱们都知道,哪怕顺序读写和HDD机械盘一样,但SSD就是快,因为4K随机读写速度快了不知道多少倍 。衡量随机读写性能的单位,一般不用速度(MB/s),而是IOPS,它表示每秒进行读写的次数(Input/OutputOperations Per Second) 。
这也有NVMe的功劳,通过Doorbell机制,它降低了I/O操作等待时间;提升同一时间内的操作数,也就是线程T,更大容量的操作队列,也就是队列深度Q,
这些单位我们用DiskMark之类的跑分软件时,从左侧项目栏也能看到,能反映在不同读写任务的组合下,硬盘的性能表现如何 。
HDD就像是单核的(磁头结构),而SSD如同多核 。结构不同,读写逻辑上和机械盘自然是不同的,算是先天优势 。
NVMe在2009年立项,牵头的都是美光、三星、Marvell、DELL、NetAPP、EMC、IDT等著名大公司了 。最早1.0版本于2011年登场,奠定一些基础规范,带宽到了11.6Gbps(约1200MB/s) 。
1.2到1.3的整体性能上限翻了倍,支持到了PCIe 3.0 x4通道 。主流的还是第四版修订的1.3C,最新的1.4版本在2019年6月面世,在支持PCIe 4.0 x4之后,顺序读写速度从3500MB/s左右,翻倍到约7000MB/s 。
NVMe 1.4更新的三大主要特性如下:
① IO Determinism翻译过来是“IO决定”,可以把整块SSD的物理空间划分成多个NVM Set,其中可以包含多个通道(Channel)和晶粒(Die) 。每个Set区互相独立,划分给不同App使用,
等于是“大硬盘分成多个小硬盘”,划清界限了,你用你的,我用我的,防止IO延迟产生性能波动 。分明白了就不会互相打架、效率自然就上去了 。
② Persistent Memory Region(PMR)即“持久性内存区域”,提供了内存级别的速度和低延迟,哪怕电源断电,存在它身上的数据也能保留 。但因此比较吃性能,可以通过弹性缓冲区解决 。
③ Multipathing指“多路径访问共享命名空间”功能,它可以用不同其他主机的NVMe控制器访问同一块NameSpace(命名空间-逻辑空间),
不过这么多功能,主要是为了优化latency(延迟)、提供更好的QoS(服务质量,SSD性能的一致性),针对商用、服务器、数据中心等专业需求,家用暂时可能用不上这么多特性,毕竟多出来的硬件要求,价格也抬会上去 。
【NVMe1.4和1.3有什么区别 nvme是什么意思】当然,规范只是规范,他提供了最大的水桶,但硬盘能装多少水,每家都不一样,我们在选择硬盘的时候,最终还是看哪家用料强、哪家售后强 。
- 天文望远镜中的APO和ED是什么意思?
- iPhone5s和魅族Pro5哪个好?
- 焖羊肉的做法和材料
- 问一下大家,你们开发过程中有用软件开发过程管理和质量管理类的系统吗?
- 双鱼座女生和金牛女都上榜了 巨蟹座男生配对星座女
- iPhone14 Pro换屏价格是多少 iPhone 14 Pro和iPhone 14 Promax选哪个?
- iPhone14处理器和iPhone14 Pro区别是什么Pro是lpddr几?
- 简化基因组测序和全基因组测序的区别
- 什么语言和环境可以达到发包速率最大?
- 宠溺是什么意思,你懂什么是宠溺和偏爱嘛?