NVMe SSD是什么?
https://blog.51cto.com/alanwu/1766945
一直对闪存存储关注的朋友对NVMe SSD一定非常熟悉,NVMe SSD是现如今性能最好的存储盘。这种高性能盘在互联网领域已经得到了大规模应用,但是在行业用户还没有得以大范围普及。很多人对NVMe SSD也许还比较陌生,不知道如何应用该类型盘,并且给自己的业务带来价值。和SATA/SAS SSD以及HDD相比,她到底又有何神秘之处呢?在此我想对NVMe SSD做一些介绍。
提到NVMe SSD,不得不提Fusion IO率先研制的PCIe SSD,10年前Fusion IO率先采用PCIe接口的方式研制了全球首款高性能SSD。该SSD采用服务器内置插卡的形式,和SATA/SAS等接口相比,PCIe具有极高的数据传输性能,解决了基于NAND Flash数据存储的接口瓶颈问题。在采用PCIe做SSD接口的过程中,数据传输采用了多队列的方式,从而可以实现单盘并发数据传输的目的,提高了数据接口效率。在操作系统内部,原生支持SAS/SATA接口,原生带有SATA/SAS盘的驱动程序。但是,对于这种PCIe SSD,操作系统是没有原生驱动的,并且在软件栈上面也不采用传统的SCSI软件层,因此,这类PCIe SSD需要厂商自己提供特殊的驱动程序。PCIe SSD在历史上有两种产品类型,一种是Host Based SSD;另一种是Device Based SSD。这两种盘从用户角度来看,差别是Host Based SSD会占用主机端资源,SSD内部的数据管理软件都是运行在主机端。这种盘的优点在于盘本身的功耗比较低,盘上的硬件资源也比较少;缺点是占用系统资源,尤其是内存资源。另一种产品类型是Device Based PCIe SSD。这类产品的思路很简单,就是要将运行在主机端的NAND Flash存储管理软件卸载到SSD中去,这样可以减少主机端的资源占用率。这种盘的优点很明显,缺点是对SSD内部的控制器有更高要求,通常功耗比较大,并且SSD上需要更多的硬件资源,例如内存。在PCIe SSD的市场上,FusionIO、国内的宝存以及Memblaze都提供了这样的产品。不管是Device Based还是Host Based PCIe SSD,都需要在主机端安装厂商自己提供的驱动程序,才可以使用该类型盘。这就带来了一个很大的问题,不同厂商提供的盘相互不兼容,需要不同的驱动软件,因此,一个伟大的NVMe标准产生了。
NVMe标准可以简单理解用来标准化PCIe SSD,使得不同厂商符合标准的盘都可以采用相同的驱动程序。需要注意的一点是,NVMe SSD是原来Device Based PCIe SSD的延伸。NVMe标准定义了SSD的访问命令及操作方式,并且定义了逻辑设备接口标准;和SATA体系类比,NVMe标准替代了SATA体系中的AHCI逻辑接口以及ATA/SCSI命令规范。在一开始的时候,NVMe标准只是针对PCIe这种物理传输接口定义标准,随着该标准的进一步演进,物理接口不再局限于PCIe,将更多的Fabric引入到了NVMe体系架构中来,例如RDMA以太网。该类标准为NVMe家族中的NVMe over Fabric。从这一点可以看出NVMe SSD是PCIe SSD的演进,PCIe SSD采用私有协议;NVMe SSD采用标准协议。如今,市场上主流采用PCIe接口的SSD基本都符合NVMe标准,例如Intel、Samsung以及Memblaze的产品都可以直接采用操作系统中原生的驱动程序。
NVMe标准是SSD固件研发工程师、驱动研发工程以及SSD控制器芯片设计者需要关心的协议标准。这里还有一个问题需要解决,硬件工程师在设计SSD的时候,需要采用什么样的物理接口标准呢?如果直接采用传统插入服务器内部的PCIe接口,可以直接参考PCIe接口规范,除此之外是否有更好的选择呢?在物理接口这块目前有M.2和U.2两种接口标准。M.2主要面向消费级应用;U.2主要面向企业级应用。M.2接口是一种比较小的PCIe接口,在物理上兼容SATA;U.2是一种和传统SATA/SAS外观上保持一致的接口,兼容SATA/SAS和PCIe。有了这种物理接口标准之后,硬件工程师也有章可循了。从整个数据链路来看,从驱动程序、硬件接口、控制器逻辑接口到固件程序的命令处理方式都可以采用标准化的处理方式了。至此,我们理解了NVMe可以看成是SCSI命令和AHCI一样的东西;U.2/M.2是一种硬件接口的标准,将SATA/SAS/PCIe进行了统一;简单来讲,NVMe SSD就是一种标准化的PCIe接口SSD。
NVMe SSD到底有什么优势呢?其最大的优势就在于性能。NVMe SSD的读性能基本在3GB/s、写性能可以达到2GB/s。当然不同容量的SSD会存在性能上的差异。和普通磁盘相比,NVMe SSD有很高性能方面的提升。我们知道一块15000转的SAS HDD,其读写性能基本在150MB/s~200MB/s之间,NVMe SSD性能提升了几十倍。除了带宽方面性能有所提升之外,NVMe SSD最大的好处是IOPS的提升。一个硬盘的IOPS基本在200左右,而对于一个普通的NVMe SSD,其IOPS可以达到700,000以上,也就是提升了3500倍。这是磁盘和半导体介质之间的本质差别。也正因为这种性能上的巨大飞跃,很多互联网应用才会对NVMe SSD有如此巨大的需求。NVMe SSD可以解决互联网事务型应用方面的IO吞吐痛点问题。
除了在性能上NVMe SSD有如此巨大的优势,另外一个值得一提的是存储容量。目前HDD普遍使用的单盘容量是4TB,最大可以做到10TB。2.5寸NVMe SSD目前的单盘容量可以普遍做到3.2TB,单卡可以做到6.4TB。今年NVMe SSD可以做到10TB以上,并且每年的容量都会爆发式增长,这主要得益于3D NAND Flash的广泛应用。可以预计,若干年之后,NVMe SSD的单盘容量可以达到几十TB以上,甚至短短几年内可以超过100TB。这种容量上的增速是HDD所无法超越的,因此,NVMe SSD的容量密度将会远远高于HDD。
NVMe SSD已经在服务器端得到了广泛支持,很多服务器厂商已经开始标配NVMe SSD的槽位。一个1U的服务器可以支持10块NVMe SSD;一个2U的服务器目前可以最多支持48盘位的SSD;通过PCIe扩展的方式,一台服务器还可以扩展连接NVMe 的JBOF。所以,NVMe的硬件生态也在慢慢成熟。NVMe从标准的发展,SSD盘的发展,服务器的支持,操作系统的支持,慢慢的存储软件也开始对NVMe进行全方位支持。一个和SATA/SAS相互并存的NVMe高性能存储展现在了大家面前,未来一定会成为存储技术的主流。
NVMe SSD是什么?的更多相关文章
- USB3.0及NVME SSD安装WIN7X64
USB3.0及NVME SSD安装WIN7X64https://tieba.baidu.com/p/4822034273?pn=1所有的人都是菜鸟过来的,不过有些人懂得自己动手找到答案:有些人则是懒得 ...
- WinPE无法识别NVMe SSD硬盘,如何重装系统
(源自网络出处不详) 抽风,diy一台新机器,下载的win10系统安装时出现如题所示的问题,开始以为是主板的问题设置u盘启动也不行,后来在某个群里有人说是系统版本问题,无奈重新做了启动优盘(用的17年 ...
- NVME SSD vs SATA SSD(转)
NVMe是个啥?未来SSD主流标准早知 关注固态硬盘的朋友应该对于这个词汇并不陌生,特别是今年NVMe也频繁出现在各大媒体文章中,随着高端SSD市场逐渐从SATA专项PCI-E时,以前的AHCI标准已 ...
- vSphere 6.5支持512e,NVMe SSD呢?
原创 2017-01-12 朱朋博 金笑雨 企事录 2016年底,VMware终于宣布,从vSphere 6.5开始支持512e扇区格式了. 这当然是好事.不过,不黑不舒服斯基说:原来以前的版本连51 ...
- FMS2015:NVMe SSD的高可靠性及数据保护
FMS2015是一个充满技术干货的平台,各领域技术大拿在峰会上分享的技术和产品都影响甚至主导着闪存下一阶段的发展. 此次Memblaze的project师团队也是从存储系统.PCIe SSD以及闪存控 ...
- H310C,B365,M.2 NVME SSD,USB3.0,安装 WIN7 64 位
华擎H310CM ITX NVME SSD 上安装WIN7 64位 核心关键点:xHCI USB3.0驱动,nvme驱动,nvme win7补丁. 硬件配置:I5 9400F, 华擎H310CM IT ...
- [转帖]深度: NVMe SSD存储性能有哪些影响因素?
深度: NVMe SSD存储性能有哪些影响因素? http://www.itpub.net/2019/07/17/2434/ 之前有一个误解 不明白NVME 到底如何在队列深度大的情况下来提高性能, ...
- 存储系统设计——NVMe SSD性能影响因素一探究竟
目录1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD——多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3. ...
- Ceph BlueStore与FileStore:利用Micron NVMe SSD进行性能比较
https://www.micron.com/about/blog/2018/may/ceph-bluestore-vs-filestoreblock-performance-comparison-w ...
随机推荐
- fileupload组件之上传与下载的页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- SQL SERVER视图对查询效率的提高
SQL SERVER视图不仅可以实现许多我们需要的功能,而且对于SQL SERVER查询效率的提高也有帮助,下面一起来了解一下. 有两张数据表:A和B,其中A的记录为2万条左右,而B中的数据为200万 ...
- 【LeetCode 90】子集 II
题目链接 [题解] 我们在枚举下一个要取哪个数字的时候. 如 1112233 for (int i = start;i<=n;i++) //其中start-1是上一次取的位置. 如果i>s ...
- mybatis批量生成
使用了mybatis-generator后,寻找只写一个table标签就可以全部生成的方法 下载mybatis-generator-core-1.3.2-bundle.zip 解压后打开docs 发现 ...
- codeforces gym 100345I Segment Transformations [想法题]
题意简述 给定一个由A C G T四个字母组成的密码锁(每拨动一次 A变C C变G G变T T变A) 密码锁有n位 规定每次操作可以选取连续的一段拨动1~3次 问最少几次操作可以将初始状态变到末状态 ...
- CSS-多行超出隐藏
```css height: 48px; line-height:16px; overflow: hidden; ```
- 使用SSH方式实现Git远程连接GitHub/gitlab
参照: https://blog.csdn.net/wuli_smbug/article/details/81480162
- 斯坦福【概率与统计】课程笔记(四):EDA | 茎叶图
茎叶图的只做方法如下: 将每个数字分成茎和叶 对所有茎排序,并纵向从小到大放置好 对相同茎下的叶归到一起并排序,垂直于茎的排列方向放置好 举个例子:我们有一份奥斯卡影后的年龄集合: 34 34 27 ...
- 【读书笔记】:MIT线性代数(4):Independence, Basis and Dimension
Independence: The columns of A are independent when the nullspace N (A) contains only the zero vecto ...
- RSTP生成树
一.实验目的 二.实验拓扑图 三.实验编址 四.实验步骤 1.基本步骤 配置PC机IP 配置完成,开启所有设备,测试主机之间连通性 2.配置RSTP基本功能 在四台交换机上修改生成树模式:配置完成后, ...