从这张图可以看到,hofpro m.2 1tb的连续写入速度比500gb版本的快了近一倍,而与2tb版本无差别,这里的原因实际上就与我们上面的问题有关。
我们知道,内存组建双通道可以获得更高的性能。所以ssd的颗粒采用成对的方式出现,原理与双通道内存一样,并行连接可以增加闪存的传输通道,使ssd的传输速度理论上翻一倍。
这个原理显然更有利于大容量ssd。相对而言,使用同样规格的闪存,容量越大的ssd所需要闪存颗粒的数量就越多,越容易组成更多并行通道,从而提高ssd的读写速度。借助这个原理,我们也可以理解为什么两块同样规格的ssd组成raid0后,性能可以提高很多。本质上,闪存并行的方式相当于raid0(任何一个闪存挂掉都会导致整个ssd挂掉)。
前面说闪存颗粒成对并行对大容量ssd更有利,意味着对小容量ssd的优势较小。举个例子,一快1tb和一块512gb的ssd,如果使用的是同品牌同规格的闪存,那么1tb的闪存数量肯定是512gb的2倍。
我们假设一颗闪存的容量是256gb,那么1tbssd需要4颗,而512gb只需要2颗,这时候两者的差距就出现了。由于4颗闪存并行的通道更多,那么1tbssd的速度相对会更快(在接口速度允许的前提之下)。
有没有什么办法可以提高小容量(512gb)ssd的性能呢?有,那就是同样采用4颗闪存,不过不好之处就是单颗闪存的容量由256gb降为128gb,这时候问题又出现了。
由于单颗闪存的容量缩小一倍,闪存颗粒的使用寿命会成比例减少。除此之外,容量缩小也会相应增加写入放大,进一步损坏ssd的使用寿命和降低读写速度。
所以我们就不难理解,为什么容量越大的ssd,其性能往往会越好,寿命也会越长久。
看到这里,可能就有人问了,既然闪存成对并行可以提高ssd的读写速度,那是不是使用越多的闪存就越好?答案显然是否定的。
接口速度决定了ssd的速度上限,例如目前市售的satassd,最高连续读写速度基本在560mb/s左右。就算采用再多的闪存,最高速度也只能达到那么多。
除此之外,占据了ssd绝大部分成本的闪存颗粒,使用得越多,ssd的成本就会越高,显然是不利于推广和普及的。
目前satassd由于整体速度不高,所以差距并不明显。但在高速的nvmessd上,这一问题非常突出,因为nvmessd的高速度很大程度上就是靠闪存多路并行提供的,削减颗粒数量或者降低颗粒容量,都会造成速度明显下降。
同型号satassd的速度对比
同型号nvmem.2 ssd的速度对比