揭秘:拯救16/32GB iPhone空间的APFS的确是神器

16GB的iPhone用户有救了!你肯定经常遇到手机内存空间不足的各种提示,没装几款App手机空间就不够了。不过这一切都会在你升级iOS10.3的时候有所变化,因为你会发现本来不够用的手机突然多出来了1GB以上的空间,这是为什么呢?一切皆是因为苹果升级采用了最新的APFS文件系统

究竟为什么升级iOS10.3系统后的APFS文件系统可以帮助我们节省更多的内存呢?APFD文件系统又是个啥?暂且不谈文件系统,咱们先聊一聊电子产品的存储器。众所周知,存储器就是将你电脑,手机下载的乱七八糟的东西能够存放的地方,用于保存信息的记忆设备。磁盘就是常用的电脑存储器。磁盘分为硬盘和软盘。而软盘渐渐地被时代淘汰了,硬盘为当今主要的存储设备。

而硬盘又分为机械硬盘(HDD传统硬盘)、固态硬盘(SSD新式硬盘)和混合硬盘(SSHD)。HDD价格低廉,寿命长,性价比高。SSD读取速度快,价格高,但是因读取次数有限,因而寿命要短于HDD,适合中高端游戏玩家配备的硬盘。

为何SSD读写速度快呢?如图所示,一块SSD硬盘由主控、DRAM缓存、NANDFLASH闪存组成。主控是SSD的大脑,SSD所做的东西全部都是它所控制的;DRAM缓存则是高速缓冲区,具体作用要看主控的算法而定,有些是用来放LBA表的,有些则是拿来做数据缓存的,更有些方案是没有外置DRAM缓存,只在主控内置了小量缓存,这样做的目的有些是为了数据的安全性(如SandForce),有些则是为了降低成本(大多数入门级主控);NAND闪存则是数据存储的地方,你的数据全部都存放在里面。闪存为主要存储介质,闪存的质量可直接影响硬盘的各方面性能包括读取速度,存储大小和寿命。尽管主控的性能也可以影响硬盘的读取速度。

揭秘:拯救16/32GB iPhone空间的APFS的确是神器

因为手机无法适用硬盘的安装模式,所以安装在智能手机上的存储器只有NANDFLASH闪存了。常见的闪存类型有SLC、MLC、TLC。因为SLC成本太高,所以大部分的智能手机配备的是MLC和TLC两种模式。

话说回来,APFD文件系统中的“文件系统”是什么?和存储器有啥关系?文件系统是用于明确存储设备的操作系统,即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件系统。

简单的来说,好比有一辆法拉利488,如果没有一个好司机的话,是发挥不了此款车的所有性能的。所以不管是SSD、HDD还是基于手机闪存的MLC和TLC,需要一个强有力的文件系统帮助存储器的推算,来引导它发挥最强的实力。 

文件系统是基于存储硬件的软件,长达30年的时间,苹果一直使用HFS作为产品的文件系统。HFS诞生于1985年,随后在1998年发布的4GB硬盘版本G3PowerMac中引入了改进的HFS+文件系统。从1998年4GB容量的传统HDD机械硬盘,到现在TB规模的SSD固态硬盘,HFS+已经招架不住存储领域的大量改变和创新。

2016年6月14日,苹果公司在WWDC上正式宣布了全新的文件系统(也称文件格式)——Apple FileSystem(简称APFS)。这一全新文件系统专门针对闪存/SSD进行优化(但依然可用于传统机械硬盘),提供了更强大的加密、写入时复制元数据、空间分享、文件和目录克隆、快照、目录大小快速调整、原子级安全存储基元,以及改进的文件系统底层技术,将全面应用于该公司旗下所有设备中。

全新开发的APFS除了支持HFS+的全部功能外,还在以下方面有了突出的改进:与使用32位文件ID的HFS+不同,APFS可支持64位索引节点(Inode)编号,借此一个卷最多可存储超过900亿亿个文件。

HFS+只能同时对整个存储设备的文件系统进行初始化,APFS提供了一种可扩展存储块分配程序(Extensible blockallocator),可对数据结构进行延迟初始化(Lazy initialization),进而大幅改善大容量卷的性能。

APFS支持三种模式的加密:不加密;适用于元数据和用户数据的单密钥加密;以及适用于元数据、文件,甚至文件中特定部分的多密钥加密。此外,APFS还包含其他改善和新功能,例如稀疏文件、改进的TRIM操作,内建对扩展属性的支持等。脱胎换骨的APFS已经具备与BSDHAMMER、Linux btrfs或OpenZFS等现代化文件系统不相上下的功能和特性。

APFS的优势:

兼容性

新一代的APFD文件系统兼容性很强,小到 Apple Watch,大到Mac Pro所有iPhone设备一律兼容。

数据加密

安全与隐私是APFS的设计基础。Apple的很多设备和操作系统早已具备加密功能,OS X 10.7 Lion开始提供全磁盘加密功能;iOS4开始可通过专用数据保护技术将每个文件使用一个专用密钥进行加密。APFS对这两种功能进行整合,为文件系统元数据提供了一种统一的加密模式。

加密是APFS原生支持的特性,用户可以针对每个卷选择下列任何一种加密方法:不加密,统一用一个密钥加密,或多密钥加密(针对每个文件使用专用密钥加密,同时针对敏感的元数据使用一个单独的密钥)。多密钥加密可确保哪怕设备物理安全受到威胁,依然可以保障用户数据的完整性。取决于具体硬件,APFS加密可使用AES-XTS或AES-CBC算法。

s_be0a16598eac44a9a7fc471b1aca03dc.jpg

这种加密机制还实现了一个额外的功能:更为快速的数据擦除。通常情况下当用户从设备中删除文件后,可以通过市面上提供的很多(免费或收费的)反删除软件找回删掉的内容。为避免这种情况,以往如果需要删除包含机密信息的文件,或需要将存储过私密数据的设备退役给他人使用,必须首先使用抹掉功能擦除存储设备,并可能要将这一过程执行多遍。取决于存储设备容量,整个过程将耗费极多时间。

对于使用APFS文件系统的存储设备,在启用加密功能后,安全擦除的过程将变得大为简便和快捷,不再需要耗费大量时间多次给存储设备填充随机数据,只需要删除加密所用的密钥即可。