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的更多相关文章

  1. [知乎]老狼:深入PCI与PCIe之二:软件篇

    深入PCI与PCIe之二:软件篇 https://zhuanlan.zhihu.com/p/26244141 我们前一篇文章(深入PCI与PCIe之一:硬件篇 - 知乎专栏)介绍了PCI和PCIe的硬 ...

  2. [转帖] 知乎: 为什么品牌机器里面的VTX都是关闭的..

    为何品牌机BIOS中的硬件虚拟化都是默认关闭的?   知乎老狼原创: https://www.zhihu.com/question/40381254/answer/499617881 谢邀.先说结论, ...

  3. [转帖]老狼:你知道哪些关于 Windows 10 的骚操作?

    作者:老狼链接:https://www.zhihu.com/question/265781599/answer/579939418来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  4. 数据读取速度达1.5G/s,UFS 2.1存储技术曝光

    目前最快的是苹果NVME,当然UFS2.1也不差 iPhone6s与iPhone6s Plus在硬件的规格上有了很大的提升,但是它们身上的变化远没有苹果在发布会上所提到的A9处理器.1200万摄像头以 ...

  5. NVME SSD vs SATA SSD(转)

    NVMe是个啥?未来SSD主流标准早知 关注固态硬盘的朋友应该对于这个词汇并不陌生,特别是今年NVMe也频繁出现在各大媒体文章中,随着高端SSD市场逐渐从SATA专项PCI-E时,以前的AHCI标准已 ...

  6. [SPDK/NVMe存储技术分析]012 - 用户态ibv_post_send()源码分析

    OFA定义了一组标准的Verbs,并提供了一个标准库libibvers.在用户态实现NVMe over RDMA的Host(i.e. Initiator)和Target, 少不了要跟OFA定义的Ver ...

  7. 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  8. Python 爬虫模拟登陆知乎

    在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...

  9. 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

随机推荐

  1. 10.30 开课一个月零二十六天 (PHP数据库修改)

    1.先做一个修改页面 <body> <!--这个页面需要让用户看到一些数据,所以不是一个纯php页面,页面效果和增加页面的效果非常相似,直接把增加页面的代码复制过来--> &l ...

  2. 一维码Code 93简介及其解码实现(zxing-cpp)

    一维码Code 93: Code 93码与Code 39码的字符集相同,但93码的密度要比39码高,因而在面积不足的情况下,可以用93码代替39码.它没有自校验功能,为了确保数据安全性,采用了双校验字 ...

  3. 最具有性价比的语言javascript之二,学习篇

    先祝福各位,国庆假期愉快!前面写了一篇 最具有性价比的语言javascript之介绍篇,引起了不少的争议. 有些人javascript吐槽,埋怨.我目前做的都是后台系统.每个人的工作经历和兴趣爱好不一 ...

  4. SQL Server复制

    SQL Server复制的阶梯:级别1-SQL Server复制介绍 By Sebastian Meine, 2012/12/26 原文链接:http://www.sqlservercentral.c ...

  5. python实现atm机基本操作及购物车

    一.需求分析 ATM机要为用户提供转账,提现,还款,付款,消费流水,操作记录等操作接口 ATM机要为管理员提供创建用户,冻结解冻,修改额度的功能 ATM机管理员认证使用装饰器来实现 购物车要提供管理员 ...

  6. Gitlab CI-2.CI流程

    参考文档: GitLab Documentation:https://docs.gitlab.com/ce/ Installation and Configuration using omnibus ...

  7. 转载:GBDT算法梳理

    学习内容: 前向分布算法 负梯度拟合 损失函数 回归 二分类,多分类 正则化 优缺点 sklearn参数 应用场景 转自:https://zhuanlan.zhihu.com/p/58105824 G ...

  8. Cocos2dx源码赏析(3)之事件分发

    Cocos2dx源码赏析(3)之事件分发 这篇,继续从源码的角度赏析下Cocos2dx引擎的另一模块事件分发处理机制.引擎的版本是3.14.同时,也是学习总结的过程,希望通过这种方式来加深对Cocos ...

  9. 最小费用最大流模板(POJ 2135-Farm Tour)

    最近正好需要用到最小费用最大流,所以网上就找了这方面的代码,动手写了写,先在博客里存一下~ 代码的题目是POJ2135-Farm Tour 需要了解算法思想的,可以参考下面一篇文章,个人觉得有最大流基 ...

  10. Xcode中的Target

    Xcode中的Target,主要包含下面几点知识: Target依赖 Build Phase Build Rule Target依赖 Target的依赖关系表示一个Target要构建成功,必先依赖于其 ...