[知乎]老狼: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 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
随机推荐
- springmvc 解决@ResponseBody注解返回中文乱码
使用messageConverters <bean class="org.springframework.web.servlet.mvc.method.annotation.Reque ...
- SpringBoot日记——实战篇——Url定向
搞定了SpringBoot的一些基础核心的东西,我们需要实践一个项目来确认自己学习的东西能被应用,最初,我们会选择自己写一个登陆页面,这也是每个网站几乎都有的门面. 在写之前,还有一些知识点需要记录— ...
- Kubernetes服务发现之Service详解
一.引子 Kubernetes Pod 是有生命周期的,它们可以被创建,也可以被销毁,然后一旦被销毁生命就永远结束.通过ReplicationController 能够动态地创建和销毁Pod(列如,需 ...
- Linux命令的那些事(一)
回顾一下前文,三大主流操作系统 windows做的最好(更准确最早做图形化界面是windows)其实是图形化界面占有90%的市场份额(PC(个人电脑)机的市场)但是现在发展图形界面做的较好其实Unix ...
- 在vsphere6.5启用Tesla K80
基础环境: vsphere6.5 VMware vCenter6.5 宝德服务器2750S Tesla K80 0x01 选择主机,配置→硬件→PCI设备→添加K80显卡 注意:1.添加完显卡后,主机 ...
- Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 78,050,512 milliseconds ago.
今天访问已经架上服务器的网站,报错: Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet s ...
- 软件RAID
软件RAID也必须在多磁盘系统中才能实现.实现RAID1最少要拥有两块硬盘,而实现RAID5则最少要拥有三块硬盘.通常情况下,操作系统所在磁盘采用RAID1,而数据所在磁盘采用RAID5. 卷的类 ...
- react-native ListView 性能问题
常见性能问题已经有很多答案,这里要说的是使用ListView时注意的地方, ListView的容器需要设定一个固定高度, 不然ListView中的item过多,会把整体页面撑开,设置的 remo ...
- Java中&、|、&&、||详解
1.Java中&叫做按位与,&&叫做短路与,它们的区别是: & 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式,当&两侧 ...
- Beta周王者荣耀交流协会第一次Scrum会议
1.立会照片 成员王超,高远博,冉华,王磊,王玉玲,任思佳,袁玥全部到齐. master:王超 2.时间跨度: 2017年11月10日 15:10 — 15:50 ,总计40分钟. 3.地 点: 一食 ...