论文部分内容阅读
近年来出现的新型非易失性存储器(Non-Volatile Memory,NVM),如阻变式存储器、相变存储器等,具有可按字节寻址、低能耗、高存储密度等特性,这些特性使得NVM成为潜力巨大的存储级内存。基于新型非易失性存储器的内存文件系统,如PMFS、SIMFS和NOVA等,充分利用了新型非易失存储器的诸多特性,实现了文件的高效访问和可靠的一致性。但是NVM具有有限的写次数限制,如果持续对NVM的某个固定区域执行写操作,NVM很快就会被写穿,该区域的数据会丢失,严重影响整个存储系统的稳定性。然而现有内存文件系统没有考虑到非易失性内存可写次数有限的缺陷。文件操作具有局部性和频繁性,极易对NVM部分存储单元造成损坏,特别是文件系统中索引节点的写操作损害最为严重。因为索引节点更新极为频繁,且在其生命周期内始终存放在一个固定的物理位置,极易写穿非易失性内存。本文提出了一种高效的索引节点磨损均衡技术,称为索引节点虚拟化(Virtualized Inode,VInode),VInode的主要思想是将文件的索引节点从逻辑上和物理上解绑,动态改变索引节点的逻辑空间到物理空间的映射关系,使得逻辑上的索引节点的大量更新操作能均匀分散到物理空间上,避免对单个物理位置的过度磨损。VInode技术主要包括两方面,第一,索引节点虚拟化使得逻辑索引节点能够在其运行期间被映射到任意的物理空间;第二,通过动态迁移写次数较多的索引节点到写次数较低的物理空间上,以实现索引节点区的写分布均匀。为了高效的找到写次数较大的索引节点并将它迁移到写次数较小的物理空间上。我们设计了几种迁移算法,都取得了不错的效果,其中以算法Pages as Communicating Vessels(PCV)的效果最优。本文在典型的内存文件系统SIMFS中实现了VInode技术,并采用了典型的文件系统测试工具Filebench和FIO。测试结果表明,相比没有磨损均衡技术的SIMFS,VInode技术将存放索引节点的页面的最大写次数降低1000倍以上,写次数变异系数至少降低了537倍以上;同时,只带了最大不超过3.96%的额外写操作和最大不超过4.5%的性能开销。实验结果表明VInode技术取得了较好的磨损均衡效果。