当然,几年前的 eMMC 4.5 的速度优势没现在这么夸张,不过即便是当初以闪存颗粒缩水出名的华为,测试数据起码也能压过三星这些 TF 卡。
// 外置 TF 卡扩展的系统局限
除了读写速率之外,TF 卡还面临着另一个问题,即文件系统。
因为 TF 卡本质是可移动的存储器,这就意味着产品经理们必须尊重它的兼容性,移除挂载之后一定要能正常在其他设备上即插即用,而非是专属于某一特定设备(即便事实上很多人都是这么用的)。但是要知道 Windows 和 Linux 是两种不同的体系,所使用的文件系统也是互不兼容的,Windows 那边是 NTFS,Linux 这边是 EXT4、F2FS,硬要挂载,要么根本无法浏览,要么只能用来作为外挂存储器,存储一些对系统无关紧要的文件。
各位可以简单回忆一下,上古时代,在 MTP 通行以前,如果把手机插到电脑上读文件,后果就是用户存储分区会因为 PC 的挂载而直接和手机断开。造成这个现象的根本原因,其实就是由于文件系统的不同,手机本身在挂载 TF 卡的时候,也是以外挂存储的方式来访问,单分区不能同时挂在两个设备上,因此只能二选一。
其实还有另一种更直接的证明方式,当年民间为了解决 data 分区不够用的问题,就在 TF 卡上建立 EXT 分区,于是导致用户可见和 PC 可挂载的空间大幅变少。可见问题的关键在于文件系统。
当然,设备本身可以格式化使其符合相应的文件系统,不过一旦为此格式化,那就意味着这个卡片只能用在 Android 手机上了,从而丧失了作为外置存储器所应有的通用性,而且在 Android 6.0 以后上了全盘加密,TF 卡的读写速率会更加可怜。对于使用而言,显然是反人类的操作。
于是,对于任意设备,TF 卡或者 SD 卡都只能作为外挂存储器,绝对不能作为设备的核心存储,也许你会问当年的 Android 不是插卡的吗?抱歉不要忽视了配置参数中的 ROM 的存在,那才是系统关键的闪存,只是当时普遍容量太小,只能把用户存储让给外置,同时因为 Linux 的特性,内分区对用户不可见而已。