闪存——垃圾回收

闪存——垃圾回收

一、概念

在了解闪存的垃圾回收之前,我们先了解以下磁类介质的读写问题。磁类介质(磁带或磁盘)在写入新数据时,无论该区块是否有旧数据(旧数据为不再需要的数据),直接进行覆盖即可。但是闪存和磁类介质不同,闪存是电子类介质,在写入新数据时,区块必须是空白的。所以如果要写入的区块存在旧数据,那么必须先对旧数据进行擦除。所以我们可以预见,当写入的数据达到闪存容量后,一定会发生擦除行为。擦除行为,也就被称为“垃圾回收

二、特征

擦除主要有以下两个特征:

  1. 擦除的速度比读写慢
  2. 擦除的处理单位比读写大
    问题1容易理解,问题2是指,目前闪存读操作处理单位不大于4kb,写单位不小于4kb,但是擦除的处理单位不小于1mb。举个例子就像一块250平米的草坪只有一平米长了些杂草,但是必须要对整个草坪进行修剪,这必然要导致资源的浪费。
三、问题

1.写悬崖:随着数据不断增加,必然会出现区块间数据搬运、数据擦除等垃圾回收的相关操作,这些操作占用了一部分本该属于应用程序的性能。因为这些导致的性能下降,即写悬崖。
2.写放大:垃圾回收虽然能够通过搬运数据等方式为工作提供更好的性能,但是闪存的块区写入次数是有限的。垃圾回收就会导致额外写入操作,从而降低了闪存的使用寿命,此为写放大。

四、解决

写悬崖和写放大是两个无法避免的问题。厂商一般通过1.强化介质材料2.优化算法3.优化架构等手段来减小两者的影响。另外,也可以通过“超供给”方式(提供更多存储颗粒)、带外垃圾回收处理机制(有专门的处理引擎来处理)、磨损均衡以及监测机制等等手段实现优化。
但是要明确的是,即使写悬崖导致了闪存的性能下降,但是其性能还是远远高于传统的传统磁盘阵列的。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值