大家都知道手机普遍用F2FS做文件系统,F2FS通过log structure解决了写的碎片化问题,但是带来一个问题,读的碎片化问题,这个问题的本质就是文件数据分布不连续的存储空间物理地址,使得读性能下降(变为随机读)。
从小米的广告猜测,这是一个硬件解决方案,我猜应该主要是闪存控制器的优化。前面介绍F2FS会导致文件数据分布在不连续的地址,但是这个地址是文件系统角度的,到了设备层的闪存控制器又会转换一次。
我猜这个优化应该是将F2FS层不连续的物理地址(从设备角度是不连续的逻辑地址),在闪存控制器层将其变为连续(设备角度的连续地址)。这是可以做到的,因为改闪存控制器的L2P表的映射关系就可以做到。
当然这是软件设计层面的,我觉得可以关注的是小米的闪存控制芯片是不是自研的,如果不是自研估计就是和别人合作开发,小米提供一些算法之类的。
从小米的广告猜测,这是一个硬件解决方案,我猜应该主要是闪存控制器的优化。前面介绍F2FS会导致文件数据分布在不连续的地址,但是这个地址是文件系统角度的,到了设备层的闪存控制器又会转换一次。
我猜这个优化应该是将F2FS层不连续的物理地址(从设备角度是不连续的逻辑地址),在闪存控制器层将其变为连续(设备角度的连续地址)。这是可以做到的,因为改闪存控制器的L2P表的映射关系就可以做到。
当然这是软件设计层面的,我觉得可以关注的是小米的闪存控制芯片是不是自研的,如果不是自研估计就是和别人合作开发,小米提供一些算法之类的。