你是不是在琢磨没有6Gb/s SATA连接力的系统SSD升级的潜在优势?本文中,我们对几个不同的固态存储架构进行了评测,以帮你确定使用较旧机器损失了多少性能优势。
当涉及高端PC硬件时,提高性能总是会引发瓶颈问题。还记得2008年英特尔在其开发者论坛公开宣布,下一代处理器的速度将远远超过现代硬盘驱动器,该公司告诉我们,如果没有比传统磁盘更快的处理器,我们的测试结果将会受到阻碍。这很疯狂吧?然后英特尔推出了其第一代X25-Ms。
当时,SSD的魔力并不在于它可以通过你的SATA端口处理令人眼花缭乱的数据量(虽然当时SSD可以做到),而是固态技术可以瞬时速度处理存储需求的能力。响应时间并不需要很大的管道,所以即使使用较旧平台的用户也可以享受闪存的优势。
随着固态硬盘的发展,它们已经变得非常快了。现在,固态硬盘几乎能够完全兼容任何你插入的SATA端口,而且响应时间仍然如闪电般迅速。
所以,我们提出的问题是:你真的需要一个能够提供6Gb/s传输速率的平台让你享受现代存储力量吗?如果你使用的是旧机器,新硬盘驱动或固态硬盘可以改变你的系统性能吗?这两个问题是我们这篇文章需要探究的问题。
在我们进行测试时,我们采取了一切可能的措施来缓解潜在瓶颈问题,这通常意味着需要使用6Gb/s SATA端口。这也正是为什么上述问题无法解答的原因。我们没有使用我们常用的方法,而是退了一步以更好地代表现实世界的的情况:很多用户面临升级的问题,并且没有足够的资金进行一次全面的检修。
▲来自Intel、Crucial、Samsung和SandForce合作伙伴的固态硬盘
虽然有很多供应商在销售固态硬盘,而且这些供应商的产品组合中有很多型号,但控制器、NAND闪存和固件的独特组合的数量比你想象的更少。
因此,我们可以很快地将我们测试的范围缩小到英特尔的SSD 320(基于该公司的专有控制器硬件),三星的830(同样基于专有控制器)、Crucial的m4(和很多其他驱动器一样,使用Marvell控制器) 以及OCZ的Vertex 3(第二代基于SF-2200固态硬盘)
是的,这意味着我们错过了对一些细微之处的研究,如在异步ONFi、同步ONFi和Toggle DDR内存间转换。本文中,我们更加侧重于对一般驱动行为的测试,而不是MB/s的诧异差异。
接下来,你将会看到我们使用了较高容量的驱动器来进行测试。这是我们经过深思熟虑后做的决定,以更好地体现每个架构的性能潜力。当随着容量下降,性能自然而然地会下降,但这并不是我们想要测试的主题。以下是本次测试所使用的平台及相关硬件介绍。
测试用硬件
基准测试内容
一如既往的,我们使用PCMark 7以及我们自己的Storage Bench v1.0来帮助我们测试存储性能。
▲基准测试结果对比
从接入3Gb/s端口的最慢的固态硬盘到接入6Gb/s接口的最快固态硬盘,这里出现的结果范围也很广。
例如,当接入3Gb/s时,Crucial的256 GB m4从168MB/s下降到140MB/s,虽然168MB/s数字本身并没有超过3Gb/s连接的最大限额。然而,这里的性能下降达到了17%。
相比之下,英特尔的SSD 320相对来说影响较小。比较SSD 320是只能使用3Gb/s的驱动器。
Crucial的m4在PCMark 7中并没有出现那么明显的性能下降,这个测试更强调随机传输,在这种传输中,较窄的管道并不会限制整体吞吐量。
▲PCMark 7测试结果
在最快和最慢固态硬盘间仍然存在明显差异,所有6Gb/s产品几乎都排到前列。正如我们在60/64GB固态硬盘评测中所指出的,我们改变了使用 Iometer测试的方式。在过去,我们通过由四名活跃在Iometer的工作人员来测试随机传输,这模拟了线程环境,每个工作人员代表访问驱动器的不同 应用程序。然而,这种方法太过于乐观,因为四名工作人员都有一个未完成的I/O操作,这实际上也就形成了队列深度4的情况。为了让测试更加现实,我们将工 作人员的数量减少到一名,也就是队列深度1的情况。
我们还对测试进行了两项额外的调整,更好地测试出我们想要的结果。平均桌面工作负载会面对很多突发的数据传输。然而,我们之前的方法强调的是持续性 能。为了试图反应更现实世界的结果,我们的Iometer脚本现在运行1分半钟。而我们之前的脚本运行五分钟。此外,我们测试队列深度从0到31,以3递 增,因为SATA的本地命令队列扩展只支持这样。
随机读取性能
例子包括防病毒扫描和Word输入
▲4K随机读性能测试结果
在队列深度1中,每个SSD执行类似的3Gb/s或者6Gb/s连接,除了基于SandForce的Vertex 3。
当你点击队列深度7,有10个未完成的命令,3Gb/s标准限制了整个领域到200MB/s。
有趣的是,Crucial的m4远远低于竞争者6Gb/s驱动器,虽然当接到更快接口时,它的性能会提升。
▲4K随机读性能测试结果
对于另外两个驱动器(三星的830和OCZ的Vertex 3),SATA 6Gb/s在队列深度4和更高队列深度展示了其优势。一旦你打开七个未完成命令,这个接口允许这些驱动器提供超过第二代端口的吞吐量。
随机写入性能
例子包括电子邮件,文件压缩,网页浏览
▲4k随机写性能测试结果
正如下图所示,三星的830、Crucial的m4以及OCZ的Vertex 3在介入3Gb/s接口时,会损失一些性能,即使在队列深度1,会导致9%的性能下降。所有这些测试结果都比第一代SATA接口要低。
虽然英特尔的SSD 320在这个测试中并没有让人留下深刻的印象,当你移动到更高队列深度时,它与其他固态硬盘之间的差异变得更大。例如,在超过10个未完成I/O 时,240 GB Vertex 3和 256GB m4介入3Gb/s端口时最高为180MB/s,这比英特尔的SSD 320快了70MB/s。
▲4k随机写性能测试结果
一旦当你切换到SATA 6Gb/s,240 GB Vertex 3和256 GB m4速度大大加快。在队列深度4以上,这两个驱动器很轻松地超过了200MB/s。
连续读性能
例子包括文件复制,转换,游戏加载,看视频,视频编辑
▲128K连续读性能测试结果
在连续读取中,每个接入SATA 3Gb/s的驱动器提供的性能在200-300MB/s之间。在这个测试中,英特尔的主流SSD 320与高端6Gb/s驱动器看齐,因为第二代SATA所规定的上限。
▲连续读测试结果
启用6Gb/s数据速率允许m4、830和Vertex 3达到350-550MB/s之间,当然,SSD 320并没有出现任何性能提升,因为它是3Gb/s驱动器。
可压缩连续写性能
▲128K连续写性能测试结果
当涉及处理可压缩数据时,基于SandForce的固态硬盘享受了特别的优势,因为该公司的架构部署了压缩技术来实现极快的速度。这也解释了为什么240 GB Vertex 3遥遥领先,也是唯一突破500MB/s的驱动器。
▲连续写测试结果
三星的256 GB 830名列第二,连续写入速率在400MB/s附近,但只发生在队列深度高于2的情况。要记住只有这两个驱动器时接入SATA 6Gb/s的驱动器。
▲SandForce主控芯片实物图
如果你坚持使用SATA 3 Gb/s,比较难挑出一个胜利者,因为这些驱动器都位于180-280 MB/s之间。有趣的是,Crucial的m4在6Gb/s配置中队列深度1时,性能最高的驱动器。但是一旦你调整到更多未完成命令的情况,你会看到使用 SATA 6 Gb/s和3 Gb/s的驱动器之间没有差异。
▲DuraClass技术拓扑图
我们只是强调SandForce的技术以及其处理可压缩数据带来的优势。然而,这还只是故事的前半部分。SandForce坦诚不可压缩连续数据让 它们的驱动器无法展现优势。这并不是秘密。他们的DuraClass引擎的基石是基于这样的前提,即你的大多数桌面工作负载由可压缩数据组成。虽然事实上 也是如此,但是你也会碰到必须处理不可压缩数据的情况,例如下面列出的情况。
不可压缩连续写入性能
例子包括复制/创建多媒体,归档处理,加密,一些游戏,录像
▲128K连续写性能测试结果
所有固态硬盘(包括基于SandForce技术的固态硬盘)在处理不可压缩信息时,都表现出相同的连续读取性能。这是个好消息,因为大多数人读取的数据要比写入的数据要多。然而,上图展示了SandForce的竞争对手最渴望指出的事情,即m4、830和SSD 320提供相当一致的连续写入速度,不管他们操作的是什么信息。另一方面,基于SandForce的固态硬盘暴露了其弊端,当这两种不常见的情况出现时:写入不可压缩数据。
在3Gb/s配置下可压缩数据(绿色实线)和不可压缩数据(两条虚线)之间的差异并不明显。如果你使用的是没有 SATA 6Gb/s连接力的旧系统,第二代SandForce驱动器写入不可压缩数据的速率约为240MB/s。升级到更现代的芯片只会提高一点点速度,这意味着如果你的工作主要涉及写入不可压缩数据时,升级到新系统并不会带来明显改善。
在另一方面。当涉及操作可压缩连续数据时,从3Gb/s到6Gb/s的转变带来非常大的影响。因为你的桌面工作负载主要是可压缩数据,所以你真的需要一个6Gb/s主板来享受基于SandForce技术的固态硬盘带来的好处。
在接受了这些真实世界测试后,我们正朝着这个方向继续测试。我们基于跟踪的测试为你提供了一个整体的性能图,而更具体的随机/连续读取/写入测试让我们深入到更有针对性的工作负载。
然而,我们仍然还没有回答最开始的问题:是决定在旧平台使用新固态硬盘,还是购买新平台?我们的测试是否指出了对6Gb/s连接力的需要?
▲文件复制测试结果
我们知道大多数真实世界测试都是在队列深度1,并且涉及可压缩数据和不可压缩数据的混合。在这个特殊测试中,我们使用了11GB视频剪辑以及一些可压缩的较小文件。
这里事情变得很有趣,因为这种工作负载的性质,从SATA 3Gb/s转移到6Gb/s并没有太大的改善。例如,Crucial的m4在两种情况下的速率几乎一样。
是的,三星和OCZ驱动器出现了可量化的效果。然而,事实上,这是与与最慢的固态硬盘相比,英特尔的SSD 320和西数的Scorpio Blue(通常安装在笔记本中的硬盘)。现实情况中,这场战斗并不是发生在最慢和最快固态硬盘之间,而是硬盘驱动器和固态硬盘之间的斗争。
▲
使用由可压缩连续写入和不可压缩连续写入以及相当数量的随机写入操作组成的Steam来备份游戏。这个任务还涉及主机处理,因为单个文件被打包以归 档。这个结果在3Gb/s和6Gb/s之间并不明显,甚至在固态硬盘和硬盘驱动器之间也不明显,因为令人惊讶的是,存储并不是一个大的瓶颈。
当然,我们知道存储性能只是测试结果的决定性因素之一。还记得我们的办公效率分析吗?在30分钟的防病毒扫描中,我们的固态硬盘只有281秒在忙碌。在本质上,这个任务并不能反映固态硬盘的优势。
为了让测试更加困难,我们必须添加并发操作。例如,我们仍然可以传输文件从/到固态硬盘,同时备份操作也在进行。在硬盘驱动器中,相同多任务工作负载会减慢操作。
▲
测量开机时间是体现固态硬盘优势的测试之一。你得到一个随机和连续读取以及一些日志写入操作的混合数据,在windows开机时队列深度很容易超过4,因为操作系统会在同一时间访问多个文件。
固态硬盘之间的差异很小,而硬盘驱动器则远远落后。不要指望SATA 6Gb/s会让你在这个测试中获得一些优势。
如果你将全部时间花在找寻全面存储测试基准,能够尽可能地涵盖所有存储工作负载的情况,那么你最终无法了解存储性能情况。
这些指标对于对比固态硬盘至关重要。正如你在真实世界测试中所看到的,几乎不可能使用主流工作负载在OCZ的Vertex 3、Crucial的m4或者三星的830之间选出胜利者。缩小到特定配置,例如4KB随机写入或者128KB连续读取更加容易对每个驱动器架构的特质得出结论。
但是所有这些测试中的结果并不一定能够转化为用户体验方面的正增益。在测试数据吞吐量的25%的变化会实现相应比例的减少windows开机时间或者加快游戏备份吗?不一定。
如果你是超级用户,拥有6Gb/s的主板将会让你的6Gb/s固态硬盘的优势很突出。然而,如果一个朋友问我们他是否要升级他的系统才能购买固态硬 盘时,我们会说“不是”。对于现在使用硬盘驱动器的用户,快速的固态硬盘(即使是3Gb/s端口)都将在计算的每一个方面带来很大的优势。
当然,升级系统后使用6Gb/s链接速率能够确保你获得最大的优势。然而,即使是基于较旧专有控制器的英特尔的SSD 320仍然是一个不错的硬件。
▲
我们之前用过这个图。在固态硬盘、高端硬盘驱动器(图中间)和低端硬盘驱动器(右上角)集群之前存在巨大差异。即使你是一个相当铁杆的发烧友,SATA 6Gb/s最快的固态硬盘也就那样,正如我们提到的,英特尔的320仍然表现非常不错。
所以不要想着你一定要购买最新最贵和最高端的固态硬盘。如果你还有资金进行平台升级,那么升级到SATA 6Gb/s主板和最好的固态硬盘肯定会带来可观的优势。对于预算紧张的用户而言,购买最快的硬盘驱动还不如购买你能够负担得起的固态硬盘,特别是这意味着取代硬盘驱动器作为你的系统驱动器时。
高端存储产品之间的细微差别对于我们和发烧友而言仍然很重要,我们将继续探讨这些差异。在这种情况下,你不应该让一个3Gb/s存储控制器阻碍了升级。
固态硬盘厂商希望我们测试刚刚拆开包装的硬盘,因为固态硬盘开始投入使用后,速度会逐渐减慢。如果你给固态硬盘足够时间,它会达到稳定状态性能水 平。在这一点来看,评测结果反映了长期使用后比较一致的性能水平。在一般情况下,读取要快一点,写入要慢一点,而擦除周期会比较慢。
我们不希望对新鲜开箱的固态硬盘进行测试,因为最开始得到的性能结果并不能保持。在那之后,你执行一次安全擦除并重新开始后你将能得到稳态性能。现 在,我们并不知道你的情况,但是我们并不会每周重新格式化我们的生产工作站。虽然新鲜出炉的产品性能是一个有趣的结果,但是这与我们想要测试的重点并无关 系。稳态性能才是我们想要的结果。
▲
这对于我们来说是一个新举措,IT专业人士长期使用这种方法来评估固态硬盘。这也是为什么存储产品生产商和消费者组织“存储网络工业协会SNIA”建议测试稳态性能的的原因。这也是测试固态硬盘真正性能的唯一方法,这种性能才能反映随着时间推移固态硬盘的情况。
有很多方法可以实现这种测试,不过我们将使用的是英特尔的IPEAK(英特尔性能评估和分析套件)。这是一个基于追踪的评测,这意味着我们将使用一个 I/O记录来衡量相对性能。我们的追踪(我们也称之为Storage Bench v1.0)来自于我个人电脑的两周记录情况,它捕捉了安装电脑前两周你将看到的I/O情况。
安装包括:
现代战争2、孤岛危机2等游戏任务
Microsoft Office 2010专业增强版
Firefox
VMware
Adobe Photoshop CS5
各种佳能和惠普打印机程序
LCD显示器校准工具: ColorEyes, i1Match
一般工具软件: WinZip, Adobe Acrobat Reader, WinRAR, Skype
开发工具: Andriod SDK, iOS SDK, and Bloodshed
多媒体软件: iTunes, VLC
I/O工作负载比较“温和”。读取新闻、浏览网站信息、阅读几个白皮书、偶尔编译代码、运行游戏测试和校准显示器。每天,我编辑照片,并将照片上传到企业服务器,用Word写文章,并且执行跨多个Firefox窗口的研究。
以下是对我个人工作站两周的追踪情况统计:
▲
根据统计显示,在过去两个星期,我写入的数据比我读取的数据更多。记住这个追踪包括安装计算机的I/O活动。很多这些信息被认为是一触式的,并没有 多次反复发生。如果我们排除追踪的前几个小时,写入的数量下降了一半以上。所以在每天使用中,我的使用模式包含相当平衡的读取和写入(大约8-10GB每 天)。这对于一般桌面用户来说是十分典型的数据,虽然对于那些花更多时间消耗流媒体的用户会产生更多读取数据。
另外想要说明的是,我们特意避免了在几小时内安装多个程序的情况,因为这并不符合真实世界使用。正如英特尔指出,这种追踪在很大程度上都是有计划的,因为并没有考虑闲置的垃圾清理,这会对性能有非常明显的影响(下文将提到)。
4 KB随机
我们的Storage Bench v1.0混合了随机和连续操作。然而,还应该隔离4KB随机性能,因为这占每天工作的大部分性能。在Storage Bench v1.0后,我们将驱动器放到Iometer来测试4KB随机性能。但是为什么是4KB呢?
▲
当你打开Firefox,浏览多个网页,并写入一些文档时,你大多数只是执行一些小的读取和写入操作。上图源自对Storage Bench v1.0的分析,但是它反映了对任何台式机追踪的分析情况。请注意,我们大多数操作(70%)都是8个扇区大小(每个扇区512字节,因此是5KB)。
我们闲置Iometer来测试16GB的LBA空间,因为对64字节版本的Windows 7全新安装需要占用这个空间量。在某种程度上,这检查了在访问不同分散文件、缓存和临时文件的性能情况。
如果你是一个典型的电脑用户,有必要测试在队列深度1的性能情况,因为这是我们大多数操作发生的范围。
在我们得到测试结果前,请注意我们使用MB/s表示随机性能,而不是IOPS。这是这两个单位之间的直接关系,平均传输大小*IOPS=MB/s。 大多数工作负载往往是不同传输大小的混合体,这也是为什么网络专业人士喜欢使用IOPS的原因。它反映了每秒发生的传输的数量。由于我们只需要测试单个传 输大小,我们更应该看看MB/s,如果你想要转换回IOPS,对于4KB传输大小,只要将MB/s数字除以0.004096MB就可以了。
128 KB连续
固态硬盘供应商往往想要强调随机性能,因为这个方面他们能够完全打败传统硬盘驱动。连续性能有一点不同,但是仍然代表了需要考察的性能的一个重要方面
但是对于普通用户连续性能是多么无孔不入呢?看看下面的图表,它显示了我们的追踪中所有寻求距离的分布:
▲
你会注意到的第一件事情是在0扇区具有活动优势,这意味着我们的追踪大多是由后端到后端的请求,或者说连续I/O。如果追踪是100%随机的,没有访问会在0扇区。
你的数据越来越多开始成为连续性的,尤其是当你在看电影或者听音乐时。考虑一下大多数网页包含小于1MB的数据,而大多数电子邮件小于16KB。办公效率并不是特别磁盘密集型的,但是与多媒体相比较时,工作负载仍然相形见拙,因为两分钟的电影传输可以超过200MB。
当然,我们还没有谈论游戏的话题。我们已经追踪了六个游戏,除了在MMORPG的情况外,我们发现与游戏有关的数据大多数是连续性的。孤岛危机2是非常占用数据的,20分钟的游戏就包含读取和写入超过1GB的数据。