惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
Engineering at Meta
Engineering at Meta
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
I
InfoQ
S
SegmentFault 最新的问题
博客园 - 叶小钗
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
IT之家
IT之家
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
月光博客
月光博客
The Cloudflare Blog
U
Unit 42
GbyAI
GbyAI
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
UFS 3.1 是如何让 App 启动、加载速度更快的? - 少数派
2020-08-18 · via 少数派

你可能不知道的是,售价 3699 元起的小米 10 系列手机,顺序写入速度可能还比不上售价 2699 元的 Redmi K30 Pro。这是因为后者采用的是 UFS 3.1 闪存标准,其自带的 Write Turbo 技术可以把 K30 Pro 的顺序写入速率峰值提高到 750MB/s。

就像红米 Redmi 品牌总经理卢伟冰在这条 微博 中解释的那样,虽然早期的 UFS 3.0 速度确实不算快,但今年最新的 UFS 3.0 在引入下放后的 Write Turbo 技术后,速率比起早期的 UFS 3.0 其实已经有了较大幅度的提升,「达到了接近 UFS 3.1 的级别」。

从图中可以看到搭载 UFS 3.1 的 K30 Pro 在顺序写入这一项提升明显。来源

换句话说,即便对 UFS 3.0 而言,不同机型的实际读写速率可能也会有着较大的差距。要了解这种差距形成的原因,我们就得从 UFS 3.1 和从它下放而来的 Write Turbo 技术说起。

远不止更大的带宽

UFS 3.0 给我们用户带来了几乎是上一代(UFS 2.0)2.5 倍左右的传输带宽,再配合双通道的优势,使得最大总带宽达到了 2900 MB/s 这样恐怖的数字,完全可以满足各式各样的苛刻的使用需求。

UFS 速度对比(图片来自 Wikipedia)

而今天要介绍的 UFS 3.1 作为 UFS 3.0 的升级版,除了继承了 UFS 3.0 速度以外,还添加了下列额外功能,开头所提到的 Write Turbo 就是其一:

  • DeepSleep
  • Performance Throttling Notification
  • Write Turbo
  • HPB

DeepSleep

我们的手机也有低功耗状态,可以在待机时极大减少能源开销。而这次 UFS 3.1 中的 DeepSleep 就是一种 UFS 的低功耗状态。在设备进入低功耗状态时,UFS 也会跟着主动进入 DeepSleep,减少能源开销。这样手机这类设备在待机时候会消耗的电量会更少了。

Performance Throttling Notification

照字面意思来看,Performance Throttling Notification 就是「性能限制通知」。什么时候需要限制性能?也许我们立马会联想到手机在过热时为了保护内部元器件与电池所做的降频温控措施。

而对于 UFS 闪存来说,较高的温度对于闪存的影响很大,Facebook 实验室的研究表明:高温不仅让闪存的速度下降,也会提高写入数据时的出错率,导致需要反复写入数据,闪存磨损加剧。

通过「性能限制通知」这个功能,当温度升高到不能接受的地步时,UFS 设备可以告知系统该情况,让系统进行智能调配,通过降低速度或者其他手段,更安全可靠地读取和写入数据。

Write Turbo

对于一些硬件玩家来说,Write Turbo 写入加速功能的原理其实并不陌生,正是用到了一项已经在 SSD 固态硬盘用了很长一段时间的 SLC 缓存技术来加速写入速度。

SLC、MLC、TLC 和 QLC 对比(图片来自回形针 PaperClip)

SLC 是一种 NAND 闪存类型,它每个单元只能存储 0 或者 1,也就是 1bit 的数据;后来随着技术的发展,逐渐出现了 MLC(能存储 2bit)、TLC(能存储 3bit)、QLC(能存储 4bit)的闪存。每个单元能存储更多的数据,也能够大幅度降低闪存的价格,但是也会导致读取写入的速度变慢以及 更短的闪存寿命

可能有很多人还是不能理解为什么每个单元能存储更多的数据反而会导致写入性能会下降。

SLC 写入数据时的原理(图片来自回形针 PaperClip)

首先 SLC 闪存写入时,先需要将每个单元的做一次「擦除」,将电子吸出存储单元,让这个单元还原成 1。当我们想要写入 0 的时候,需要在顶层的控制极施加一个电压,让电子吸回存储单元。

而 TLC 闪存写入时,也先需要将每个单元的做一次「擦除」,将电子吸出存储单元,让这个单元还原成 111。当我们想要写入 010 的时候,顶层的控制极要做的操作远比 SLC 复杂很多,才能精准地将表示 010 需要的电子吸入存储单元,来写入 010 这个数据,加上这个过程还是有概率会出现错误的,这样就需要重新写入一次。打个不恰当的例子来说,就是 TLC 的密度高导致电子「路窄不好走」,这也是为什么 TLC 要比 SLC 写入速度慢很多的原因。

聪明的厂商想到一个办法:不如将 UFS 上部分 TLC 单元的 TLC 的电位进行屏蔽,让它模拟成 SLC 来使用,那这样写入速度不就会快很多了?

确实如此,这部分模拟成 SLC 以后能极大幅度地加速写入速度,而这部分模拟成 SLC 的单元就被叫做 SLC 缓存。在写入完成了以后,UFS 会在后台将 SLC 缓存里的数据慢慢挪到 TLC 单元里。

一块因为缓存用完的 SSD

但是缓存大小也是有限制的,当我们写入的数据将缓存全部用掉以后,UFS 只能直接把数据放到 TLC 单元里去,这时候我们看见的写入速度就是真实的写入速度了。不过好在用户在手机上很少需要写入大量数据的时候,所以 Write Turbo 这样的技术理论上既能提高用户体验,又能降低制造成本。

HPB

HPB 功能则旨在让系统读取数据时更快。但在 UFS 3.1 中这是个可选功能。

重定位磁区无时不刻保护着我们数据的安全

任何存储设备存储数据时都是有逻辑位置和物理位置的。在某一块损坏以后,硬盘会会通过备用的磁区进行替换,也就是将备用的磁区通过映射的方法与坏磁区联系起来,当硬盘要写入坏的磁区时会直接跳转到映射的备用磁区上,保证数据写入的安全。读取时也同样是如此。

逻辑位置和物理位置并不一一对应

在发生映射关系以后,数据的逻辑位置并没有发生改变,但是物理位置发生了改变。每次使用时,主控都要通过逻辑位置和物理位置映射表才能找到这样的映射关系,这会大幅拖慢读取时的延迟。

HPB 的主要功能就是让 UFS 的主控可以把数据的逻辑位置和物理位置映射表缓存在手机内存中,这样系统就可以用很短的时间告诉主控,系统分别要哪些物理位置上数据,相比过去系统通过逻辑位置访问数据,延迟会大大降低。 利用 HPB 可以大幅降低随机读取时所需要的延迟,提高性能。

利用 AndroBench 给自己的手机测个速,猜猜这是什么存储芯片?

UFS 3.1 给我们带来的最直观的好处就是,安装软件和启动软件的时候所用到的时间大大减少了。尤其是在大型软件和游戏中的时候感觉更加明显,启动和加载特别快。

通过 UFS 3.1 的 DeepSleep 功能还会让手机在待机的时候更加省电;而性能限制通知功能能让系统调度起来更加游刃有余,在高温环境下使用的时候也会变得更加顺畅。

最后就是 UFS 的成本会更低了。Write Turbo 让厂商大胆放心的使用 TLC 单元甚至 QLC 单元的 NAND 闪存作为存储器;而利用好 HPB 功能还可以减少了存储器闪存的 UFS 主控的成本。这两向加起来,用户就可以用更低的价格买到更大存储量的手机了。

以上就是 UFS 3.1 带来的新特性和能给我们带来的好处,希望它能帮助到你。