本页使用了标题或全文手工转换

ReadyBoost

维基百科,自由的百科全书
跳转至: 导航搜索

ReadyBoostWindows Vista中的新技术,在继Windows Vista的下一代操作系统Windows 7中,同样包含了这项技术,它利用了闪存随机读写及零碎文件读写上的优势来提高计算机系统性能。它是下一代闪存硬盘的临时替代品。

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

概述[编辑]

使用支持 ReadyBoost 的闪存(NAND 存储)设备作为缓存,可以使Windows Vista 或者 Windows 7 中的随机磁盘读取性能原则上较传统的硬盘提高80-100倍。该缓存可以作用于所有的硬盘内容,而不仅仅是页面文件或者系统 DLL 文件。原则上来说,闪存设备的顺序 I/O 要比传统的硬盘速度缓慢,为了提高性能,ReadyBoost包含了大型识别逻辑,顺序读取请求并且要硬盘为这些请求服务。

当一个兼容的设备连接到计算机,弹出的 Windows 自动播放对话框将提供一个附加的选项来使用闪存设备加速系统;磁盘属性对话框也会添加一个附加的:“ReadyBoost”选项卡,并且挂载的可用空间将是可以配置的。可被指派的闪存空间为 256兆至256G(32位的 Vista将会指派为4GB)。ReadyBoost 使用 AES-128 进行加密压缩并将所有的数据存放于闪存设备;微软设计的设定的压缩比为2:1,即:4GB 缓存将最多包含 8GB 数据。

基于Jim Allchin的调查:对于将来要发行的 Windows,ReadyBoost 将能够使用存在于网络当中的其他 Windows PC 上的备用存储。

对于兼容的设备,必须满足以下条件:

  • 可移动设备的容量不得小于 256MB(格式化后 250MB)。Windows Vista x86 和 x86-64 被限制使用4GB;该限制在 Windows 7 中被删除。
  • Windows 7 允许最多使用8个设备最大256GB作为附加存储。
  • 设备的访问时间必须小于或等于 1 毫秒。
  • 设备必须能够以 2.5MB/秒的平均速度在整个设备上进行 4KB 随机读取;512KB 随机写入平均速率为 1.75MB/秒。

原理[编辑]

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。

设计这个功能是为了帮助内存扩展插槽不够用,资金或技术经验限制,以至于不能加装内存的人,帮助他们提升小量随机读写性能(small random I/O)。正如大家所知,加装内存是解决内存不足问题的最好办法。 如果您手边有一个“高速 U 盘”,那么通过全新的 Windows ReadyBoost 技术,就可以用它来扩展您的系统内存。[1]

方法[编辑]

复制大于 150MB 的单个文件到u盘,usb2.0下如果持续显示速度只有4MB/s,此类u盘便属于低端u盘,不过已经达到 4MB 可以运用加速,只是加速不太明显。

若 usb2.0 下复制速度超过 15MB/s,既是现代流行的u盘速度,属于主流u盘,完全可以应用加速,且效果明显。

  1. 插入u盘
  2. 电脑会弹出“自动播放”面板,选择“加速我的系统”。
  3. 在弹出的属性面板中,选择“ReadyBoost”标签,之后选择“使用这个设备”和“用于加速系统的保留空间”(也就是选择使用多少 U 盘空间作为内存来使用),点击“确定”按钮。[2]
  1. ^ 百度百科——全球最大中文百科全书. baike.baidu.com. [2017-08-08] (英语). 
  2. ^ https://support.microsoft.com/en-us/help/2442620/usb-and-sd-storage-media-readyboost-with-a-sd-card-or-a-flash-drive. support.microsoft.com. [2017-08-08].  外部链接存在于|title= (帮助)

其他[编辑]

  • Vista SP1 的 ReadyBoost 支持 NTFS、FAT16、和 FAT32 等文件系统。Windows 7还支持全新的 exFAT 文件系统。Vista SP2 不支持 exFAT 文件系统。
鉴于 ReadyBoost 缓存以文件的方式存储,设备必须格式化为 NTFS 或者 exFAT,以便存储大于 4GB 的缓存,而 FAT16 和 FAT 32 的文件系统限制文件大小为 2GB-4GB。
  • Windows Vista 的 ReadyBoost 支持一个设备。Windows 7 可以支持多个设备,所以性能上可以认为与 RAID 0 相似。
  • 由于 Windows 7 下的 ReadyBoost 由 Vista 的增强算法发展而来,所以能提供更高性能。实验表明 Windows 7 的闪存设备读取性能比 Vista 下高5-10倍。
  • 由于 ReadyBoost 将缓存作为一个文件存储,文件系统必须挂载并分配一个盘符。由于只有根目录作为 ReadyBoost 缓存空间,简单的挂载为一个其他驱动器上的NTFS文件夹并不能满足要求。
另外,逻辑驱动器属性将不会显示 ReadyBoost 选项卡。
  • 微软建议作为 ReadyBoost 加速的闪存设备是已安装的系统内存的 1-3 倍。当使用 ReadyBoost 选项卡设置 ReadyBoost 的时候,
请不要因为这个建议而产生混淆:例如,如果使用16GB的容量并且格式化为 FAT32,僅管系统内存为10GB,仍会有以下提示:“Windows 建议预留 4094 MB 作为性能提升空间”,
原因是 4094 MB 是 FAT 32 文件系统允许的最大文件存储空间;如果将设备重新格式化为 NTFS 或者 exFAT,提示将改为:“Windows 建议设置为 15180MB”。