论文:一种程序上下文感知数据分离技术,可减少NAND闪存中的垃圾回收开销
摘要
对于基于NAND闪存的系统,垃圾回收仍然是主要的性能瓶颈。为了减少垃圾收集的开销,基于更新频率的数据分离技术被广泛使用。但是,根据我们使用oracle预测器对数据更新时间的观察结果,按数据更新时间而不是更新频率较高的数据来分隔数据是减少垃圾收集开销的更重要因素。基于这些观察,我们提出了一种新颖的基于更新时间的数据分离技术。所提出的技术基于可以记录数据更新行为的程序上下文提示来预测将一起更新哪些数据。我们的技术找到程序上下文,该程序上下文生成具有相似更新时间的数据,并按估计的更新时间对程序上下文进行分组。使用所提出的技术的Flash翻译层(FTL)可以通过分配具有相似内容的数据来减少垃圾收集开销更新时间到相同的块。我们的实验结果表明,与基于数据更新频率的方法相比,我们的技术可以平均减少垃圾收集的总执行时间58%。
1. 介绍
NAND闪存广泛用作从嵌入式系统到高端企业服务器的存储设备。 由于其对于移动存储设备的许多吸引人的特性,例如重量轻,低功耗,耐用性和高性能,它已被广泛用于移动嵌入式系统。 随着每字节成本的下降和存储容量的增加,高容量的NAND闪存设备(如固态驱动器(SSD))更常用于高端台式机和企业存储服务器。
5.相关工作
已经研究了数据分离技术以减少垃圾收集的开销。 Chang等。 [3]建议使用两级LRU列表进行冷热识别。第一级列表存储在短时间内两次或更多次写入的数据的逻辑块地址,而第二级列表存储最近一次被访问或已从第一级列表中逐出的逻辑块地址。 Chang [2]提出了一种基于大小的预测技术。基于观察到小型请求往往被频繁访问的观点,该技术根据请求数据的大小对数据位置进行了分类。 Hsieh等。 [7]提出了一种基于哈希表的数据分离技术。该技术跟踪每个逻辑块地址上所有写请求的数量,并将访问信息记录在一个表中。为了减小表的大小,该技术采用了多个哈希函数,该函数使几个逻辑块地址共享表中的一个条目。由于此技术会定期将数据的写入计数除以2,因此最近频繁更新的数据可能时代被认为很热。这些技术的目的是准确识别数据。但是,尽管数据具有相似的写入时间局部性,但是如果在不同的时间更新数据,则基于频率的方法在减少垃圾收集开销方面无效。此外,如果给定数据中没有明显的局部性,则这些技术将不起作用。
6.结论
我们提出了一种新颖的程序上下文感知数据分离技术。 考虑到程序上下文和更新写模式之间的相关性,提出的技术通过检查产生写请求的程序上下文来预测数据的更新时间。 通过将更新时间相似的数据收集到相同的块,基于我们的技术的FTL可以使垃圾收集操作的总执行时间比基于散列的热/冷分离方案减少58%。 这些结果证明,使用程序上下文预测数据的更新时间在数据分离技术中可以是一个了不起的方法。
我们的工作可以扩展到几个方向。 例如,我们计划将技术扩展到有效的磨损均衡管理。 使用提出的技术,FTL可以根据将来的更新时间信息更有效地识别冷页。
我们的技术也可以扩展到基于混合映射的FTL。 除数据更新时间外,诸如随机和顺序的写入模式也是减少基于混合映射的FTL的垃圾回收开销的重要因素。 除了估计数据更新时间之外,我们还计划研究程序上下文和写访问模式之间的相关性。程序上下文感知方法可以最大程度地利用基于混合映射的FTL的优势,例如小内存占用量和高性能(通过按顺序访问) 分离顺序访问模式和随机访问模式。