关键词:
文件系统
开放通道闪存
持久化内存
边缘计算
摘要:
随着物联网、人工智能及高速移动网络的快速发展,终端设备的种类与数量急剧增加,智能终端与边缘节点需处理的数据量呈爆发式增长。由于闪存介质普遍具有存储密度高、静态功耗低、大容量、体积小、抗震动等优势,其被广泛应用于边端存储系统。然而,面对海量数据,传统闪存存储系统逐渐无法应对边端大容量、强时效、低开销的存储服务需求。开放通道闪存架构充分结合文件系统及闪存硬件特性,通过消除存储层次间的语义壁垒,给闪存文件系统的发展带来新机遇。但是,软件直接管理闪存硬件也为文件系统设计带来新挑战。因此,针对边端开放通道闪存文件系统面临的挑战与机遇,本文开展开放通道闪存文件系统的设计与优化研究。首先,研究设计可扩展低开销的嵌入式软件直管闪存文件系统,以降低文件系统空间管理、数据组织以及命名空间的内存开销,同时实现系统快速挂载与闪存磨损均衡。其次,充分利用新型持久化内存的优势,设计嵌入式闪存文件系统中间层,以提升文件系统的可移植性与适配性。最后,提出基于小容量持久化内存的混合开放通道闪存方案,以降低文件系统数据一致性开销,提高文件系统性能。具体开展的研究工作如下:(1)大容量嵌入式软件直管闪存文件系统研究。针对现有嵌入式闪存文件系统内存开销大、管理容量小、挂载时间长等问题,本文设计了面向资源受限嵌入式设备的可扩展低开销闪存文件系统(Extensible Low-Overhead Flash File System,简称ELOFS)。首先,为降低空间管理内存开销,ELOFS采用大粒度分区管理机制,避免重复记录闪存块状态。其次,为降低文件管理内存开销,ELOFS采用混合文件组织方式,依据智能终端读写特点,对目录与数据文件分类组织存储。最后,为提高命名空间检索效率,ELOFS利用高效路径树,加速路径解析流程。(2)嵌入式闪存文件系统持久化中间层研究。针对传统嵌入式闪存文系统逻辑操作粒度与大容量闪存硬件粒度不匹配、移植难度高、手动适配后读写开销大等问题,本文设计了嵌入式闪存文件系统持久化中间层(Non-Volatile middleware,简称NV-middle)。在现有嵌入式文件系统逻辑I/O接口与闪存硬件I/O接口之间,NV-middle利用新型持久化内存,建立写操作聚合树,缓存文件系统小粒度I/O。此外,NV-middle采用延迟擦除机制为上层系统提供透明的小粒度逻辑擦除功能,并建立页缓存机制降低读放大导致的性能开销。(3)写时复制文件系统性能优化研究。Btrfs等块设备文件系统采用区段树结构组织文件数据页以降低空间管理开销,并采用写时复制机制来保障同步操作时的数据一致性。然而,写时复制操作不仅导致了区段树节点分裂,违背了区段树索引的设计初衷,还向上递归传导元数据页面更新操作,严重降低文件系统的性能。本文充分利用开放通道闪存优势,提出基于小容量持久化内存的开放通道文件系统架构,通过设计混合细粒度写时复制机制(Hybrid Fine-grained Copy-on-Write and Journaling Mechanism,简称Hy Fi M),避免逻辑层写时复制操作产生的索引结构分裂与更新向上传导问题,提高文件系统的读写性能。最后,本文基于Linux系统实现了所提出技术的原型,并从多方面进行实验验证。实验结果表明所提出的可扩展低开销闪存文件系统能够以极小的内存开销保障文件系统读写性能;提出的嵌入式闪存文件系统持久化中间层实现了既有嵌入式文件系统无缝适配大容量闪存硬件;提出的混合细粒度写时复制机制能有效降低写时复制操作造成区段碎片,提高系统性能。