对于SSD垃圾回收机制的理解

SSD的垃圾回收(GC)是为了确保持续的写入能力并延长设备寿命。GC涉及何时、选择哪个块、擦除多少块以及如何重新分布数据的决策。目标是快速响应新写入需求,同时考虑SSD的磨损平衡,尽量平均每个block的擦除次数。NAND闪存需要GC,而3dXpoint技术因其直接写入特性则无需此过程。
摘要由CSDN通过智能技术生成

总的来说,SSD垃圾回收(Garbage Collection,以下简称GC)问题是一个多目标优化问题。不可能找到一种在任何情景下都表现最优的算法来实现这一机制,我们只能根据特定情境,选择恰当的算法来达到目的。

GC的原因

SSD中的块最终会被写满,必须时刻保证有free page来满足新的写入需求,因此在数据写入之间要穿插一些GC操作,以此来满足当前和未来的写入需求。

GC的过程

When to GC -> Which block -> How many blocks(只要涉及擦除就和磨损平衡有关) -> Data redistribution policy(数据怎么写回,写回哪里) -> Where to 分配新请求的数据

GC的目标

  1. 使SSD更快完成新写入需求,即使GC对写需求的影响尽可能小。
  2. 还得考虑SSD的寿命问题,即GC的次数和施加的位置也得考虑(最好的理想状态是每个block的擦除次数是平均的,达到平衡的效果,或者牺牲这个条件,使SSD响应更快?)
  3. 磨损平衡不是为了减少copy次数,而是为了延长寿命(每个block记录擦除次数和最近擦除时间,如果young block上放着hot data就先不管,否则进行静态磨损平衡)

NAND & 3d Xpoint

  1. NAND: 在已有数据的基础上必须先擦除后写入,擦除的基础单位是block,这意味着需要使用复杂的垃圾回收算法。
  2. 3d Xpoint: 以bit为基础访问单位,不需要擦除操作,因此不需要配合任何垃圾回收机制。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值