和固态硬盘本身的技术进步相比,操作系统在对固态硬盘的支持上已经落后,如操作系统中的磁盘碎片整理功能和数据块的大小等都需要针对固态硬盘进行调整,否则会对固态硬盘的性能和使用寿命带来较大影响。
固态硬盘(solid-state disk,ssd)是最近存储领域的一个焦点话题。不少存储专家看好固态硬盘的应用前景,认为固态硬盘将在提高计算机启动和运行速度方面发挥重要作用。不过,人们对于固态硬盘究竟能发挥多大作用并没有数。
实际上,固态硬盘能多大程度上发挥作用,不仅与固态硬盘自己有关,同样也与操作系统的支持密不可分,而且两者几乎同样重要。尽管目前还没有哪种主流的操作系统为支持固态硬盘进行了专门的优化,但是,存储专家指出,有些操作系统天生就比其他操作系统更能发挥固态硬盘的作用。而未来,支持固态硬盘肯定会成为操作系统的一个基本功能。
令人意外的测试结果
有人对近年来使用过的各种操作系统进行了测试,结果让人颇感意外。人们发现windows 2000对固态硬盘的支持最好,同样的固态硬盘在更早的windows 2000中的性能要比windows xp、vista、mac os x以及linux中高很多。
固态硬盘设备制造商patriot memory公司的工程经理saeed arash far说,他所在的公司进行的有关测试表明,使用windows xp要比其他操作系统快5%~8%,原因是windows 2000没有应用程序在后台运行。
“测试结果显示,在windows 2000中固态硬盘的性能最好,其次是vista,它比windows xp要好一些。不过,在使用windows xp时,你还能终止那些在后台运行的程序,而使用vista时,你就根本无法终止那些后台程序。”
根据patriot memory公司所做的测试,在mac os x系统中使用固态硬盘比vista中稍稍快一点,而linux又比这两者更快一点,大约快1%~2%,快的原因与windows相似,即linux从来不在后台运行任何程序。
“如果你对更多的操作系统做一个比较的话,你会发现,windows 98是这些系统中对固态硬盘支持最好的,”far说。不过,windows 98也有缺点,就是不支持均衡损耗(wear-levelling)技术。wear-levelling是一种在nand闪存中采用的技术,用来平均地在存储设备中的各个位置写入数据,以免总在存储设备的某个区域写入数据而导致这个区域过度磨损而不能再用。far介绍说,如果他们公司的固态硬盘在windows 98中使用,估计一年左右就会坏掉。
厂商之间相互指责
对于那些关注固态硬盘优点的用户而言,可能更为关心未来三个主流的操作系统(vista 、xp和mac os x)对固态硬盘的支持情况。不过,事情有些复杂,不少固态硬盘厂商对操作系统目前的进展很不满意,甚至发出了指责。
去年7月,sandisk公司ceo eli harari就批评微软说,微软的vista在对固态硬盘的支持上非常不好,因而影响了用户对固态硬盘的采购热情,延缓了固态硬盘的普及。harari还指责说,有些应用过于苛刻,因为它们需要非常复杂的固态硬盘控制技术来管理数据如何被传送到固态硬盘。
但是,harari的说法遭到了竞争对手之一的micron公司的反驳。micron公司把固态硬盘插入到sata接口,分别在vista、windows xp和mac os x三种操作系统中对固态硬盘在数据处理方面的性能进行了测试,这些处理包括操作系统的启动、文件的安装、运行办公软件、关机等。根据发布在micron公司网站上的一篇博客所述,测试结果表明,vista、mac os x对固态硬盘的支持要比xp好。
micron公司固态硬盘产品年市场经理justin sykes解释说,这是因为在xp中数据的组织并不是以固态硬盘最有效的方式,即以4kb为一个数据块,而vista和mac os x则是以4kb为一个数据块。不过,micron没有对同样以4kb为一个数据处理单元的linux进行测试。
“nand闪存的数据存储区是以4k为单位的,因此,任何系统如果不是以4k为单位来组织数据都会给它带来挑战。”sykes说,“这会使得在后台进行自动内存管理的操作效果大打折扣,这一操作原本是为了提高存储空间利用率的,然而,这些后台操作会消耗带宽,而且还会给nand闪存带来磨损。”
根据micron公司存储系统开发部门副总裁dean a. klein的说法,固态硬盘在苹果平台上性能更好一些。“它启动得更快一些,”他说,“因为mac os采用了不同的方式。当安装了windows系统的pc机启动时,即使插入了固态硬盘,bios还是像以往一样等待从硬盘启动,而对于macbook,你可以感觉到它的启动非常快。我们相信,macbook很聪明,它意识到了系统中有固态硬盘,而不是白白等待,它一定走了捷径。”
patriot memory公司的far也认为在支持固态硬盘上,mac os x要比vista快1%左右。不过,他说,如果采用了虚拟化技术,比如在mac os x 10.5中部署了parallels或者vmware的fusion,再运行vista操作系统时,测试结果会不一样。
4kb的数据块区更有效
micron的测试表明,当windows xp开始写入与应用有关的数据时,这些数据很少会被分配到一个新的nand闪存页,而总是从一页的一半开始写入,而另一半则只能写到另一个页中。
“因此,控制器不得不处理这些情况,相应的,在擦除的时候也必须处理两页。”far说,“而vista中的数据写入是逢0或者8开始,这样在vista中的数据更容易按照4k大小来组织。”
在nand闪存中,数据块是由一组页面组成的,每页的大小可以是512、2k、4k字节。因此,以4k字节为单位来写入nand闪存效率最高。
intel公司nand产品集团市场经理troy winslow说:“我们曾对操作系统做过研究,发现80%的操作系统对数据大小的要求在4kb到16kb之间,但是,很多固态硬盘基于老的控制器技术设计,它们的数据处理块达到128kb.而更小一些数据块有助于发挥固态硬盘的优势。”
winslow说,对xp和vista分别进行的测试还表明,效率比较低的xp系统用固态硬盘代替普通硬盘后,其随机的读写操作性能能提高10%,而同等条件下vista的性能能提高25%.
nand闪存制造商stec公司市场及业务开发部门副总裁pat wilkison则认为,不同的操作系统对固态硬盘的支持没有明显的差别,“因为操作系统还没有为支持固态硬盘做多少有实质意义的优化工作”。
有争议的碎片整理
不过,在vista和xp之间有个明显的差别,那就是如果不进行更改,vista默认是支持后台的磁盘碎片整理的。对于固态硬盘而言,有时候这一操作没有多少必要,甚至事实上这会加速固态硬盘的磨损。
尽管很多销售商在出售那些使用固态硬盘并安装有vista的笔记本电脑和pc机时,会把磁盘碎片整理功能取消,但是,那些自己安装或者升级到vista的人可能不知道这一点,还会启用碎片整理功能从而缩短固态硬盘的寿命。要关闭vista的自动碎片整理功能,用户可以从“开始”菜单进入“控制面板”主页,选择“系统和维护”,然后在“管理工具”中选择“对硬盘进行碎片整理”,vista允许用户选择是否要自动完成这一功能。
而diskeeper公司技术支持副总裁howard butler不同意这种说法,他认为不管是普通硬盘还是固态硬盘都可以从碎片整理中受益,从而更加高效地完成数据存取。butler说,与普通硬盘一样,固态硬盘上的数据也被保存在连续的区域中,一旦数据删除,这个存储空间就被释放出来,其中一些太小的存储空间可能无法利用。而碎片整理可以对数据和被释放的存储空间进行重新安排。
gartner的分析师joseph unsworth说,是vista的预取功能让装有固态硬盘的系统启动得比xp快,因为这一功能把常用的应用预先装入系统内存中,因此,一旦需要它们可以马上准备好。vista中还引入了低优先级i/o的概念,那些在后台运行的进程要访问硬盘通常会比其他程序的优先级低。
unsworth在一台运行vista的pc上安装了intel公司的x25固态硬盘,他说,给他印象最深的是,用固态硬盘替代传统硬盘后,系统启动速度大大加快了。
“尽管现在多达90多家供应商生产固态硬盘,但是,我更看好intel、三星、stec等几家。因为这些厂商采用了更先进的架构,其固态硬盘芯片具有并行的多通道。例如,intel公司的x25有10条通道。” unsworth说,采用多通道架构的nand闪存其每个并行通道就代表一个通往nand芯片的数据流,通道越多其数据的吞吐能力越强,产品也越耐用。
操作系统何时会支持固态硬盘
虽然目前来看还没有哪个主流的操作系统特别针对固态硬盘进行了优化,但可以肯定的是,随着这项技术的发展,这是迟早的事情。去年的11月,在洛杉矶举办的微软硬件工程师大会上,微软就承诺,vista的下一个版本windows 7对固态硬盘的支持会好得多。
与vista不同,如果windows 7检测到系统中的硬盘是固态硬盘,会自动关闭硬盘碎片整理功能。windows 7还会预先删除垃圾数据,这会阻止垃圾的收集,从而减缓固态硬盘的延迟,而垃圾的收集是导致固态硬盘写入速度降低的主要因素。
微软还计划对固态硬盘进行认证,让固态硬盘能知道它正在与windows 7进行交互,从而为数据通过sata接口传输确定合适的优先级。
unsworth说,不管微软会做什么工作,他都相信苹果公司一定会因为它的操作系统封闭而受益。操作系统封闭意味着,苹果公司可以自己控制开发计划,因此更有可能针对固态硬盘进行优化。苹果即将发布最新版的操作系统mac os x 10.6 (又称“雪豹”),人们预计“雪豹”会对i/o进行优化,从而提高数据传送和处理速度。
“我坚信苹果公司会这么做,我也告诉过他们并向他们推荐过。如果系统从固态硬盘启动,人们仍然发现还需要至少10秒钟,实在有些说不过去?” unsworth说,“而且,对于消费者而言,这种改进会成为一个很好的卖点,何乐而不为?”
者:佚名
来源:51cto