这项技术可以支持USB2.0、USB3.0接口的U盘以及计算机内置读卡器中的闪存。具体要求是,4k随机读取的速度大于3.5M/s,512k随机写入的速度大于2.5M/s。
此技术在2011年前还只是一种概念,当进入2011年后,U盘速度得到大幅提升,已经完全应用于现代生活。
可以支持Windows Vista、Windows7、Windows8、Windows10的各种版本。
ReadyBoost 功能允许使用者通过闪存来加速系统。ReadyBoost 由一个在 %SystemRoot%\System32\Emdmgmt.dll 中实现的运行于主机进程中的服务和一个卷过滤器驱动程序(%SystemRoot%\System32\Drivers\Ecache.sys) 组成。当闪存设备插入系统后,ReadyBoost服务会查看该设备以确定其性能特征,并将测试结果存储在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Currentversion\Emdmgmt 中。
并不是所有闪存设备都能够支持 ReadyBoost 功能,在微软的技术文档中写道:“当闪存设备容量介于 256MB 和 32GB 之间,对于 4KB 随机读取的传输率为 2.5MBps 或更高、对于 512KB 随机写入的传输率为 1.75MBps 或更高”时, ReadyBoost 才会将询问用户是否想要将部分存储空间用于进行磁盘缓存。
尽管 ReadyBoost 可以使用NTFS,它还是会将最大缓存大小限制在4GB,以适应FAT32的限制。如果用户同意使用 ReadyBoost 功能的话,那么该服务便会在该设备的根目录下创建一个名为ReadyBoost.sfcache的缓存文件,并要求 SuperFetch 在后台预先填充缓存。
在 ReadyBoost 服务对缓存进行初始化之后,Ecache.sys设备驱动程序会将所有读写数据截取到本地硬盘卷(例如 C:\),并将要写入的所有数据复制到该服务创建的缓存文件中。Ecache.sys 会将数据压缩,压缩比通常达到2:1。这样,4GB 的缓存文件通常将包含 8GB 数据。驱动程序会联合使用高级加密标准(AES) 和一个随机生成的引导会话密钥对其写入的每个块进行加密,以在将设备从系统移除的情况下保证缓存中数据的保密性。
当 ReadyBoost 确定闪存内的缓存比硬盘内的缓存更能满足随机读取需求时,它便会从闪盘介质内随机读取数据。而硬盘的有序读取速度要明显胜过闪存,因此,当 ReadyBoost 侦测到有系统需要有序访问数据的时候,即使该数据同样位于闪盘介质内的缓存中,Windows 也将直接从磁盘读取。
正是基于这个原理,ReadyBoost 可充当内存与硬盘之间的桥梁作用,从而加速系统性能。
ReadyBoost 可以利用U盘高速随机访问能力,让U盘作为 Windows Vista 的 SuperFetch 缓存,从而让低内存的 Windows Vista 也能获得比较好的性能(SuperFetch 是 Windows Vista 引入的一种新型内存管理机制,ReadyBoost 把U盘虚拟成 SuperFetch 缓存,从而提高系统性能)。随着u盘性能不断提升,好的u盘(usb2.0)存储速度已经实际达到 8MB/s至20MB/S,已经可以让 ReadyBoost 发挥明显的作用。而随着USB3.0的发展,U盘速度可以达到 30MB/s 至 60MB/S。
复制大于 150MB 的单个文件到u盘,usb2.0下如果持续显示速度只有4MB/s,此类u盘便属于低端u盘,不过已经达到 4MB 可以运用加速,只是加速不太明显。
若 usb2.0 下复制速度超过 15MB/s,既是现代流行的u盘速度,属于主流u盘,完全可以应用加速,且效果明显。
这项技术对于游戏爱好者、设计工作者、程序员以及需要大内存工作者十分必要。当计算机内存被即将占满,计算机运行缓慢,插上一个u盘就能临时加速,非常值得,省去购买内存的必要。
Windows 7 RTM 中截图前言:Windows Vista 发布后,其中有一项利用闪存(存储卡、U盘)提升性能的 ReadyBoost 功能特别引人注意。但自己装上 Vista 之后一直没能成功启用过(说性能不够)。到底要什么样的闪存才能用?到底能在哪方面提升多少性能?抱着这些简单的疑问,搜罗一遍,发现中文 Web 上 Google 搜索得到的结果,大多你抄我我抄你,翻过好几页只看到一位业余爱好者自己主观评测了一下。虽然不得要领,但研究精神却可嘉了——因为一大堆所谓的IT专业网站,还有一个首当其冲的“专业”论坛都没有解答这些踏实问题,倒是开始趁机帮厂商放炮,推荐起 U 盘来……算了,不感叹了。
其实即使选择搜索中文网页,搜索结果的第一条还是微软程序员博客上关于 ReadyBoost 的 FAQ。看完这篇英文的 FAQ,就解决问题了。
设计这个功能是为了帮助内存扩展插槽不够用,资金或技术经验限制,以至于不能加装内存的人,帮助他们提升小量随机读写性能(small random I/O)。正如大家所知,加装内存是解决内存不足问题的最好办法。
如果您手边有一个“高速 U 盘”,那么通过全新的 Windows ReadyBoost 技术,就可以用它来扩展您的系统内存。
请参阅您的 U 盘说明书或者外包装,一般都会标明是否为“ 高速U 盘”或者是否“支持 ReadyBoost 技术”;此外还要保证 U 盘至少还有256M 以上的空间——只有这样,才能实现这个功能。之后将您的 U 盘插入电脑 USB 接口。
一般的U盘甚至手机内存卡也可以实现ReadyBoost功能,秘诀就是将存储设备转换成“NTFS"格式。(转换为NTFS的内存卡,手机将无法读取)
电脑会弹出“自动播放”面板,选择“加速我的系统”。
在弹出的属性面板中,选择“ReadyBoost”标签,之后选择“使用这个设备”和“用于加速系统的保留空间”(也就是选择使用多少 U 盘空间作为内存来使用),点击“确定”按钮
您在以后的使用过程中,如果需要调整 U 盘的加速空间,或者关闭 U 盘的 ReadyBoost 功能。只要打开“计算机”,然后鼠标右键单击U盘驱动器,在弹出菜单中点击“属性”选项,就可以进行各种调整了!
在不久前发布的Windows 8 RTM中,ReadyBoost功能也得到保留。从Vista到Windows 8 ,这个功能没有大的变化,只是Readyboost标签中有了三个选项,第二项,“该设备专用于ReadyBoost ”,就是使用U盘中所有剩余空间,供Readyboost使用。
Q:USB3.0上可以应用吗?
A:完全可以
Q:可以支持哪些系统?
A:支持Windows Vista、Windows 7、Windows 8和Windows 10四个系统。
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高速缓存)
(补充:Windows 7 当 U 盘使用 exFAT 文件系统时可以设置高达 256GB 缓存,即压缩后 512GB)
Q:为什么我不能使用超过4GB的闪存?
A:FAT32文件系统将ReadyBoost.sfcache文件的容量限制在4GB。
(补充:exFAT 文件系统是 64 位的,在 Windows 7 上没有 4GB 限制;Windows Vista 则不支持在 exFAT 上使用 ReadyBoost)
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设备。
(补充:Windows 7 已允许使用最多 8 个闪存盘作为缓存。)
Q:为什么只支持一个?(这是vista 的要求 windows 7 下不用考虑这点)
A:时间和质量不可兼得。考虑到这还是第一个版本,功能有限,我们决定专注于单个设备的杰出表现,暂不涉及多个高速缓存管理的攻关难题。当然,我们喜欢这个主意,已经打算把它列入后续开发计划。
Q:支持SD/CF/MS/MMC等闪存卡吗?
A:大多数都支持。在Beta2中,我们加入了对内置USB2和PCIe总线上的一小部分SD/CF卡的支持。RC1会支持更多。
Q:为什么不支持外置USB2.0读卡器上的SD卡?
A:很不幸,不支持外置读卡器——有些技术障碍我们没有足够的时间克服。总的说来,如果一个读卡器当中没有插卡,却像软驱、光驱一样在Windows当中显示出驱动器图标,我们就无法使用它启用ReadyBoost功能。
(补充:Win7下已经没有这个限制,但是你必须先把内存卡插入读卡器中)
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。
Q:为什么闪存支持ReadyBoost,也无法启用(性能达不到要求)?
A:这是禁用了高速写入缓存的情形。您需要在设备管理器中将它启用,但这意味着数据在读写完毕之前拔掉闪存可能会造成数据损坏或丢失,以及设备(闪存)的损坏。
保证 Superfetch 服务已启动:Superfetch 服务会自动计算将来会用到的内存数据或文件数据,并将其载入 ReadyBoost 缓存。若 Superfetch 被关闭,则仅当写入磁盘时,写入的内容会被载入 ReadyBoost 缓存。ReadyBoost 的缓存的主要功能是加速随机读取。如果只缓存写入内容的话,下次读取的内容未必正好是上次写入的内容。而 Superfetch 则能把将要读取的内容放入 ReadyBoost 缓存,从而使其真正有效。
ReadyBoost
该文件安全,无病毒,在U盘根目录,文件大小看使用的大小
如果需要取消加速,可右击打开U盘属性 ,在 “ReadyBoost” 标签下选择 “不使用这个设备”。