Nand Flash管理算法介绍之垃圾回收类型介绍

本文简简单单讲述FTL垃圾回收的几种基本的类型:

1. Greedy Algorithm
贪婪算法,找有效页数最少的块进行回收。因为不考虑磨损均衡,所以可能会对某些块进行多次擦除,导致这些块比其它块要更早达到PECS,有隐患。但是在随机写入的case下,贪婪算法看起来效果比较好,因为随机写入导致无效页分布也是随机的。

2. Cost-Benefit Algorithm(CA)
此算法考虑到块擦除的频率,公式如下,根据下列公式计算出每个块的权重值,选择权重最大的块进行回收。

age:此块距离上次擦除的时间。
u:此块有效页比例
好处:既可以选择有效页数少的块进行回收,也可以避免块长时间没有回收。
缺点:没有考虑到块的擦除次数,没有很好均衡块的擦除次数。

3. Cost-Age-Time Algorithm(CAT)
CAT算法,在CA的基础上,增加考虑了块的擦除次数,每个块的权重计算公式如下,FW选择权重最小的块进行回收。

age:此块最后一次修改的时间。
u:此块有效页比例
CT:块擦除次数。
好处:和CA相比,均衡了块的擦除次数。还可以在回收的时候,把冷、热数据写到不同的块上,从而达到更好的磨损均衡效果。

4. CICL Algorithm(不知道全称)
综合效果比较好的算法,综合了回收效率和块擦除次数。每个块的权重计算公式如下,FW选择权重最小的进行回收。

ui:块i中有效页的比率
εi:块i擦除的次数
εmax:所有块中最大擦除次数
λ:磨损均衡权重比例,取值范围[0,1],是个浮动的值,取决于当前块擦除最大、最小的差值。
当λ值较小,那么优先以回收效率为先,反之,以磨损均衡为先。也就是说,在磨损均衡较好的情况下,λ取值较小,反之λ取值较大。

你可能感兴趣的:(storage)