1. 概要
针对手机存储系统,首先,Flash存储处于整个memory 层级结构下的最慢模块,容易成为系统性能瓶颈;此外,由于固态存储器件碎片化的问题,Flash 存储还容易出现越用越慢的难题。其次,随着系统的迭代发展,系统占用存储空间越来越多。最后而在多设备流转的场景下,分布式文件系统的高效转存能力显得尤为重要。
为应对上述问题,华为HarmonyOS提供了高效的自研文件系统体系。从第一代的eF2FS到最新的HMDFS,文件系统逐步解决了碎片化问题,系统占用容量问题与多设备流转问题。
2. 解决方案
2.1 数据分区的eF2fs 文件系统-存储越用越慢影响体验
传统的Linux的文件系统使用ext4,其为机械硬盘,服务器业务而设计。ext4 的block group 设计为了减少磁盘磁头移动,分配空间在同一个block group,这样访问数据时在同一个block group;其他设计应对服务器业务,典型特征是业务明确,可提前分配资源,很少会出现空间浪费,碎片化问题;另外服务器有管理员,空间不足时管理员可增加磁盘。 且出现碎片化,可主动整理。这样传统文件系统不会遇到在手机终端末端性能由于碎片化导致的越用越慢的问题。ext4 为磁盘设计,磁盘可原地更新,不存在两层映射地址映射,这样ext4 就只为一层逻辑地址而设计,而在手机中固态存储限制,不能原地更新,为了兼容ext4 一层逻辑地址,这样固态存储内部需要做两层地址(一层逻辑地址,一层物理地址)的映射,用户随机写访问会使两层地址的映射频繁的更改,这样碎片化越来越严重,从而越用越慢影响性能。
image.png
为改善越用碎片化越严重而越慢问题,采用f2fs 文件系统,并通过数据类型感知的multi-stream 算法和空间感知的分配算法分离冷热数据,以减少碎片化;通过高效、业务感知的智能碎片整理机制,以管理碎片化状态。
2.2 系统分区的EROFS
系统占用存储空间越来越多,通过EROFS,变长输入,定长输出,将文件块压缩到一个等长的存储块重,这样访问任何文件块,只需读取一个存储块,减少了无效读,减小了读放大。
效果是:
随机读性能平均提升20%;
系统初始空间相比Ext4节省2GB,相当于用户可以多存1000张照片或500首歌曲;
升级包大小下降约5%-10%,升级时间缩短约20%。
image.png image.png
2.3 跨设备的HMDFS文件系统
描述称:“批流”结合的分布式文件系统,采用同一系统能力,适配多种终端的分布式理念。
image.png
应对多设备流转,HMDFS提供了多种文件系统能力,包括:
文件类型聚合;
高效的缓存管理;
批处理接口;
分布式的权限管控;
高效传输;
数据一致性管理。
网友评论