作者:-1 发布时间:2023-03-26 14:37 浏览次数 :
我们的目标是设计一个块管理算法,以便延迟任何单个块的寿命期限; 也就是说,我们希望避免一个或几个块寿命到期,然而大多数块还没有到期。为此,我们建议跟踪所有块的剩余平均寿命。任何块的剩余寿命应在平均剩余寿命的年龄差异 (例如20%)内。
只要选择剩余生命周期超过阈值的页面,就可以通过运行GC策略来实现此期望策略。为此,我们必须在持久存储中保留注意块擦除计数(例如,在第一页的元数据部分中)。我们应该做些什么来磨损这些块使其低于阈值?一种简单的方法是仅在候选块的剩余寿命超过阈值时允许回收。这样做可以排除大量的块,这反过来会导致剩余的块更频繁地回收并且cleaning效率较差。例如,如果25%的块具有冷数据而剩余的75%具有均匀访问的热数据,那么在经过一定数量的写入之后,后者将被磨损并且变得不适合被擦除。随后,回收将集中在含有冷数据的25%的块上。所以这些块将被4倍速度被重用,每次擦除的页数相应减少。因此,我们需要避免在很长一段时间内大量的块变成不再符合回收。