SD卡工厂:SSD的耗损均衡算法

SSD的耗损均衡算法

由于Flash具有擦除次数有限、先擦后写的特点,会带来使用寿命有限的缺陷.为延长其预期使用寿命,普遍采用耗损均衡算法对各存储单元进行管理。SSD 的资料存储在NAND闪存中,其中没有运动部件。对SSD而言,其读取数据的过程就是一个解析地址的过程,因此,其数据读取的速度非常快。而数据写入过程就复杂一些,分为两个过程:清除数据,然后写入。与数据的读取相比,固态硬盘的写入速度会慢得多。因为固态硬盘的数据写入要复杂一些,固态硬盘的控制器会执行一种名为耗损均衡(Wear-leveling)的操作,对里面的数据进行重新安排,有些数据会从一个位置被转移到另一个位置。为了完成这一操作,SSD的控制器中保留一份名单,记录这些被移动的数据的位置。采用耗损均衡技术以后, falsh芯片各处的读写次数趋于一致,少部分的频繁读写被分布到了整个存储介质上。FLASH芯片的局部老化现象得到了缓解,寿命得到了很大延长。
       Wear Leveling又分为Dynamic Wear Leveling和Static Wear Leveling,(以下简称为动态耗损均衡和静态耗损均衡)动态耗损均衡的工作范围只限于动态数据(经常移动位置的数据或者删除变换的)和未使用空间之间。也就是说,如果一个区块被写入了数据,这部分就不在动态负载均衡管辖的范围(即称之为静态数据)。而静态负载均衡不会,他会强制搬移已经存储的数据到写入次数更少的区块中去,这样可以在更大程度上增加使用寿命和可靠性,
不过,随着时间的推移,SSD中从未使用的存储空间越来越少,很多时候必须先擦除闪存中的数据然后再写入,因此其性能就会明显下降。而且,尽管耗损均衡的目的是避免数据重复在某个空间写入,以保证各个存储区域内耗损程度基本一致,从而达到延长固态硬盘的目的。

2015-05-29 20:56:42