闪存——磨损均衡、垃圾回收、数据压缩、纠错编码

闪存——磨损均衡、垃圾回收、数据压缩、纠错编码

1.闪存

在这里插入图片描述
如图所示,闪存由多个颗粒(Die)组成,每个颗粒由多个分组(Plane)组成,每个分组由多个块(Block)组成,每个块由多个页(Page)组成。

  1. 块是擦除的基本单位。
  2. 页是读写的基本单位。
    当一个存储页被写入数据后,只有在进行了擦除后才可进行新的写入操作。但是闪存的每个存储单元(物理块)的写操作和擦除操作的次数是有限的。在芯片写擦过程中,存储单元隧道氧化层的绝缘性逐渐变差,遭受损耗。
    所以必须采用有效的措施减少擦写次数,提高使用寿命。目前研究主要集中以下四个方面。
2
2.1磨损均衡

磨损均衡的简单介绍见磨损均衡
磨损均衡算法分为静态磨损均衡动态磨损均衡
首先应当明确冷热数据的概念。经常读写使用的数据是热数据,很少读写使用的数据是冷数据。由于数据分冷热,所以导致闪存数据块上的读写擦除次数有很大的方差。这也是使用磨损均衡的原因:使闪存块区损耗程度尽量均衡。
动态磨损均衡主要为更新频繁的热数据快服务,忽略冷数据块,虽然算法简单,但是很难实现高程度的磨损均衡。
静态磨损均衡则冷热兼顾,定期将冷数据搬到擦除次数较大的数据块(老数据块)上,以减少对老数据块的读写擦除磨损。但是在搬运过程中会引起写放大问题,具体见垃圾回收部分。有时候回收会占用大量资源而且算法复杂。
影响磨损均衡的三个因素[2]:

  1. 回收选择机制。磨损均衡要求擦除当前时刻具有最小擦除次数的块,但是垃圾回收倾向于选择有效数据最少的块进行回收,显然二者很难统一。
  2. 空间分配策略。如何处理冷数据的搬移以及新写入数据如何存放,直接由块分配策略决定。
  3. 冷热数据分离机制。好的算法应该能够清晰地区分冷热数据,并且能够解决冷数据突然变热以及热数据突然变冷的块反转现象。
2.2垃圾回收

当一个物理页的数据需要更新时,固态硬盘先将新数据写入到别的空的物理页中,再将原物理页的逻辑地址重定向,同时把原物理页标为无效。但是随着更新次数的增加,闪存中会出现大量的无效页。垃圾回收也就应运而生。
垃圾回收简介见垃圾回收

2.3数据压缩

数据压缩降低闪存损耗的方法是降低实际存储数据量。也就是说,闪存使用寿命直接和数据的压缩率挂钩。见数据压缩

2.4纠错编码

纠错编码是为了保证数据可靠性,使其不受位交换、位反转错误的影响。纠错码算法(ECC)主要通过增加校验码来保护存储数据。目前最常用的三种ECC检验码是:汉明码、RS码、BCH码。

参考文献:
[1] 杨松芳.延长固态硬盘使用寿命的算法综述.中国集成电路
[2] 拓晶,唐磊.基于多阈值的闪存磨损均衡算法.微电子学与计算机.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值