iOS升级原来是为了它!

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

 

这次iOS升级主要是把文件系统升级成了苹果文件系统(APFS,Apple File System)。什么?你不知道文件系统是个什么东东?打个形象的比喻,如果每个人拥有的财富是文件的话,那么文件系统就是银行,银行记录了每个人的账户创建时间、账户类型、存款数额等,还负责财富在不同人之间的转移。

 

这个APFS用到苹果的各类操作系统中,包括watchOS,iOS,tvOS,macOS。它主要有三大特点:

  • 通过统一的文件系统,实现不同苹果设备之间的数据平滑迁移;
  • 为固态硬盘做了优化;
  • 数据加密技术。

 

以前的HFS+文件系统用的也挺好的,为什么要改成APFS呢?因为你知道吗,HFS+已经是30岁高龄了,在技术领域,能服役30年的技术确实算是老寿星级别。HFS+诞生的时候,存储世界的王者是软盘和机械硬盘,CPU只有一个核心,用户数据都非常简单,既没有高清小电影,也没有各种App的海量文件,硬盘也没有如今这么大,摄影家冠希哥也没想着要给电脑里珍藏的照片加个密。

 

HFS+最终被抛弃还有一个原因是在那个没有计划生育的年代,它的兄弟姐妹太多了,针对不同的场合,娘亲苹果生出了不同的孩子,比如HFS+J,HFS标准版,HFSX等。大家各自成家,关起门来过日子,阻碍了财富的流通,最终阻碍生产力的发展。

 

新文件系统的技术特点有:

  • 为固态硬盘做优化;
  • 断电数据保护;
  • 内部采用64位变量;
  • 扩展性更好;
  • 为苹果生态系统软件做优化;
  • 低延迟;
  • 兼容HFS;
  • 原生加密支持。

 

下面阿呆来带你到APFS一游。

 

固态硬盘优化

 

苹果家大业大,什么都想自己做,比如iPhone里面的文件系统、FTL都是自己做。这样它就能让二者深度整合。苹果声明了以下支持:

  • Trim:删除文件的同时,删除SSD上的数据,节约空间;
  • 不会出现系统卡死:玩手机最怕的是系统卡死了,往往是由于后台应用占据了SSD或者内存、CPU资源。APFS解决了存储方面的稳定性,优先照顾用户能看到的应用,后台的只能等等。

 

加密

 

手机丢了,里面的大尺度私房照被人拿到怎么办?

 

 

APFS的加密功能异常强大,首先是秘钥的选择有很多种:

  • 不加密;
  • 所有数据一个秘钥;
  • 不同的元数据、文件用不同秘钥,甚至同一个文件的不同部分也可以使用不同秘钥。

 

这种多秘钥有很多用途,比如电脑上不同用户使用不同秘钥。而手机上也是,尽管所有数据都是加密的,但是手机没解锁时,还是能做不少操作的,比如拍照、紧急电话等,这些应用相关的数据用其他方法加密。

 

加密还有一个作用是擦除数据相当快。本来需要物理擦除SSD上的数据,至少几分钟,但是加密后的数据,只需要修改秘钥,导致原来的秘钥作废,就能轻松搞定数据删除。阿呆相信苹果的这个功能肯定会给中情局留个后门。。。。。。比如把原来的秘钥藏在某个小角落里。

 

备份和镜像

 

手贱把珍藏多年的苍老师种子合集删了怎么办?

 

别怕,APFS有一种先进的镜像系统,就是用户对当前的数据做一个镜像,以后新的改动会写到新的地方,这样,你可以随时回到以前的某一个镜像找回曾经的记忆。同时,还可以把数据远程备份到云服务器上,比如iCloud。

 

APFS有个新功能是空间共享,就是同一个设备有很多个卷,不过这个看起来在电脑上的用处更大。一般我们电脑上都是分区,分区有不少缺点,比如分好之后空间就固定了,满了不能继续扩大,或者太大了不能收缩。卷就可以动态调整,不同的卷可以采用不同的管理策略。

 

Copy-on-Write

 

一般我们在电脑里复制一个文件,就会占用磁盘的空间。APFS采用了一种新技术,复制文件并不复制数据,只是记录一下地址而已。只有在有改动时,才会写新数据。

 

数据安全性

 

之前说,APFS复制文件并不复制数据,而是搞个链接。这样的结局是,万一数据丢了,两个文件都没了。不过别怕,因为APFS用了Copy-on-Write,数据修改的时候并不直接覆盖以前的版本,而是写到新的地方,这样降低了数据丢失的风险:刚改完文件,电池没电了,新数据丢了,至少可以回到旧的版本,而不是新旧混搭,四不像。

 

万一SSD返回错误的数据给你怎么办?即使数据拿不回来,至少用户要知道这个数据不对。比如写了个欠条10000,结果保存之后,读出来是20000,那不坑死爹了。。。。APFS的元数据使用了校验数据,就是把原始数据用公式算出一个值,下次读出来就把公式重新算一下,看看新算的结果和保存的旧结果是否一致。不一致那就意味着数据出错了,SSD还没发现。不过,苹果对他们的SSD还是很信任的,所以用户数据没有搞校验,毕竟SSD内部的纠错算法已经很强大了(攻城狮们埋下的Bug估计也找的差不多了)。

 

引用:

http://dtrace.org/blogs/ahl/2016/06/19/apfs-part1/

分类目录 SSD, 技术文章.
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。