存储 频道

巨大进步 Intel第二代34nm SSD权威评测

  为什么第二代34nm X25-M SSD的性能这么强呢?这有很多方面的原因,我们首先指出,这个和缓存有很大关系,为了搞清楚这个问题,我们要首先来看看SSD的工作机制:

  通常,在MLC中,一个晶体管可以保存两个位的数据(SLC只能保存一位),把多个晶体管聚集到一起,称之为为一个page(页面)。页面是可以写入NAND闪存的最小结构,你无法像硬盘那样,只改写一位,或者数位的数据。大部分MLC NAND闪存的一个页面的大小是4KB。


NAND晶体管原理图

  多个页面就组成了一个block(块),在Intel的MLC SSD(第一代如此,第二代应该也如此)中,一个块包含128个页面(也就是512KB),块是可以擦除的最小结构。当写入SSD时,一次必须写入4KB的数据;当从SSD擦除数据时,一次不得不删除整个512KB。不过擦除一般发生在写入新数据的时候,如非快速的格式化,以及在删除但未清除的文件尸体上写入文件。在空白区域上写入文件不需要先擦除。

  以上就是一些基本的原理,它们对SSD的性能是怎么样的呢?首先,它在MLC本身较为缓慢的写入性能上面进一步地限制了写入性能:为了改动一个页面(4KB)上的一个位或者几个位,你需要写入整个4KB;如果你在装满了文件的SSD当中删除文件再写入,那么你要先进行擦除文件才能进行写入——并且要先读取这个块中存储的有用的数据,这个问题叫做Write Amplification(写入放大)。这也造成了SSD的整体写入性能看起来比读取要低。

   这些问题可以通过缓存来得到缓解,大量随机的写入数据经过重新映射,有顺序的写入,而在这之前,SSD就已经报告任务已经完成。没有缓存的SSD则只能按照顺序来忍受写入放大的痛苦。此外,业界也开发了一种叫做Trim的技术来弥补这个问题:在IO空闲的时候,通过Trim技术,SSD将会自行整理记录块结构,以降低可能会发生写入放大的影响。34nm X25-M据说会在未来的Firmware中提供Trim特性支持,但是50nm X25-M就没这么幸运了。不管如何,目前的Windows 7和34nm X25-M(Firmware 02G2)还没看到有Trim支持的现象。

  为了体现出34nm X25-M SSD在相关方面的性能,我们进行了下面简单的测试:512B、4KB、64KB、1MB几种IO块大小下的随机读写性能:


IOMeter 2006.07.2性能测试:随机IOps
 
1MB的随机IOps达到了269,这意味着269MB/s,达到了34nm X25-M缓存芯片的带宽极限
 

IOMeter 2006.07.2性能测试:随机IOps

  可以看出,配置了32MB缓存的34nm X25-M在各种数据块下的表现都很不错,这表明无论在什么样的IO状况之下,34nm X25-M都能很好地完成任务——除了前面提到过的512B在大队列深度下的情况,在Intel修复这个问题之前,最好避免使用高队列深度的512B块大小。然而从Windows Vista起磁盘IO就已经倾向于使用更大的IO区块,因此这种情况不用太担心。


IOMeter 2006.07.2性能测试:MBps

 


IOMeter 2006.07.2性能测试:MBps

  可以看出,对于Intel的SSD来说,0.5MB或者1MB的操作区块是比较好的,上图使用的是传统的64KB区块来进行的最大传输速率测试,结果略不及在前面的图中的1MB区块性能。

0
相关文章