影响写入放大的各种因素
宁道奇 发表于:11年06月17日 12:00 [转载] 小熊在线
影响写入放大的各种因素
对于写入放大系数来说,会受到很多因素的影响。首先,对于GC垃圾回收来说,虽然能增加写入放大的系数,但是这个对SSD硬盘的性能会有较大的提升。而被动的垃圾回收也不会影响写入放大系数。因此,只要算法科学合理,就可以提高其效率。
对于OP预留空间来说,这对于改善写入放大系数有很好的效果。但是这必须在SSD上划分出一片空间,而用户也无法利用这些空间进行存储。
对于TRIM指令来说,可以改善写入放大系数。它可以告诉主控芯片,那些数据块是存储区域,不必做GC垃圾回收处理。
另外,写入放大系数还和SSD的容量有很大的关系,SSD的容量越大,其可以利用的空间越多。无论是GC还是TRIM都会为其留有足够的空间施展。因此,SSD的容量越小,其写入放大的系数就越高。
安全擦除(Secure Erase),有点类似HDD上的全盘格式化,它可以减少写入放大系数,它可以清除SSD上的所有数据,让SSD恢复到出厂时的性能。
在写入方面,连续的持续写入大容量文件,要比随机的写入小容量文件好。因为上文已经指出,理论上来说持续写入的系数为1,当然这是最最理想的状况。
总的来说,写入放大是关键的SSD指标,闪存的写入速度比读取速度慢的多,所以现在的SSD主控制器用多通道来提升写入速度。如果写入放大太高,意味着一样的操作需要写入更多的数据,这样速度自然快不起来。一个主控的好坏主要体现在写入放大上。如果大家都一样的通道数,颗粒也相同,但差别为什么会那么大。原因就是一个写的少而另个写的多。一切算法技术的根本目标是要尽可能的减少写入放大。