本文介绍了一项由Jaemin Jung、Youjip Won(汉阳大学)以及Eunki Kim、Hyungjong Shin、Byeonggil Jeon(三星电子)共同完成的研究,题为“Frash: Exploiting Storage Class Memory in Hybrid File System for Hierarchical Storage”。该研究于2010年3月发表在《ACM Transactions on Storage》期刊上。研究的主要目标是开发一种新型的混合文件系统Frash,以利用存储级内存(Storage-Class Memory, SCM)和NAND闪存的特性,解决现有日志结构文件系统(Log-Structured File System, LFS)的缺陷。
存储级内存(SCM)是一种新兴的非易失性内存技术,具有字节寻址能力和快速访问速度。尽管SCM在物理特性上表现出色,但其容量远小于现有的存储设备,因此不适合作为独立的存储设备。与此同时,NAND闪存虽然在某些方面优于传统硬盘,但仍存在无法覆盖写入和擦除次数有限的问题。现有的日志结构文件系统和闪存转换层(Flash Translation Layer, FTL)虽然部分解决了这些问题,但在内存需求和挂载延迟方面仍有不足。因此,研究团队提出了Frash文件系统,旨在通过结合SCM和NAND闪存的优势,优化文件系统的性能和可靠性。
Frash文件系统的设计分为以下几个关键步骤:
文件系统对象分析:研究团队首先分析了日志结构文件系统中的内存和磁盘文件系统对象,确定了哪些数据结构可以迁移到SCM中以提高性能。
混合存储架构设计:Frash文件系统将SCM视为内存和存储的混合层。SCM不仅用于存储文件系统的元数据(如页元数据),还用于维护内存中的数据结构(如文件对象和文件树)。这种设计使得文件系统在挂载时无需重新构建内存数据结构,从而显著减少了挂载时间。
挂载时复制技术(Copy-on-Mount):由于SCM的访问速度仍远低于DRAM,研究团队开发了“挂载时复制”技术,将SCM中的内存数据结构复制到DRAM中,以减少访问延迟。
硬件实现与测试:研究团队在嵌入式系统上实现了Frash文件系统,使用了64MB的SDRAM、64Mb的FRAM芯片和128MB的NAND闪存卡。通过对比实验,验证了Frash在挂载延迟、元数据操作和I/O性能方面的优势。
通过实验,Frash文件系统在以下几个方面取得了显著改进:
挂载延迟:Frash的挂载时间比传统的日志结构文件系统减少了92%,尤其是在文件系统分区较大或文件数量较多的情况下,表现尤为突出。
I/O性能:Frash的I/O性能比传统文件系统提高了16%,特别是在顺序读写操作中表现优异。通过将页元数据存储在SCM中,Frash显著减少了访问延迟。
系统鲁棒性:通过将内存数据结构持久化到SCM中,Frash文件系统在系统崩溃后能够更快地恢复,提高了系统的可靠性。
Frash文件系统的研究具有重要的科学和应用价值。首先,它展示了如何通过结合SCM和NAND闪存的优势,优化文件系统的性能。其次,Frash的设计为未来的存储系统提供了新的思路,特别是在处理大规模数据和高并发访问时,能够显著提高系统的响应速度和可靠性。此外,Frash的成功实现也为其他基于SCM的存储系统设计提供了参考。
创新性设计:Frash文件系统首次将SCM同时用作内存和存储设备,充分利用了SCM的字节寻址能力和非易失性特性。
挂载时复制技术:该技术有效解决了SCM与DRAM之间的访问延迟差异,显著提高了文件系统的挂载速度和I/O性能。
全面的实验验证:研究团队通过硬件实现和多种基准测试,全面验证了Frash文件系统的性能优势,确保了研究结果的可靠性和可重复性。
Frash文件系统的成功开发表明,存储级内存可以作为一种新的混合层,介于主内存和存储设备之间,弥补两者的不足。通过合理利用SCM的特性,Frash显著提高了文件系统的挂载速度、I/O性能和系统鲁棒性。这项研究为未来的存储系统设计提供了重要的参考,特别是在处理大规模数据和高并发访问时,具有广泛的应用前景。