SSD盘为什么有擦写次数
作者:互联网
这个问题,要从SSD盘的结构说起。SSD盘由控制单元(主控芯片)和存储元(闪存芯片)两部分组成。而影响写入寿命问题,就出在闪存器件上。
1、闪存存储单元的物理结构中,用氧化物创建一个电场,电子穿过氧化物并储存电荷,记录一个电位值,即写入1位数据,擦除数据会向相反方向发生同样事件。问题是电子穿过氧化物的次数越多,氧化膜就会变的越弱,最终电场也不能阻止电子的自由活动了,这个单元存储颗粒就损坏了。
比如一个单元颗粒,可以擦写1000次;利用多个这些个单元颗粒,组成了100G的硬盘;当你正好写入100G的数据的时候,这个100G的硬盘,正好每个颗粒被擦写了1次。个人的SSD硬盘,如果每天能写满100G,那1000次的颗粒硬盘,可以用1000天。
平时我们的SSD,写入是非常少的,为了保证每个颗粒的使用频度;SSD有一套均衡机制,保证每个颗粒都能被使用到,而且尽可能的使用的平均。 如果100G硬盘,平时只有10G数据,不会只往那10G上写【与机械硬盘的区别】,否则的话,那10G写报废了,岂不是整个硬盘也跟着报废。
即使硬盘有些数据是始终只读的,在其它颗粒被频繁使用后,调度也会做出数据迁移,保证每个颗粒的平均使用度。就是,100G的硬盘,一天写100G,如果是1000次擦写的,基本上用3年没任何问题【理论上的,没有其它故障原因】。
但是,一天写100G,基本不可能,所以呢,一个固态硬盘,用个5、6年基本没问题,跟机械硬盘差不了多谢; 反而是机械硬盘频繁擦写固定的位置,反而容易坏道。
2、因此,写和擦都是会减少氧化膜的寿命的,制造工艺又限制了该膜的厚度,其存储单元的寿命由此而来。理论值,SLC闪存擦写寿命10万次;MLC闪存擦写寿命1万次;TLC闪存擦写寿命500~1500次。
SSD的磨损均衡
上面说过,每个Flash颗粒中Block的可擦除次数是有限制的,如果颗粒中的某些Block很快达到了擦除次数上限,而其他大部分都几乎没有被擦除过,则会很快的造成整个SSD失效。而磨损均衡(Wear Leveling)则是通过各种手段,保证整个SSD所有的block的擦除次数是相近的从而延长SSD的使用寿命。
磨损均衡分为 动态磨损均衡 和 静态磨损均衡:
动态磨损均衡,是指在外部力量的驱动下,自然完成磨损均衡。这里外部力量,包括写IO和垃圾回收。
静态磨损均衡,是指磨损均衡功能模块主动地查找那些长时间没有变化的数据,将这些数据搬移到其他位置,以便释放出擦除次数较少的block,使其投入到擦除/编程的循环之中。
标签:SS,擦写,100G,擦除,颗粒,D盘,SSD,硬盘 来源: https://www.cnblogs.com/yxmboke/p/16100123.html