正在阅读:1G卖1百美元 均衡算法解高价SSD寿命难题1G卖1百美元 均衡算法解高价SSD寿命难题

2009-09-09 02:24 出处:PConline原创 作者:小蚁 责任编辑:wenzhicheng

4.动态Wear-Leveling

  Wear-Leveling有两种类型:动态和静态。动态Wear-Leveling算法保证数据的编写和循环的擦除会被均匀地分布到NAND Flash的所有块中。该算法之所以是动态的是因为它每次都在缓冲区处理数据,然后写入闪存中。就像前面提到的那样,该算法主要是为了避免让应用程序重复不断地对同一个存储区域进行擦除/写入,从而让该存储单元出现永久性损坏。

  当出现一个写数据请求时,动态Wear-Leveling就会开始启动。该算法先对ECT的空闲块池进行浏览,寻找一个擦除计数值最小的块单元。一旦找到符合要求的块,就将数据写入,并将该块送入数据块池。然后将新块的物理地址与主机发送过来的逻辑地址在转换映射表上建立彼此的映射关系。

  通过这种做法,即使重复地对同一个逻辑地址进行写数据,由于逻辑地址和物理地址之间的映射关系发生了变化,所以数据自然不会在同一个物理块上进行重复写入。数据写入后,就需要将与主机写入的逻辑地址最初相映射的物理数据块进行擦除,然后更新ECT块擦除计数值,并将块送入空闲块池,修改ECT中的块组信息。

5.静态Wear-Leveling

  单单使用动态Wear-Leveling无法保证所有块能够在相同的概率下使用Wear-Leveling。对于有些特殊的情况比如数据写入闪存并存储了相当长一段时间甚至无限期的情况,动态Wear-Leveling就无法起作用。当其他块频繁地进行交换,擦除和存储,上述这些块单元在Wear-Leveling操作中却始终保持不活动状态。

  为了确保所有块都能够受到Wear-Leveling算法的检测,第二种Wear-Leveling算法——静态Wear-Leveling就应运而生了。静态Wear-Leveling会对那些处于不活动状态的块单元进行寻址,并把数据写入它们之中。静态Wear-Leveling使用两个触发机制定期地进行操作。

  第一个触发机制是检测不活动块单元的闲置存储阶段。如果这个闲置阶段超过了所设定的上限,就会启动ECT进行浏览操作,寻找在数据块池中擦除计数值最小的块单元,以及空闲块池中擦除计数值最大的块单元。

SSD
静态Wear-Leveling块示意图

  一旦该查找完成,第二个触发机制就会将数据块池中最小的擦除计数值与空闲块池中最大的计数值进行相减,如果结果超过了设定上限,那么在数据块池中擦除计数值最小的块单元的数据就会被转移到空闲块池中擦除计数值最大的块单元中。

  然后,这两个块的位置也要互换。数据块池中擦除计数值最小的块就会被擦除,并放置到空闲块池中。而原先在空闲块池中计数值最大的块则由于已经被写入了其他块的内容,而被转移到数据块池中。转换完成后,在FTL中转换映射表就要进行更新,将逻辑块地址映射到新的物理块地址上。最后,ECT会对每一个块重新组队。
 
6.无效块处理和映射

  无效块包含一些无效内容,导致SSD的稳定性无法得到保证。在制造过程或者运行时,难免会产生一些损坏的块单元。当SSD第一次启动时,驱动器就会浏览每个块单元,在FTL的无效块列表中(IBT)找出那些由SSD卖主事先标记好的无效块。

SSD
静态Wear-Leveling块示意图

  在运行过程中,擦除编写也会出现错误。它们会被NAND Flash芯片中的监测状态寄存器检测出来。如果错误出现,状态寄存器中指定的比特位就会被重设,以此来表示该块已经不再稳定,必须被标示为无效。当一个损坏的块被检测出来时,FTL会将该块上的数据重新写入到空闲块池中擦除计数值最小的块中,并将该逻辑地址重新映射到新的物理地址上。被检测到出现错误的块会在IBT中被标示,并从空闲块池中删除。

  当无效块的数量增加时,伴随而来的是可用闪存的减少,空闲块中的可用块也会随着减少。而上述方法相较于其他将无效块替换的算法来说,能够有效地提高闪存的使用率。因为那些替换算法是使用那些保留未使用的块单元来替换无效块的。

总结:

  显然,影响SSD使用寿命的因素很多,包括SSD擦除与写入数据的策略、SSD的电气性能甚至是SSD使用环境温度等等,而在其中,数据写入的均衡性算法无疑是最为重要的延长SSD使用寿命的方法之一,好的写入均衡性算法可以使数据平均地分布在整个驱动器的block里,而不会造成某一区块成为信息读写的热点从而影响到整个SSD的寿命。

  而我们今天为大家介绍的Wear-Leveling算法就是目前存储驱动器厂商普遍使用的方法之一,通过使用合适的写入均衡算法以及指定合适的擦除写入策略,目前的企业级SSD产品已经可以达到无故障运行200万小时的强度,这样的品质已经足以保证硬盘使用20年以上。

  现在的SSD已经有了完善的预警功能,在寿命将要到期前会对用户进行提示,相信这样的质量已经足以满足大多数企业级存储的要求了,而相信随着技术的进步,更加完善的均衡算法与擦除写入策略的开发一定能使SSD的使用寿命更进一步。

  而在寿命问题初步解决之后,产品售价问题就变得更加迫在眉睫,毕竟即使是较为便宜的企业级SSD产品每GB的价格也比机械硬盘高出数倍,而高性能SSD的价格与机械硬盘相比就更是高出了上百倍,这样的差价对于任何想要普及的事物都会是无法逾越的障碍。

  不过,在这之中我们也能够找到令人欣喜的消息存在,那就是虽然现在SSD价格仍然高高在上,不过却是以一个非常快的速度在下降,现在SSD的每GB价格与两年前相比已经下降了超过50%,这足以令我们对未来充满期待,相信在不久的将来,会有寿命和价格都令人满意的SSD产品出现。

键盘也能翻页,试试“← →”键

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多

服务器论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品