[知乎]老狼:UFS VS NVMe
https://zhuanlan.zhihu.com/p/26652622
最近某手机厂商的闪存门在知乎上被人踢爆,在所谓“爵士水军”和“友商水军”的口水大战中,至少eMMC, UFS等火星名词被广泛的科普了一把。苹果粉也不时掺和进来,NVMe在苹果手机上的应用让这个群体平添了一份“高冷”,安卓的小伙伴们被鄙视的都不敢回嘴了!
本着看热闹不怕事大的原则,我这个低端山寨手机拥趸决定以一个吸引眼球的故事开始本系列:到底UFS 2.1和NVMe谁性能好,谁能“代表社会先进生产力”呢?
UFS VS NVMe
UFS是为了替代eMMC而生,主要面向手机等嵌入式场景。NVMe是目标是取代SATA SSD硬盘接口,主要应用在计算机平台。两者似乎没有必要也没有机会正面PK,但是苹果就是这么任性,偏偏要在手机上使用NVMe。这就像一场荒(YOU)诞(QU)的穿越剧,关公(NVMe)和秦琼(UFS)被强行穿越到我们眼前PK,而且被要求fight to death!作为资深吃瓜群众,在他们开打之前,我先来介绍下两位选手的个人情况。
秦琼:UFS
UFS(Universal Flash Storage)目标是取代eMMC。在2008年,JEDEC就开始为并行的eMMC寻找串行方案。到了2012年,UFS 1.0诞生了,知道今天已经是2.1版了。UFS相较eMMC最大的不同是并行信号改为了更加先进的串行信号,从而可以迅速提高频率,同时半双工改为全双工。如图:
关公:NVMe
NVMe(NVM Express)目标是替换掉SATA接口。早在2009年Intel就开始着手寻找SATA的替代方案,在2011年有了1.0。最新的版本是1.2.1。NVMe实际上是一种通讯协议,在通讯协议里是应用层,它使用PCIe协议作为数据和链路层。如下:
NVMe是为SSD而生。在此之前SSD都用SATA接口。有人会好奇SATA也是串行接口,为啥还要创造个新的接口。SATA接口采用AHCI规范,其已经成为制约SSD速度的瓶颈。AHCI只有1个命令队列,队列深度32;而NVMe可以有65535个队列,每个队列都可以深达65536个命令。NVMe也充分使用了MSI的2048个中断向量优势,延迟大大减小。
战力分析
介绍完了两位猛将,我们来看看他们的装备。因为他们都基于NAND Flash技术,我们就从他们的区别最明显的部分比起。
1。坐骑
秦琼坐下黄骠马,入选唐朝七骏图。关公胯下赤兔马,人中龙凤,马中赤兔。都是大名顶顶。坐骑是速度的保证,要不关二爷也做不到温酒斩华雄。协议的带宽也是速度的象征,UFS采用两条lane,2.1的最大带宽为11.6Gbps,约为1200MB/s,如下图:
NVMe链路层采用PCIe,目前PCIe是3.0,一般采用4条lane,如果你看过前面我们PCIe的介绍(传送门:深入PCI与PCIe之一:硬件篇 - 知乎专栏),我们就知道带宽是4000MB/s,如下图:
就算2个lane,也是2000MB/s,>1200MB/s。看来黄骠马跑不过赤兔马啊。有人说不公平,UFS 3.0要来了,速度会加倍,如下图:
可是PCIe 4.0也会在今年面世,相信最需要带宽的NVMe会立刻采用,PCIe 4.0 * 4 lane的带宽将达到恐怖的8000MB/s,两个lane也有4000MB/s。完全是碾压式的。
2。武器
秦琼手拿两根四棱金装熟铜锏,关羽手持青龙偃月刀。兵器的好坏也决定PK的强弱。UFS采用UCS命令集,它是SCSI命令的一个子集。NVMe采用为NAND flash量身定制的精简ATA命令集,大大减少命令的复杂度,恐怖的命令队列数目和深度又保证了4K小文件的迅速读写。两者相比UFS命令集和理论处理能力上又大大落于下风。看来还是青龙偃月刀厉害啊。
实战
闲话休提,是骡子是马拉出来溜溜!PK是打出来的,不是说出来的。我们来看看实际的benchmark:
某厂UFS 2.1:
最高的我们算作800MB/s。
苹果iphone 6s plus 128GB版本:
benchmark网站测试结果。
顺序读:1840MB/s。顺序写:279MB/s
三星950 pro 512GB M.2 NVMe
最后,我们欣赏一下三星的性能王:
结语
看来关二爷勇冠三军啊,是不是关二爷一定会越来越好,步入人生巅峰呢?造化弄人,历史上秦琼秦叔宝辅佐李唐立国,配享凌烟阁,富贵而终,甚至变成门神。而我们公认勇武的关羽关二爷却败走麦城,掉了脑袋,只能在关帝庙里吸食些香火。市场欢迎的技术才是好技术,而谁又能真正准确预测市场呢?
滚滚长江东逝水,浪花淘尽英雄。
是非成败转头空。
青山依旧在,几度夕阳红。
白发渔樵江渚上,惯看秋月春风。
一壶浊酒喜相逢。
古今多少事,都付笑谈中。
[知乎]老狼:UFS VS NVMe的更多相关文章
- [知乎]老狼:深入PCI与PCIe之二:软件篇
深入PCI与PCIe之二:软件篇 https://zhuanlan.zhihu.com/p/26244141 我们前一篇文章(深入PCI与PCIe之一:硬件篇 - 知乎专栏)介绍了PCI和PCIe的硬 ...
- [转帖] 知乎: 为什么品牌机器里面的VTX都是关闭的..
为何品牌机BIOS中的硬件虚拟化都是默认关闭的? 知乎老狼原创: https://www.zhihu.com/question/40381254/answer/499617881 谢邀.先说结论, ...
- [转帖]老狼:你知道哪些关于 Windows 10 的骚操作?
作者:老狼链接:https://www.zhihu.com/question/265781599/answer/579939418来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- 数据读取速度达1.5G/s,UFS 2.1存储技术曝光
目前最快的是苹果NVME,当然UFS2.1也不差 iPhone6s与iPhone6s Plus在硬件的规格上有了很大的提升,但是它们身上的变化远没有苹果在发布会上所提到的A9处理器.1200万摄像头以 ...
- NVME SSD vs SATA SSD(转)
NVMe是个啥?未来SSD主流标准早知 关注固态硬盘的朋友应该对于这个词汇并不陌生,特别是今年NVMe也频繁出现在各大媒体文章中,随着高端SSD市场逐渐从SATA专项PCI-E时,以前的AHCI标准已 ...
- [SPDK/NVMe存储技术分析]012 - 用户态ibv_post_send()源码分析
OFA定义了一组标准的Verbs,并提供了一个标准库libibvers.在用户态实现NVMe over RDMA的Host(i.e. Initiator)和Target, 少不了要跟OFA定义的Ver ...
- 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
随机推荐
- Jquery 实现select 3级级联查询
实现级联效果的思路: 1. 页面加载时,先显示第一级select,第二.三级的select隐藏,根据第一级select值的改变,再显示第二级select,依次类推: 2.只从后台获取第一级select ...
- 【fake题解】[NOI2013]向量内积
[fake题解][NOI2013]向量内积 做法1 大暴力.哪里不会T哪里. 做法2 所有数都%=k不影响结果.(废话 k的取值只有2和3,所以肯定是要分类讨论的.k=2肯定简单些啦. k=2 出现的 ...
- 树莓派 Zero WH 初使用体验
12号买了一个树莓派 Zero WH,这个是什么型号呢?其实和树莓派Zero是同一系列的,加上W则表示多了无线Wifi和蓝牙模块,加上H则表示在板子上已经焊接好了2x20的排针. 这个Zero真的很迷 ...
- 在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)-翻译
在使用PDB调试XAF时,发现好多变量都看不到.都被优化掉了. 下面的方法可以解决. 当你在使用Reference Source functionality in VS 2008 调试.Net 的源代 ...
- 我们一起来聊聊并发吧,one。
引言 最近工作当中写了一个有关并发的程序,引起了LZ对并发的强烈兴趣.这一下一发不可收拾,LZ用了一个多星期,看完了这本共280+页的并发编程书.之所以能看这么快,其实这主要归功于,自己之前对并发就有 ...
- windows下安装Mongodb_4.0.6最新版及常用命令
今天下载了最新版Mongodb进行安装,发现相比较于以前,方便了很多,直接下载: 一.下载地址:https://www.mongodb.com/download-center/enterprise 二 ...
- Unity萌新日记—开发小技巧与冷知识(脚本篇)
在学习unity的过程中,总会遇到很多零碎的知识点和小技巧,在此把它们记录下来,方便日后查看. 第一篇是关于脚本的一些你可能不知道的小知识. 还是个正在学习的萌新,如果写的不好,请谅解. Unity版 ...
- LinuxMint 18.3禁用ipv6
编辑/etc/sysctl.conf文件,添加如下内容 net.ipv6.conf.all.disable_all = 1 保存后执行 sudo sysctl -p 即可生效
- 6.把建模工具导出的dea文件导入到three.js程序中
1.使用Three.js渲染导出的DAE 在Three.js中使用Collada(即.dae)文件的话,首先得要用到 ColladaLoader.js. 但是这个ColladaLoader.js并不包 ...
- IP地址相关知识
IP地址基本概念 ...