SSD固态硬盘的优缺点、选择要点及注意事项.doc_第1页
SSD固态硬盘的优缺点、选择要点及注意事项.doc_第2页
SSD固态硬盘的优缺点、选择要点及注意事项.doc_第3页
SSD固态硬盘的优缺点、选择要点及注意事项.doc_第4页
SSD固态硬盘的优缺点、选择要点及注意事项.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SSD固态硬盘的优缺点、选择要点及注意事项/thread-1461925-1-1.html 2010-7-7SSD固态硬盘,在较长时间的使用后,出现了读写性能下降的问题,我们现在要以我们的方式来看看如何解决这个问题,并告诉你面对市场上琳琅满目的SSD产品,应该如何选择呢。在较早前我们在对INTEL X25-M进行的评测中我们发现,当时的主流级SSD或多或少都有些性能方面的问题,而X25-M并没有这样的问题。而且,后来还发现,随着时间的推移,SSD的性能会出现下降的现象,而我们测试过的基于34nm MLC NAND闪存的INTEL SSD基本没有这样的现象,它们似乎对时间并不敏感。INTEL的X25-M系列固态硬盘开启了一个新的时代,随后三星和Indilinx推出了它们的SSD控制器,性能更高,而且没有性能上的波动,我们当然要测试这些产品。实际上,不论是普通的机械式硬盘还是基于闪存颗粒的固态硬盘,平滑的性能曲线并不足够,一个良好的固态硬盘还必须保证有较高的读写速率。OCZ Vertex系列基于Indilinx控制器,是更大众化的选择。性能的下降实际上来自于NAND闪存的工作原理。你可以最少只写入4KB的数据,但是一个数据区块是128KB(或者512KB),所以当你删除数据时它们并没有真正的被删除,除非是这个区块又重新写入新的数据。此时,会遇到一个讨厌的情况:读取-修改-写入。也就是说,当你实际只写入4KB数据的时候,控制器(也叫主控芯片)会先读入整个区块的内容(512KB),修改其中4KB的部分,然后再整个区块写入,而不是通常认为的仅仅是简单的写入4KB的数据。很明显的,写入512KB,而不是仅写入4KB的操作,大大拖慢了系统的速度。我们在测试中模拟了这种最坏的情况,性能下降的幅度有些很轻微,有些很严重。这就是我们今天这篇文章将要做的:对市场上基于Indilinx、Intel以及三星控制器的SSD产品进行测评,以找出它们中的最强者。不过,事情总是变化很快。请看下面的比较图表,在运行了TRIM指令(或类似的程序等)之后,这样的差别已经大大缩小了。看来,我们需要制订新的测试方法了。闪存基础知识:内存的速度非常快,读写均在纳秒时间内完成。不过内存的最大缺点是易失性,一旦掉电,其中的所有数据都会丢失(这个时间非常快,不超过一秒)。另一方面,常用的磁性存储(例如硬盘),速度很慢,基于物理结构,有读写的操作。目前最快的消费级硬盘读取数据的时间是7毫秒,而速度最快的CPU读取同样的数据只需要十万分之一的时间。我们把数据存储在硬盘上的唯一原因就是因为它们便宜,而且是非易失性,即便掉电,所有的数据都还在硬盘上。NAND闪存为我们提供了结合两者优点的选择,它们实际上是非易失性(虽然也有数据遗失的问题,不过是在十年以后),而且速度较快(数据的读写是微妙级,而不是毫秒级)。通过对一个N沟道MOSFET插入电子充电极,就可以构造出一个基本的NAND闪存单元。这样的闪存单元无须电力维持也可以很好地保持其中存储的数据信息。一个闪存单元可以保存一比特(bit)的数据,当成千上万个单元同时集成进一片芯片中时,就可以保存成千上万个比特的数据了,再大的规模就是上GB存储量的NAND闪存颗粒了这些闪存单元有规律地按行和列排列,一组闪存单元称之为一个闪存页面。目前一个页面的大小是4KB。NAND闪存不能按比特写入,只能按页面的大小写入也就是4KB大小。尽管对页面进行写入很简单,不过擦除它们就要复杂些了。受限于MOSFET的结构限制,对于NAND闪存中保存的数据,不能按单个闪存单元擦除,只能对整个“区块”进行擦除的操作。通常一个区块包含128个页面,也就是说,如果要对某个页面中的数据进行重新写入,实际操作是首先擦除掉这个页面和相邻的127个页面中的数据,然后再将新的数据写入到这128个页面中。请允许我重复一遍:改写一个页面4KB的数据实际执行的是擦除和改写512KB数据的操作。更糟糕的是,对页面的写入操作将直接影响到它的寿命。JEDEC规定的(multi-level cell,多层单元)式闪存颗粒的极限写入次数是1万次。为了避免闪存单元快速损耗的问题,必须在控制器中采取非常灵活的管理方法。一个设计良好的控制器必须将写入操作分散到尽可能多的区块去完成,必须避免对相同的区块执行一遍又一遍的写入操作。还有个必须要面对的问题是,有些存储的数据会频繁的更新,而另一些几天、几周、几个月甚至几年都不会更新。从你电脑的角度来说,并不需要知道控制器的这些操作细节,它只是向控制器发出写入数据的指令,对写入的数据进行分摊等复杂的操作任务必须由控制器自己独立去完成。是不是非常难以处理?不过还好,还不是完全没有办法。深入了解计算机的硬件技术是非常抽象的,在20年前,使用电脑需要你懂得汇编语言,后来的C、C+语言在程序员和硬件之间建立了一种抽象层,从而简化了开发过程,你可以以接近书面语言的形式更有效的控制和使用硬件。你可以编写更简单(而且更容易管理)的高水平代码,然后使用编译器优化它。同样的原则也适用于固态硬盘。最小的可写闪存单元是页面,实际上控制器能够直接进行写入操作的区域比单独的一个页面大得多。今天,我们在这里介绍一个逻辑页面的概念,是NAND闪存物理页面的抽象化概念。SSD控制器最直接的写入方法就是对页面的直接写入,在这种情况下,逻辑页面的数量等于物理页面的数量。不幸的是,这种方法有个很大的缺憾:跟踪开销。假如你的逻辑页面大小是4KB,而你的SSD容量是80GB,那么逻辑页面的数量将高达20,000,000个(实际产品是20,971,520个)。你需要一个速度很快的控制器(甚至是PC级别的处理能力),来对这么多的逻辑页面进行分类处理,这么多的逻辑页面,也需要更多更快的高速缓存/缓冲处理。这种方法的好处却是非常高的4KB写入性能。如果你的写入操作大多数都是4KB,这种方法将产生最佳的性能。如果控制器达不到同时控制/分类这么多逻辑页面的能力,那么就只有增加逻辑页面的大小。一个例子是将逻辑页面增加到一个“区块”(1284KB)大小,这大大减少了控制器需要同时进行控制/分类的逻辑页面的数目。仍然以上面的80GB SSD为例,此时的逻辑页面数目大致为163,840个,如此少的数目可以大大降低控制器的设计和制造难度,普通的嵌入式处理器即可胜任这样的任务。这种方法的好处是非常高的大文件顺序写入性能。如果你有很大的文件,那么较大的逻辑页面将是最佳的处理方式。你会发现,目前使用的数码相机,其对2MB12MB之间大小的图像文件具有最快的写入速度,就是这个原因(它们使用了较大的逻辑页面)。遗憾的是,连续写入性能和小文件写入性能不能同时兼顾。请记住,对文明用语C型NAND闪存的写入速率只是读取速率的1/3左右,而且在写入小文件时,这个差距会更大。如果你编写了一个8KB的文件需要写入,那么控制器实际会写入512KB的内容(以上面的例子,这是最小的可写入文件尺寸)。写入放大效应大大上升。还记得OCZ基于Indilinx Barefoot(大脚)控制器的Vertex系列SSD?它们的逻辑页面就是512KB大小。OCZ要求Indilinx提供新的更小逻辑页面的固件,Indilinx提供了,结果就是大大改善了4KB的写入性能。清理机制与写入放大让我们以某个餐厅举例,假定这个餐厅一共有200张桌子,一天的客流量是1000人,那么客流量与餐桌的比例就是5:1。在每个客人走后,餐厅都需要将使用过的餐桌、碗筷等物品清理干净,以备后来的客人使用。这也就是SSD的清理机制。请记住SSD的清理原理:可以按页面读取和写入,但必须一次性擦除整个区块。如果一个区块充满了无效的数据(例如文件已在系统级别覆盖),那么这个区块必须被擦除,然后才能写入。所有的SSD硬盘都有这样的机制,那就是清除无效的区块以备下次使用。当SSD才投入使用时,清理机制(算法)并没有真正进入实时处理的状态,使用几天、几周、几个月后,清理算法才会实时在后台进行处理。实际上写入的情况和此图非常相似。有数据写入时,控制器会分配一个新的区块,有效的数据和新添加的数据会写入到新的区块,旧的区块进行清理,然后将旧区块的地址信息写入“空白区块池”。控制器将已使用的区块地址从这个池中清掉,并且添加进来新的已清理区块地址,以备下次使用。当有写入请求时,从“空闲区块池”中给这个请求分配一个新的区块,将新区块的地址信息加到“数据区块池”。包含无效数据的区块被清理,然后将地址信息添加到“空闲区块池”。平均写延迟,甚至随机写延迟,都非常低。虽然平均写延迟很低,但是最大写延迟却很高(仍然比机械硬盘低),这是什么原因?我们一直在说固态硬盘的清理机制(算法)和区块数据写入重组,它极少对性能产生显著的影响(因此有超低的平均写入延迟),但是个别情况下,这样的操作处理却产生了较明显的影响。而这正是写入放大产生的原因。只有较少几个区块可用于写入的情况(很极端的例子)。在这个例子中,清理机制(算法)只能在少数几个空白区块中进行操作,具有较多无效页面的区块被选中进行清理,当这些区块被清理,其地址信息加入到“空闲区块池”中后,原有的有效数据才会被拷贝到空闲区块中,接下来才轮到新进入的数据进行写入等操作。在最右边,你会看到接受到写入请求和将数据实际写入对应的区块中间的操作周期。当考虑到SSD进行的清理机制时,你会看到写入数据发生的延迟,这种现象被称为写入放大。INTEL声称,它的SSD产品具有非常低的写入放大,不过1:1的写入放大因子在现实中不太可能。写入放大因子是指SSD控制器实际写入区块的容量总和与实际文件大小的比值。这个因子为1时是最为完美的,也就是说,你想写入16KB的文件,SSD实际写入了16KB的文件,但现实往往是残酷的,这样的完美因子目前还是非常难于实现的。更高的写入放大因子意味着SSD更短的寿命和更低的性能。因此,这是个很棘手的比例因子。数据重组与写入合并你或许记得,SSD能够获得高性能是因为采用了多个闪存芯片并行处理的缘故。这种方式对于较大的文件很有效率,因为较大的文件更容易采用分割/并行传输的方式读取和写入在这里,我们模拟一个128KB文件的并行写入情况。它被分割成了64KB的两个部分,然后同时写入到不同的区块中:假如我们现在读取这个文件,那么也是从这些不同的区块中同时读取,非常高效。请记住,我们前面讲过的却是小文件的随机读写性能。在PC上,小文件的读写是经常发生的,并且由于I/O操作的高延迟而成为一个难以解决的问题。下面,我们就来看看在这个超微型的SSD上,写入4KB的数据会发生什么。因为4KB是最小可写入尺寸,也就是说,这个尺寸已经不能再被分割,因此它只能通过一条通道写入。实际上,INTEL和其他的SSD厂商已经预先猜测到这样的情况,所以在他们的产品中,小文件并不是直接写入的,而是多个小文件组合成较大的文件后,再执行分割/并行写入。这样的处理方式并不会提高小文件随机写入的性能,因为这一切实际是被较大文件的持续写入给代替了。真正对性能产生影响的时候是在对小文件进行覆盖/重写的时候。大文件的覆盖/重写很简单,多个区块同时被清理。在小文件的覆盖/重写中,就不是那么简单了,在整个区块中,只有某个页面的数据需要刷新,其它页面中的数据保持不变。而且,这样的区块还不止一个。唉,对这些分散的区块进行处理又会是个耗时的过程。如果此时再发生写入的情况,那么就会是对每个区块都进行读取/修改/写入的漫长过程。当操作系统不支持TRIM技术的时候,对每个区块的写入操作都会有读取/修改/写入的过程,而且整个过程还有写入放大因子的不利影响。这就是写入合并方式的缺点。INTEL的控制器会尽力克服这样的情况,因此它的随机写入性能仍然很好。三星的控制器就没有针对这种情况处理的机制(算法)了。现在你可以明白对整盘执行持续写入会修复碎片区块带来的不利影响了,这样的操作可以把零碎的小文件串联成一个或几个大型的“连续文件”。这同时也解释了为什么固态硬盘的性能会随着时间下降的问题。你不用担心一定要向SSD中写入连续的大文件,实际上,你对SSD操作的文件有大有小,有连续也有分散,最后你的操作都会被控制器进行合并然后再真正写入到SSD上。写入寿命还有个因素影响着SSD的性能:写入均衡。每个文明用语C NAND闪存单元可写入的次数大约为1万次,超过这个次数,写入的数据就会变得不那么可靠。当然也可以使用SLC NAND闪存单元,它们可以提供10万次的写入,但价格会立马上升到2倍。1万次的写入次数并不多,不过SSD厂商都宣称自己的产品使用寿命为110年。最重要的是,全部SSD厂商都宣称自己的产品比传统的机械式硬盘更可靠。唯一的办法是赋予SSD非常聪明的算法,以及基于大量调查收集的事实:台式机用户并不总是在硬盘上进行非常大量的写入操作。想想你现在用的硬盘吧,你多久把它们全部塞满、删除,然后重新塞满一次?INTEL估计,即便你每天向硬盘中写入20GB的数据,X25-M还可以使用至少5年的时间。实际上,20GB的写入量大大高于你日常使用中的情况。例如:在个人电脑中,操作系统和其他的一些程序占用了不到100GB的空间(基于过去两周的统计结果),然后就是每天大约7GB写入的各种数据,让我们看看下面这些数据:如果我不再安装其他的程序,只是保持系统目前的样子,我的硬盘空间还剩余203.4GB可以用于每天7GB的写入。这意味着,大约29天后(假设SSD中的写入分配是完美的),我会把这个SSD填满。再假设我会用7天来备份这个SSD上的所有数据和程序。那么就是说,大约36天的时间,我会用掉这1万次写入寿命中的一次。简单的乘法算一下,就知道大约是36万天后这个SSD会挂掉。假设控制器对写入操作是完美的均衡操作,那么就是986年。实际上,NAND闪存中的数据最多只可以保存10年左右。这是假定了一个具有完美写入均衡算法的SSD,但正如你猜到的那样这是不完全可能的。写入放大因子决定了,写入的虽然是7GB的内容,但真正写入的超过了7GB的SSD区块容量。请记住,对整个区块的写入是读取/修改/写入的过程。最坏的情况下,我只写入了4KB的文件,控制器读取了512KB的整个区块,修改其中4KB的内容,然后再写入512KB的区块,并清理掉旧的512KB区块。虽然我只使用了262,144个区块中的一个进行写入,却同时影响到其他262,143个区块的写入寿命。当然可以对写入均衡进行深入优化以确保每个区块都得到平均的写入,不过却是以牺牲性能为代价的。备用空间INTEL 80GB版本的X25-M具有85,899,345,920个字节的存储空间(8010243)。硬盘制造商却将80GB认为是800亿字节,因为他们使用了1GB=10亿字节的定义。因此,SSD厂商也使用相同的定义。现在,800亿字节其实等于74.5GB,这就是在你的固态硬盘上能够使用的空间。操作系统只能使用800亿个字节,实际具有85,899,345,920个字节固态硬盘实际有多少空间?80GB。操作系统让你使用多少空间?74.5GB,多出来的5.5GB哪里去了?控制器将它们作为备用空间。INTEL的控制器是动态的,它使用剩余空间作为后备空间,直到你的文件膨胀占用更多的剩余空间。它只将非用户空间的7.5%作为自己临时的“写入均衡”(实际就是动态的备用空间),所以可以获得更好的性能。其它的控制器也许不是动态的,但它们也可以在固态硬盘接近塞满时提供较小的性能损失。不过,即将推出的TRIM指令使得INTEL大费周章设计的优秀算法很快变得过时和无用。TRIMTRIM是Windows 7中引入的专门针对SSD的新指令,这个指令很有趣,它实际上是让SSD的清理操作具有优先级的概念。在前面的那个极端例子中,当写入时只有很少的几个区块可用时,才会将那些只有部分数据的区块清理并合并写入,操作过程中甚至动用了备用空间。当具有TRIM指令时,操作系统只是从LBA表中清理掉相关的信息,并不执行真正的清理操作。TRIM指令告诉SSD控制器,可以排序并“规划”这些无用区块的清理工作,并将这些区块的地址信息添加到“替换区块池”中。一个使用中的SSD会使用备用空间来“中转”数据,大多数情况下,这个比例是7%左右。下面的图来自IBM苏黎世研究实验室:请注意,当增大备用空间比例时,写入放大因子随之下降。为了使写入放大因子等于1,我们的备用空间需要保持在10%30%之间,具体取决于硬盘上有多少数据是静态的。还记得我们刚刚说过的替换区块池?下面这张图其实是假设我们有多个替换区块池,并加入了动态数据进行对比(静态数据例如安装上的程序、生成的文档等等;动态数据例如交换文件、其它随机写入等等)。如果固态硬盘只使用了单块的替换区块池,那么对备用空间的要求也越来越高。备用空间在30%左右时,写入放大因子甚至下降到1.0了,这是最理想的情况。不过请记住,现在的消费级固态硬盘仅有67%左右的备用空间,甚至比我们在例子中的最小值10%还要小。相比之下,INTEL企业级的固态硬盘X25-E系列,具有更多的备用空间,大约是20%左右。TRIM指令可以帮助控制器达到类似X25-E那样较多备用空间的好处。固态硬盘上未使用的空间现在都已经被TRIM指令接管了,作为“替换区块池”使用。就像IBM的研究揭示的那样,这可以根据你的文件性质(动态或静态)大大提高固态硬盘的性能。性能退化更多的备用空间可以提供更好的随机读写性能,不过桌面台式机的随机工作量还没有大到能够使更多的备用空间产生明显好处的地步。而且,目前对SSD的评测都没有测试使用中的状态,只是新盘跑跑分而已。这使得越来越多的用户只将目光盯紧SSD的价格,想从SSD产品中挑出每GB价格最低的型号。使用TRIM指令可以把使用过的SSD性能恢复一部分,不过取决于你使用的SSD型号:根据不同的情况,所有三种控制器都可以从TRIM指令中获得好处,不过随机写入性能仍然出现下降,最糟糕的是三星的RBB控制器,几乎丧失了70%的性能,三星看来更需要TRIM。INTEL从G1到G2取得了一些显著的改善,测试的固态硬盘几乎没有丧失随机写入性能。这是因为INTEL对固件进行了微调并具有两倍大的缓存:更大的缓存使得控制器可以更好地跟踪、组织、管理和执行清理。单纯从性能上来说,G2完全具备挑战企业级X25-E的能力。不过,X25-E的寿命更长。Indilinx控制器的性能差距也很明显,持续写入测试下降明显,但它们却是在PCMark Vantage HDD测试中唯一没有出现性能下降的产品。其实,PCMark Vantage总分的差距更小一些。这可能意味着在现实世界中,Indilinx从TRIM指令中并没有得到多少的好处。这可能是由于Indilinx使用了静态的LBA映射方案,并且只在额外的空间中保留了单一的6.25%的备用空间的缘故。三星和INTEL在TRIM指令上获得了很大的好处。三星的表现从难堪到可以接受(这并不是指它的价格),INTEL的表现从领先到更优秀。是的,更优秀。旧事重提当新买的SSD投入使用的时候,一切都是那么美好:所有的区块中都没有任何数据,每次写入都是全速进行,一切都和想像的一样美好。随着时间的推移,有些区块中已经填充了数据(有效或无效),现在再对区块中写入数据,控制器就不得不执行读取/修改/写入/清理的繁琐过程了。较早前,我曾经模拟过最坏的情况:首先将SSD中塞满了各种数据,然后删除整个分区,再重新安装操作系统和运行测试软件。这很接近实际使用中的情况,因为它的所有区块都被写入,操作系统安装和运行测试软件则增加了一些随机写入的数据,这使得所有区块中数据的分布更接近长期使用SSD的情况,也使得SSD控制器的工作量大大上升,我喜欢这么折磨它。问题在于,如果一个SSD正确支持TRIM指令,格式化操作会擦除掉所有我故意塞进去的各种数据。我的关于测试使用后的支持TRIM指令的SSD就会变成和测试新的SSD没有两样了。为了证明这一点,我找了个支持TRIM的SSD,把它填满,然后格式化,再测试性能,性能并没有真正改变,清理操作需要较长的时间,不过性能基本是一样的。所以,我需要新的方式来测试。以前那种大压力的测试情况并不能得到它们真正的性能表现。毕竟,我不希望用不严谨的数据来误导群众。一旦可以在所有驱动器上启用TRIM,我就会在系统启动后将它们填满各种数据,有有效数据,也有无效数据,然后我会删除无效数据,并在整个过程中测试它们的性能。这将测试它们处理数据的方式以及TRIM的工作方式。遗憾的是,还有驱动器不能正确地支持TRIM。测试版Indilinx固件与TRIM运作良好,不过当系统进入休眠模式,重新唤醒后可能会丢失数据。囧。同时,这也与INTEL Matrix Storage Manager有点冲突,可能造成TRIM指令不能发送到驱动器。不过据说这些问题都会在年底前得到解决,现在就为TRIM欣喜若狂有点为时尚早。测试的第一阶段,我们需要转换我们的思路。为了模拟普通用户使用中的情况,我们将测试用的SSD首先进行安全的全盘删除,然后全新安装Windows 7 x64操作系统(非镜像方式),然后安装所有的驱动和程序,把剩余空间全部塞满各种文件,再删除这些无用的文件。在这个填充和删除的过程中,控制器必须跟踪所有区块中的数据变化,我们以此来尽量逼真地重现普通用户的使用方式和使用情况。我们使用了最新的IMSM驱动,所以TRIM不会对驱动器有效。这些可怜的SSD。接下来我们就将看看全新和使用过的性能数据。如果驱动器强制使用TRIM指令,我们不会手动将其关闭。INTEL新的34nm SSD:没你想像的那么大突破我花了一段时间才弄明白INTEL最近投放市场的SSD,主要是因为INTEL并没有公开的文档。INTEL一直刻意模糊有关的重要细节,只能通过测试得到的数字来猜测它们之间的不同。不过,经过几个星期,我想我已经明白了。G1-第一代基于50nm工艺的X25-MG2-第二代基于34nm工艺的X25-M进化到34nm让INTEL X25-M的价格竞争力大大增强。新的制程也使得INTEL可以改进控制器的性能。控制器的基本架构并没有变,但在技术上并不是另一块硅片那么简单(不仅仅是无卤素),是固件本身的改进。新的X25-M还具有两倍大的集成缓存。旧款的型号使用了16MB的三星166MHz缓存(CAS 3)。新的160GB G2使用了32MB美光133MHz缓存(CAS 3)。更多的缓存意味着控制器可以同时跟踪更多的数据,可以更好地整理和重组数据。我们看到这体现在4KB文件的随机写入性能上,大约提高了50%的水平。INTEL使用了16GB的闪存颗粒代替了旧工艺的8GB颗粒。一旦34nm工艺进入批量生产阶段,INTEL可能会在PCB的背面再集成十颗颗粒,提供320GB的型号。我相信这个时间会很快。34nm新工艺的驱动器在性能上相比旧工艺并没有明显的改进。请注意,我们使用了最新的Iometer进行测试,这和我们以前的测试不同,这个测试软件可以更好地填充整个驱动器,并提供更可靠的测试数据。从测试结果中可以看到这些:新的G2并没有快很多。事实上,在4KB文件随机写入测试中,它比全新状态下的G1要慢些。只不过,G2的性能并没有随着时间下降。所有测试的情况都是如此(G2没产生下降的问题)。是的,你没有看错。在这样的重载测试中,G2都是轻轻松松地应付了。这,真是可怕。G2在测试中全面领先,甚至,4KB随机读取项目领先11%之多。接下来,我们使用PCMark Vantage测试了这两款SSD产品,以更接近真实世界的表现,结果差不多。全新状态下的G1和G2成绩很接近,呈现交替领先的局面。PCMark Vantage HDD 测试套件展示了G2的真正潜力,大约比G1要快5.6%左右。对使用后的测试显示G2更领先一点,但不是非常大的差距,PCMark Vantage HDD测试套件的平均得分显示G2大约领先G1 7.5%。显然,34nm新工艺带来的不仅仅是更吸引人的价格,还有更多性能方面领先的因素。34nm新工艺的SSD还内置支持TRIM指令,尽管现在还没到用上的时候。INTEL称将在今年四季度提供一个可下载的新固件,仅有34nm的SSD可用于刷新支持TRIM。届时,TRIM在这些SSD中的表现将类似于现在TRIM在Indilinx手工运行的工具软件中的表现换句话说,几乎恢复到全新的性能。因为或多或少地依靠TRIM指令消减无效数据,G2的固件将和G1有明显的不同。事实上,如果我们稍稍修改下我们的测试方式,我们可以在PCMark Vantage测试中使G1得到更好的成绩。在我们较早的测试中,我们首先将驱动器上填满各种数据,然后使用镜像文件进行恢复。恢复过程帮助清理了驱动器上的碎片,并确保备用空间得到了一定的使用。如果我们不使用镜像文件恢复,而是全新安装操作系统,最终会得到一个更为分散的状态,这种情况应该在日常使用中不会出现,因为一般人都会在清理和安全擦除驱动器后才开始安装操作系统,不过这种方法正是绝好的展现G2本领的途径:G2处理碎片的方式与G1相比发生了实实在在的变化,不如G1那么优雅。很难说这是一种倒退,不过,显然是INTEL指望借助TRIM指令使得G2可以获得和G1一样的性能表现,如此折中大约是为了保持G2在使用后仍然能保持较高的随机写入速度的缘故。我应该指出,假如没有TRIM的支持,G2在测试中会比G1更慢。测试只是将两者之间的差异放大而已。总的来说,G2是更好的选择,不过这得看TRIM的支持程度。G1会随着时间的流逝降低性能,G2会在你填满它之前出现性能下降。我们目前不知道INTEL公司会在新的固件中增加些什么新的东东我不想来告诉INTEL提供什么样的产品才会成功。没有什么能够阻止INTEL在G1中提供对TRIM的支持。我更愿意假设INTEL已经在内部测试中通过了G1对TRIM的支持,只是没有放出新版的固件而已(公认的漫长过程),但是从市场的角度来看,这又何必呢?G1即便是在使用后,也比最快的Indilinx SSD要快。在4KB随机写入测试中,G1甚至比基于SLC闪存颗粒的Indilinx要快。INTEL不需要这么快抛弃G1,即便是G2更快的情况下。不过,我想,INTEL用它的第一代X25-M掏出了慷慨拥趸的600美元,这是每时每刻都在真切发生的事情。现实让我们不得不叹气。Indilinx,克隆、克隆G.Skill、OCZ、Super Talent以及Patriot都拿来了他们的SSD产品进行测试。如果不看外面的商标贴纸,它们之间实在没有太多的不同。甚至它们的包装盒也非常相似,我真的搞不懂,似乎它们之间只是外包装图案有所不同而已。它们之间还是有些细微的差别。Patriot Torqx提供了2.5转3.5适配器,一个不错的配件。同时,Patriot Torqx还提供了10年保固,是基于Indilinx控制器SSD产品中最长的。OCZ紧随其后,提供3年保固,Super Talent和G.Skill为2年。Indilinx目前还是家小公司,所以在固件开发中他得依靠客户帮助确认、测试和反馈。就像我以前说过的那样,所有Indilinx的客户得到的都是相同的固件修正,只不过他们中的一些重新命名固件的版本号,其他人没有。OCZ最新的固件是1.30,G.Skill、Super Talent和Patriot称为1571。Indilinx Barefoot(大脚),基于ARM处理器核心在所有的Indilinx系中,OCZ和Super Talent与Indilinx的关系最为密切。得益于OCZ和Super Talent对生产和测试的积极帮助,他们比其他的SSD厂商更先得到新版的固件。现在你已经不需要跳线来升级固件了,前提是你的固件版本比1275更高。如果你还在使用以前的版本,那么你需要先升级到1275版本固件,再升级到更高的版本。这个升级包含很大的运气成分,很多SSD厂商并不直接提供1275版本的固件,所以想要升级到最新版固件成为几乎不可能的事情。值得庆幸的是现在市售的版本几乎都是最新版,这个问题主要是影响到那些早期的用户。性能,正如你所预料的,无论制造商是谁,都非常接近。性能的差距取决于所使用的闪存颗粒和控制器,这就是为什么OCZ Vertex比Patriot Torqx要慢,但又比Super Talent UltraDrive GX要快。不同的制造商和不同的闪存容量左右着性能的表现,越大的容量也具有更高的性能,在这里256GB的版本比128GB的版本要快,同时128GB的版本又比64GB的版本更快参与测试的驱动器使用了相同的固件(1571),只有一块Super Talent使用了测试版的1711固件,内置了对TRIM的支持。当综合审视这些SSD产品后,我认为Patriot Torqx更适合桌面用户,因为它包含一个3.5适配器,而且还有10年的保固(很难说Patriot会在10年的时间里面有哪些更换策略)。价格也是它们之间较大的不同。Wiper工具微软唯一支持TRIM指令的操作系统只有Windows 7。对于Windows XP和Vista用户来说,即便SSD支持TRIM指令,操作系统也无法发送TRIM指令。幸运的是有一个解决办法,是由Indilinx首先提供的不是INTEL,这真是Indilinx用户的福音。这个工具从操作系统中找到所有可用的LBA地址(实际就是剩余空间),然后将空白地址清单发送给SSD,并告诉SSD清除这些LBA地址按照一定的优先顺序。它不会破坏有效的数据,关键在于它也不应该破坏有效的数据。一旦这些区块中的数据清除完成,性能又可以恢复到全新时的状态。这其实是一个非常简单的解决办法。因为操作系统只需要将删除文件的TRIM指令发送给SSD就算完事了,剩下的工作是SSD在内部完成。操作系统不支持TRIM?只需要运行Wiper工具,要求操作系统定位/标记那些不再使用的区块即可。你可以得到相同的结果,只是需要一个额外的步骤:运行Wiper工具。它其实包括了所有的剩余空间(LBA)并告诉控制器根据优先权处理这些区块,很聪明的方法我对这个工具进行了测试,可以看到,几乎恢复到全新时的性能:你现在可以从生产商那里得到这个工具,而且还有32位和64位的版本(仅适用于Windows,从XP到7)。我发现这个工具在IDE模式下工作最好,RAID或者AHCI模式可能要多花几个小时的时间而且还有其它的小问题。正常情况下,它仅需要几分钟就可以把整个SSD处理完毕。你并不需要经常性的运行这个工具(而且基于Indilinx控制器的SSD性能下降并不是那么厉害),一旦获得官方对TRIM的正式支持,Windows 7用户将不再需要这个工具。不过在一切还没有明确之前,有个小工具总比没有的好。后台碎片收集Indilinx另外提供给用户的一个提高使用后性能表现的控制技术是后台碎片收集,也就是说,当系统闲置的时候,会自动在后台进行空间整理的操作。这个功能实际上是三星率先在其RBB控制器上引入的,但是三星控制器在使用这个功能时多少有点问题,并不够稳定。其实,这个机制的工作原理是将驱动器上的数据重新组织成相对比较完整连续的状态,或通过查看驱动器上的文件系统,并使用TRIM指令对文件进行处理。Indilinx和三星虽然都提供碎片收集的算法机制,不过两者的工作过程并不相同。看来,他们已经确定这种机制对抑制性能下降有一定的作用。在Indilinx的方案中,并不仅仅是使用TRIM指令对驱动器进行处理,驱动器并不知道如何进行TRIM处理:它只不过是跟踪所有的数据。相反,驱动器重新安排它上面的数据,以获得最大的性能恢复。在三星的方案中,需要有兼容的文件系统(据说是NTFS),然后数据在TRIM指令的作用下进行相应的清理处理。这种机制大概不会对笔记本用户的使用时间带来什么影响。另外,很难说这种机制是否会影响到驱动器的使用寿命。如果你什么也没有做的时候,驱动器反而在进行大量的读写操作,难说你不会担心。遗憾的是,这种机制没有办法关掉。Indilinx步三星的后尘推出了后台碎片收集机制,我个人认为这是一个错误。就个人而言,真正的TRIM支持(或者至少是类似Wiper工具的程序)才是今后几个月SSD厂商应该努力的方向。我并不喜欢后台碎片收集这样的东西。Indilinx对TRIM的早期支持正如我在前面提到的,Indilinx现在对OCZ和Super Talent的SSD推出了早期的支持TRIM指令的测试版固件。OCZ称这个固件为1.42,Super Talent则称之为1711。非常遗憾的是,这个固件当电脑进入休眠模式时会造成数据的丢失,而且现在他们已经将这个测试版的固件从网站上撤掉了。TRIM指令看起来做了两件事:一是删除文件并清空回收站(真正的删除它们),另一件事就是格式化驱动器上未使用的空间。或者说,控制器简单地删除了一个分区而不是对整个驱动器执行TRIM指令,我还不习惯它的这种工作方式。在正常使用情况下,TRIM可以提供相对新盘90%以上的性能表现。在对TRIM的支持上有一个很大的局限性,那就是只能工作于支持的操作系统上(Windows 7或者某些Linux版本),并且还只能使用支持的驱动程序。在Windows 7下面,就只能使用微软的IDE或AHCI驱动(也就是说,不能安装任何芯片组驱动程序)。更遗憾的是,如果你使用了INTEL芯片组的RAID模式(不管是真正的RAID还是仅仅这种模式),Windows 7载入的Intel Matrix Storage Manager驱动并不能透过TRIM指令使之到达驱动器。我期望INTEL会在今年四季度发布34nm SSD产品新版固件的同时来修正这个问题。OCZ的聪明之处:便宜的Indilinx SSD产品三星的SSD产品主要供于OEM,并且三星同时向OCZ和海盗船这样的厂家提供闪存颗粒。三星实际上在初期阶段向基于Indilinx控制器的SSD提供所有的闪存颗粒,不过,他的颗粒价格后来上升了。OCZ很快的转向其他厂家购买闪存颗粒,这就是OCZ Vertex系列,我们都很熟悉的产品。OCZ Agility系列,它们的控制器和Vertex系列完全相同,都来自Indilinx,但是却采用了INTEL 50nm工艺闪存颗粒或者东芝40nm工艺闪存颗粒。像其它基于Indilinx的产品一样,我手上的Vertex系列也是采用了三星的闪存颗粒。Agility系列使用的是INTEL 50nm闪存颗粒,少数比较幸运的Agility用户购买到的是东芝40nm闪存颗粒,它们速度要快一点点。闪存颗粒越慢,当然SSD的读写性能也越慢。这里我实际上比较的是Vertex Turbo,它比大多数基于Indilinx控制器和文明用语C颗粒的SSD产品都要快上一点,在PCMark Vantage套件测试中,Vertex比Agility大约要快上05%,在低层次的测试对比中,要快上大约414%。价格方面,128GB的产品要相差12%,64GB的产品相差9.5%(目前还没有256GB的Agility产品)。如果你想进入SSD的阵营,而且还不想花太多的钱,那么Agility系列会是比较合适的选择。我想OCZ推出Agility系列是个不错的主意。我不敢肯定的说,但个人建议只要闪存颗粒是可靠的,不用在乎是谁制造的。并且我愿意承受性能上的一点点差距以达到更具竞争力的价格。OCZ Solid 2我们刚已经说过,OCZ的Agility系列其实是把Vertex系列换成了更便宜的闪存颗粒,那么他的Solid 2系列呢?OCZ最近宣布推出Solid 2系列SSD产品,这个名字听起来有点后怕(旧的Solid系列基于JMicron控制器),但它的命名方式类似于Agility。第一款Solid 2产品现在已经释出,与Vertex系列和Agility系列相同,仍然使用了Indilinx控制器。唯一的不同在于,它使用了INTEL 34nm闪存颗粒。最初的Solid 2产品规格非常低,我已经确认,它们标记的比较保守。OCZ现在每天都在调整Solid 2的性能,并且只是简单的宣布接受预订。虽然目前得知Indilinx控制器与INTEL 34nm闪存颗粒之间有些问题,不过OCZ的工作也取得了一定的进展。SSD阵营的竞争一直比较白热化,这样的竞争反应在所有的方面。OCZ宣称自己的SSD产品会比INTEL的产品更便宜(至少在每GB价格上),而且OCZ现在还扩充了自己的阵容。对于OCZ的Vertex系列和Agility系列,我们已经很熟悉了。Vertex EX系列实际上是采用SLC颗粒的版本,现在OCZ又推出了新的Vertex Turbo系列。Vertex Turbo实际就是Vertex,不过控制器和内置缓存的频率更高:180MHz,Vertex是166MHz。控制器其实完全一样,不同的只是频率提高到180MHz。OCZ帮助Indilinx改进其控制器,作为补偿,Indilinx提供给OCZ频率更高的控制器。随着频率的提升,可能会缩短控制器指令的执行时间几个纳秒。问题是,现在的性能瓶颈在于闪存颗粒,它们的执行周期以微秒记,完全抵消了几个纳秒能够带来的好处。换句话说,不要对性能的线性提升抱有期望。我们已经看到,基于Indilinx控制器的相同SSD产品之间也有几个百分点的差距。所以,为了使测试尽可能的精确,我首先测试了Vertex Turbo的性能,然后,刷入Vertex固件,将其作为Vertex进行测试。实际上也就是将控制器和缓存的频率调低到166MHz。正如所料,它们之间只有很少的性能差别。你可以从基于Indilinx控制器和文明用语C闪存颗粒的任何两个SSD产品之间看到这种微弱的差异,甚至我们手上的Patriot Torqx都和Vertex Turbo一样快。不过,具体到价格上,Vertex Turbo却要贵得多。这样的价格甚至超过了INTEL 160GB版本的X25-M,绝对不值得购买。我和OCZ的CEO,Ryan Petersen谈论过Vertex Turbo系列存在的价值。像往常一样,他告诉了我他的远见。他希望未来能够在Vertex系列中使用相同的180MHz控制器,并且价格保持不变。他的意图是,在基于Indilinx控制器的相同价位的SSD产品中提高OCZ产品的竞争力。虽然我不建议在Vertex Turbo系列上多花钱,但是,如果OCZ真能把Vertex系列控制器的频率提高到180MHz,我也不会抱怨什么。三星的问题最后要介绍的SSD厂家是三星。三星提供苹果公司MacBook、MacBook Pro产品线所使用的SSD驱动器,三星提供联想X300上使用的SSD驱动器。事实上,如果你从主要的OEM厂商处购买预装了SSD驱动器的整机,这些SSD都来自三星。坏消息是,它们的表现都不好。下面是新盘4KB随机写入性能比较,其中基于三星RBB控制器的是最新产品4.4MB/s,三倍于西数VelociRaptor,但却是更便宜的Indilinx驱动器的1/3下面是使用后的产品之间的比较,看看机械硬盘的数据吧。使用后的数据显示,三星的速度掉在了机械硬盘的后面,很可怕吧!这样对待三星很公平,你没看错,这不是JMicron的糟糕性能。三星真的不值得你掏那么多的钱去购买。推出三星RBB控制器SSD产品的至少有两个厂商:OCZ和海盗船。OCZ Summit系列以及海盗船P256均基于三星RBB控制器现在那些OEM厂商提供的基于三星控制器的SSD产品往往是些更旧的型号,控制器还是上一代,性能更差。我与那些提供基于三星RBB控制器SSD产品的厂商进行过交谈,了解了一些销售方面的数据。现在三星几乎不再提供SSD产品了,基于Indilinx控制器的SSD产品和三星RBB控制器的SSD产品之间的出货比现在已经超过了40:1。如果最终用户能够非常聪明地选择Indilinx或者INTEL,他们为什么还会喜欢苹果和联想提供的单一选择?如果你有独立的能力可以选择Indilinx或者INTEL的SSD产品,那就千万不要选择这些OEM厂商提供的SSD产品清单。三星认识到自家SSD产品在使用后的性能下降是由于第一家推出不太成熟的后台碎片收集算法所造成的,不过,即将到来的官方对TRIM的支持可以很好的解决这个问题。很棒吗?不完全是。目前的最终用户无法得到任何更新的固件。更糟糕的是,即便是像OCZ或者是海盗船这样的公司也无法对固件做出任何修正。如果你想得到更新的固件,那么最后只有去找三星公司。我忍不住想说,这是非常荒谬的。如果你有幸购买到具有后台碎片收集算法的三星SSD产品,就像我刚才说过的,随着对TRIM的支持,性能下降并不是什么大的问题了。那么如何知道呢?打开设备管理器,选择SSD属性,详细信息,在下拉列表中选择硬件ID,那么就可以看到固件版本了。版本1801Q以前不支持后台碎片收集算法,版本18C1Q及以后的版本才支持你如何确保你有正确的固件版本?只有运气和祈祷。告诉你一个好消息,新的三星产品实际上具有更好的持续写入速度、持续读取速度和随机写入速度。这些更新的驱动器也高度地兼容,测试中表现也不差。而且也已经提供给主要的OEM厂商。不过,它们的随机写入性能仍然是最差的。它们也将在今年晚些时候正式支持TRIM,这将有助于保持性能不会下降。不过即便如此,它们的速度仍然会比Indilinx产品慢。没有类似的Wiper工具和较新的固件,对TRIM的支持也让人不抱太大的希望,三星的驱动器实在让人没有兴趣。你需要SSD吗?相对于机械硬盘,SSD仍然是突破性的技术。短时间内很难说服某人去购买SSD产品,不过我想强调在SSD和机械硬盘之间的巨大差异。现在网上也有很多的性能比较文章,除了对单个硬盘的比较,还有SSD与机械硬盘RAID系统之间的比较,我们这里也会有类似的比较。在我的测试中,我使用了一种更新鲜的方式:启动电脑,引导进入操作系统,然后启动一些日常应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论