误导?诱导?微软所谓“拿U盘当内存“背后的真相(转)

   

由于本人是笔记本的使用者,目前的配置已经内存方面还稍显不足(只有512),所以一直关注微软的这项新功能的介绍:
外部内存设备增加系统内存 (RAM) 通常是提高 PC 性能最好的方法。内存越多,在不访问硬盘驱动器的情况下可以运行的应用程序就越多。但是,升级内存并非总是那么容易。此时必须了解所需的内存类型,购买内存,并打开计算机安装内存,有时,这样做可能会使您的支持协议失效。此外,有些计算机已限制内存扩展功能,即使您希望增加 RAM 也无法实现。
Windows Vista 在为系统增加内存方面引入了一个新概念。可以使用 USB 闪存驱动器作为外部内存设备 (EMD),以在不打开机箱的情况下扩展系统内存并提高性能。计算机访问 EMD 设备中的内存的速度比访问硬盘驱动器上数据的速度要快得多,从而可以提高系统性能。该技术与“超级获取”技术结合使用,可以明显加快系统的响应速度。
EMD 技术既可靠又安全。您可以随时取下 EMD,不会丢失任何数据,也不会对系统造成负面影响;但是,如果取下 EMD,则性能将恢复到没有该设备时的水平。使用 USB 驱动器作为 EMD 时,USB 驱动器的磨损不是问题。独特的算法可以优化磨损方式,使 USB 设备即使重度使用,也可以作为 EMD 运行许多年。最后,为 EMD 上的数据加密,以帮助避免在取下该设备时,设备中的数据受到未经授权的访问。

但是很缺乏具体的介绍,从德文网站的介绍中
Windows Vista ReadyBoost Einige USB-Sticks kann Windows Vista als Zwischenspeicher benutzen, um so vor allem Systeme mit wenig Arbeitsspeicher zu beschleunigen. Voraussetzung für die ReadyBoost-Funktion sind mindestens 500 MByte Kapazität bei Datentransferraten von mindestens 5 MByte/s (lesend) und 3 MByte/s (schreibend).

简单看一下与中文介绍不同的关键,一些USB Stick 可以实现在vista下作为第二储存设备减轻系统内存的消耗。作为ReadyBoost功能使用的要求是:500MB容量,至少5MB每秒的读和3MB每秒写速度


首先文中所谓“USB 闪存驱动器”是不是通常所说的“U盘”?或者说虽然有最近出品的针对vista的ReadyBoost USB出品,但普通U盘还是可以作为内存使用?
ReadyBoost USB的性价比和普通内存(笔记本内存)相比又如何呢?普通U盘和它的性能上的差距如何?快速启动、扩大内存、作为一般U盘储存等,一直找不到官方的数据.可能我这个问题有些小白,希望各位高手不吝赐教

以下内容由网友mark_ald 提供

微软解释:
Vista ReadyBoost技术的真正作用
前言:Vista发布,其中有一项用闪存(闪存卡、U盘)提升性能的ReadyBoost功能特别引人注意。但自己装上Vista之后一直没能成功启用过(说性能不够)。到底要什么样的闪存才能用?到底能在哪方面提升多少性能?抱着这些简单的疑问,搜罗一遍,发现中文Web上Google搜索得到的结果,大多你抄我我抄你,翻过好几页只看到一位业余爱好者自己主观评测了一下。虽然不得要领,但研究精神却可嘉了——因为一大堆所谓的IT专业网站,还有一个首当其冲的“专业”论坛都没有解答这些踏实问题,倒是开始趁机帮厂商放炮,推荐起U盘来……算了,不感叹了。
其实即使选择搜索中文网页,搜索结果的第一条还是微软程序员博客上关于ReadyBoost的FAQ。看完这篇英文的FAQ,就解决问题了。
为了方便E文不大方便的朋友。顺手翻译过来了。与大家共享,也请高手多指教!
原文:
http://blogs.msdn.com/tomarcher/arch...02/615199.aspx

Matt Ayers自我介绍:
我是微软Windows客户端性能研发小组的编程经理(Program Manager),负责ReadyBoost功能。基于在这个博客上的很多精彩问题和讨论,我想提供一些官方答案。同时,我将把这些问题解答作为官方ReadyBoost FAQ的首要问题。
首先,正如众多宣传所指出的,设计这个功能是为了帮助内存扩展插槽不够用,资金或技术经验限制,以至于不能加装内存的人,帮助他们提升小量随机读写性能(small random I/O)。正如大家所知,加装内存是解决内存不足问题的最好办法。
再次感谢大家的关注、提问和建议。

Q:我们需要什么样的硬件配置(以使用ReadyBoost功能)?
A:随机读取4K速度达2.5MB/s,512K随机写入达1.75MB/s

Q:我的设备包装上标明12MB/s(或133x),但Windows提示说它性能不足启用ReadyBoost……为什么?
A:两种可能:
1.硬件标称的是连续的数据读写速度,而ReadyBoost需要和考量的是随机读写速度。
2.该硬件的速度指标不均衡。有些产品包含128M高速闪存,而其他部分的速度则非常慢。这种设计对一些程序没有影响,但没法满足ReadyBoost的需要。

Q:ReadyBoost最大使用多大容量的闪存?
A:ReadyBoost最大可使用4GB闪存(通过压缩功能,就是8GB高速缓存)

Q:为什么我不能使用超过4GB的闪存?
A:FAT32文件系统将ReadyBoost.sfcache文件的容量限制在4GB。

Q:可用ReadyBoost的最小闪存容量是多少?
A:最小256M(格式化之后也就只有250M了)。Beta2之后,我们可能还可以降低10MB左右。

Q:好了……256M到4GB可差距不小……推荐配置是多大?
A:没错。我们推荐最少配备跟内存容量1:1的闪存。最大达到2.5:1,更多的就没有明显收益了。

Q:其实就是把页面文件(虚拟内存)放到闪存盘上了吧?
A:不完全——页面文件还是在硬盘上。这(ReadyBoost文件)是一个高速缓存——如果在ReadyBoost Cache里面找不到所需的数据,系统就会转回到硬盘上读取。

Q:硬盘不是比闪存快吗?我的硬盘数据吞吐速度有80MB/s。
A:大量连续的读写硬盘更快。这种情况下,ReadyBoost不会参与。我们关注的是小量、随机的数据吞吐性能,例如硬盘上页面文件的读写(paging to and from disk)。

Q:如果我们拔掉闪存盘,会不会影响系统?
A:如果闪存盘被意外拔除,程序会转向硬盘。再次说明一下,闪存盘上的所有页面文件都被备份到硬盘上的一个页面文件里。无一例外。这不是一个单独的页面文件存储空间,而是一个用于提高访问速度的常用数据高速缓存。

Q:用户的数据在一个可随时被拔走的闪存盘上,不会存在安全隐患吗?
A:这是我们关注的首要问题之一,我们用AES-128加密了我们写到闪存盘上的一切。

Q:这会不会缩短闪存盘的寿命?
A:不会。我们注意到了闪存使用寿命的问题,并在确定何时、如何在闪存上写入数据方面找到了明智的办法。我们的研究显示,支持ReadyBoost功能的闪存盘可以使用至少10年以上。

Q:可以同时使用多个闪存盘作为EMD吗?
A:不可以,我们已经限制每台使用Vista的电脑只能使用一个ReadyBoost设备。

Q:为什么只支持一个?
A:时间和质量不可兼得。考虑到这还是第一个版本,功能有限,我们决定专注于单个设备的杰出表现,暂不涉及多个高速缓存管理的攻关难题。当然,我们喜欢这个主意,已经打算把它列入后续开发计划。

Q:支持SD/CF/MS/MMC等闪存卡吗?
A:大多数都支持。在Beta2中,我们加入了对内置USB2和PCIe总线上的一小部分SD/CF卡的支持。RC1会支持更多。

Q:为什么不支持外置USB2.0读卡器上的SD卡?
A:很不幸,不支持外置读卡器——有些技术障碍我们没有足够的时间克服。总的说来,如果一个读卡器当中没有插卡,却像软驱、光驱一样在Windows当中显示出驱动器图标,我们就无法使用它启用ReadyBoost功能。

Q:是不是所有的USB驱动器都支持,不论他们在系统里面被识别为硬盘还是可移动的磁盘?
A:我们没有办法分辨USB连接线端口上连接的到底是什么,所以我们做一些基本的容量检查(因为限制还没有200GB的闪存设备;-)),然后进行我们的速度测试。硬盘无法通过速度测试,而且用USB移动硬盘做ReadyBoost也没有性能提升。

Q:可以用MP3播放器给系统提速吗?
A:当前不行。MP3播放器使用“play for sure”接口与Windows联系。而我们需要的设备必须被Windows识别为一个磁盘卷。所以当前MP3播放器之类的设备还不能兼容。

Q:速度提升有多少?
A:好,这得看情况。按平均值估算,一次随机4K的读取速度,闪存大约比硬盘快10倍。那么,最终用户会得到什么好处呢?当内存空间压力较大,而且硬盘读写频繁的时候,系统响应会更迅速;如果是配了4GB内存,又没有几个应用程序在运行的电脑,ReadyBoost的效果就不明显了。

Q:我的设备不能启用ReadyBoost功能……我能降低性能要求么?
A:非常不幸,不能。我们制定的设备性能要求,已经是ReadyBoost能给你系统提速的最低要求。如果再降低标准,用ReadyBoost就没有可见的性能提升了。记住,我们不是在添加内存,我们是在提升磁盘访问效率。

Q:哪家闪存厂商支持ReadyBoost?
A:好,我当然希望他们全都支持。当前我们正在与厂商协做开发一个程序,让他们去验证他们的产品是否能支ReadyBoost。


网友观点:
本文描述了readyboost的实际应用效果

readyboost是windows vista中的新技术,它利用了闪存随机读写及零碎文件读写上的优势来提高系统性能。它是下一代闪存硬盘的临时替代品。

这项技术目前仅支持usb2.0接口的U盘以及计算机内置读卡器中的闪存。具体要求是,4k随机读取的速度大于3.5M/s,512k随机写入的速度大于2.5M/s。

我们在插入u盘或者闪存的时候,在弹出的对话框中最后一项显示为“speed up my system“,点击即可进入readyboost设置页面;当然,也可在资源管理器中,闪存盘符上点击右键,在其属性页面中有readyboost一项。

如果设置页面可以设置保留空间大小,则您的闪存符合要求,可以使用readyboost功能;若提示您的闪存不符合要求,则无法使用。若您想强制使用,可以进行如下操作(可能会降低系统性能,除非您肯定您的闪存性能足够,请不要进行此操作):

1,拔下闪存,输入regedit打开注册表编辑器
2,在注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDMgmt下,找到和你的设备对应的键,键名中有您的闪存盘的容量以及卷的名称
3,修改该键下的下列值:
Device Status 0×02
ReadSpeedKBs 0×1000
WriteSpeedKBs 0×1000
4,重新插入闪存,右键单击盘符即可设置readyboost。

补充一条微软开发者没有写的FAQ,readyboost能加快系统启动么?不能。readyboost是在进入系统后才加载,闪存的cache在进入系统后才被新创建。

在微软开发者的blog上,他建议使用的闪存大小,最小应为1:1,最大不超过1:2.5。也就是说,如果是1G内存,最小应该用1G闪存,最大不超过2.5G。可是究竟能带来多少性能提升呢?

实战篇:

笔者认为,这项技术对现有笔记本用户是一项福音——尤其是自带读卡器的笔记本。台式机插槽多可以很方便的添加内存,而笔记本升级不那么容易,配件也相对昂贵。

测试平台,dell 640m,T2050/1G ram/7200rpm sata 100G hd,在vista中的评分分别为4.5/4.5/5.0;内置四合一读卡器为RICOH r5c832。闪存卡为apacer 150x 2g sd卡,采用SLC芯片,在网上的评测中,读写均能达到10M以上。测试时cpu锁定在最高频率,不进行任何节电措施。

可是第一项测试就让人大失所望。原先有一块普通512m的sd卡,写入速度只有2M不到,这块150x的sd卡,写入速度竟然也只有3M多而已,但是读取速度达到了14M/s。在没有其他高速读卡器的情况下,笔者初步认定这卡是真货,但内建的读卡器不是什么好货色!

不过即便这样,系统也认可了这块卡的性能,默认就可以打开readyboost。笔者试图安装pcmark05,可是它不认系统里的directx,wmplayer等等的组件,无法完成测试,只好作罢。来进行感官测试吧,对用户来讲有感觉才是最重要的。把readyboost打开,用一会,再关掉,用一会,基本没有感觉。

没办法,只好再做量化的测试,测试autocad2006的启动速度。笔者是在rc2 5744 x86下作的测试,有的朋友说autocad2006无法在vista下安装或正常使用,那是因为没有取得管理员权限的缘故。并非netfx(vista下版本为3.0)没有安装或者其他什么原因。测试的时间是从双击图标,到默认所有面板加载完毕,命令行接收输入的状态为止。

结果仍然是令人失望的,开启readyboost,启动时间为4~6秒,关闭readyboost,启动时间还是4~6秒,是随机且无法比较的。因为国庆前硬盘出了故障,现在这块新硬盘上并没有别的大型程序可以做测试。用windows自带的性能观测器,可以看到,在程序启动的时候,是readyboost_cache读写最厉害的时候。从数据中我们可以看到,readyboost运用了压缩技术,实际cache的数据超过了sd卡容量,约为130%左右。有一点奇怪的是,计数器显示,读写的峰值速度达到了28M/s,从观测器图表来看,出现这个峰值的情况也非常少。这应该是一个逻辑参数,并非物理读取量。平均的读写,只在100k/s以下,远低于微软要求的写入速度2.5M/s。

那么,在内存耗尽的情况下呢?众所周知,vista采用了更’优秀的’内存管理,几乎所有的闲置内存都被cached了,也就是通常所说的更吃内存了。

为了“耗尽”内存,笔者先开了一个media player听着mp3,打开性能观测器,接着打开了21个IE,每个IE都打开网易新闻的首页,接着打开了5个autocad2006,此时系统已经无法再打开任何程序,windows弹出“系统性能低下”的对话框。接着关闭一个autocad06,去打开其他的应用程序,比如firefox,bitcomet等等。测试证明,此种前提下,不论打开还是关闭readyboost,都不会影响程序启动和运行的速度。

最终的结论竟然是readyboost的性能提升完全让人感觉不到。

为了验证这个结论,笔者甚至拔下一条512M内存,以一半的内存来做测试,结果是,仍然感觉不到性能提升。在这个内存容量下,硬盘疯了一样的转,不论是否打开readyboost。印象里网上有篇文章,叫做《512M内存照样流畅跑vista》,意思就是用了readyboost技术能显著提升性能,我猜他用的台式机做测试,听不见硬盘狂响声,仅凭感觉就说性能提升。512M内存,在笔者的笔记本上,不看硬盘灯,还可以算流畅;一旦看见硬盘灯狂闪,再和1G内存时做个比较,你就知道那根本不叫流畅。

失望之余,笔者也迎来了更清醒的认识:

1,readyboost说起来是代替内存的部分功能,但是实际上起不到任何扩充的作用,闪存的作用只是内存和硬盘的中介。
2,微软本身也没有量化readyboost能提高多少性能,只说原机器性能越差,提升就越大。即便这项功能的确对性能有提升,笔者认为,这项技术应该是在几年前就已经开发出来(vista开发已经五年),而当时市面上的硬件水平和价格和现在根本不是一个档次。今时今日,台式机硬盘都上万转,垂直记录,笔记本硬盘也快要步入7200转的大流,内存在1G以上已经很平常,能从闪存上攫取到多少性能,实在令人怀疑,微软大有替闪存厂商推销的嫌疑。
3,如果说,对于旧机器,readyboost能够起作用的话,那么就有一个很可笑的结论,机器的性能太弱,不足以运行vista,哪来的readyboost功能?
4,用2G高速闪存加速,不如用512M内存甚至256M内存加速,二者价格差不多,但是效果肯定后者要好得多。

综上所述,笔者建议不要单纯为了readyboost功能购买高速闪存,微软的意思也只是,如果你有闲置的闪存,可以拿来试试。






评论

  • 写得很好,很专业,很明确,,,学习了

    wz880 () 发表于 2008-10-23 09:27:59

  • 如救命稻草啊,万分感谢!!!

    豆豆 () 发表于 2007-03-28 21:45:51

  • 好详细啊。我全看完了。



    我也看到了你对我的评论,谢谢!

    游子 (http://www.cnitblog.com/liaoqingshan/) 发表于 2007-03-07 19:51:23

  • 圣诞快乐!

    风铃 () 发表于 2006-12-25 18:51:46

发表评论