DFTL(demand-based FTL)是一种根据负载访问特点动态加载映射项到缓存中的知名FTL(flash translation layer)算法,但是它没有考虑到请求的空间局部性,而且缓存中的一个映射项剔除就可能会导致翻译页的更新,缓存中映射项的频繁剔除又会导致额外的擦除操作.在DFTL的基础上,提出了SDFTL(sequential/second cache DFTL)算法.SDFTL新设置连续缓存和二级缓存,连续缓存通过预取映射信息,利用请求的空间局部性,提高了FTL对连续负载的处理性能;二级缓存通过暂存从一级缓存中剔除的、发生更新的映射项,并采取批量更新策略回写到闪存,减少了闪存的翻译页写回次数和擦除次数.利用实际负载做的实验结果显示,SDFTL相比DFTL缓存命中率平均提高41.57%,擦除次数平均减少23.08%,响应时间平均减少17.74%.
Flash translation layer(FTL)is one of the key techniques in solid state drive(SSD)design.Currently,demand-based FTL(DFTL)is a well-known FTL algorithm which can dynamically load map entries into cache based on the characteristics of requests.However,it does not consider the spatial locality of workloads,and one map entry evict out operation in cache may update one translation page;thus,frequent evict out operations will cause extra erase operations.Focusing on above drawbacks of DFTL,this paper proposes an FTL scheme called SDFTL(sequential/second cache DFTL),which sets a sequential cache and a second level cache additionally.The former improves the performance of FTL handling the workloads with high spatial locality by prefetching map entries to exploit the spatial locality of workloads.The latter is used to buffer the updated map entries,which are evicted from first level cache,to take advantage of batch updating strategy,and thus reduces the translation page write counts and erase counts.Experimental results of various realistic workloads show that SDFTL can improve the cache hit ratio by 41.57%and reduce the erase counts by 23.08%and response time by 17.74%compared with those of DFTL in average.