Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberCN1770087 A
Publication typeApplication
Application numberCN 200510116208
Publication date10 May 2006
Filing date21 Oct 2005
Priority date21 Oct 2004
Also published asCA2523761A1, CA2523761C, CN100498677C, EP1650666A2, EP1650666A3, US7490197, US7805571, US8006037, US8909861, US9317209, US9690496, US20060090031, US20090144495, US20100217929, US20110276743, US20150058545, US20160210058
Publication number200510116208.0, CN 1770087 A, CN 1770087A, CN 200510116208, CN-A-1770087, CN1770087 A, CN1770087A, CN200510116208, CN200510116208.0
InventorsA科圣宝姆, C厄干, MR弗廷, RL雷瑙尔
Applicant微软公司
Export CitationBiBTeX, EndNote, RefMan
External Links: SIPO, Espacenet
Using external memory devices to improve system performance
CN 1770087 A
Abstract  translated from Chinese
本发明针对利用外部存储器设备来高速缓存来自旋转式存储设备(例如,硬盘驱动器)的扇区以改进系统性能的系统和方法。 The present invention is directed to the use of an external memory device to cache sectors from a rotating storage device (e.g., hard drive) to improve system and method for system performance. 当外部存储器设备(EMD)被插入到计算设备或其中连接计算设备的网络上时,系统识别EMD并使用磁盘扇区来填充EMD。 When the external memory device (EMD) is inserted into the computing device or on a network connected computing device wherein, the system used to identify the disk sectors EMD and populates EMD. 系统将定向到磁盘扇区的I/O读请求路由给EMD高速缓存而非实际的磁盘扇区。 The system will be directed to a disk sector I / O read request is routed to the EMD cache instead of the actual disk sectors. EMD的使用以向计算设备添加存储器成本的一小部分增加了计算设备系统的性能和生产率。 EMD uses the computing device to add a fraction of the cost of memory increases the performance and productivity of a computing device system.
Claims(30)  translated from Chinese
1.一种利用外部存储器设备来改进含有旋转式存储设备的计算设备的性能的方法,包括以下步骤:检测所述外部设备何时可供所述计算设备使用;使用来自于所述旋转式存储设备的扇区的副本来填充所述外部存储器设备;以及重定向来自所述计算设备或应用程序的、对存储在所述扇区上的数据的I/O读请求,以从所述外部存储器设备中透明地读到所述计算设备或应用程序。 An external memory device to improve performance of the method comprises computing device rotating storage device, comprising the steps of: detecting the external device when the computing device for use; use from the rotary storage a copy of the sector device to fill the external memory device; and redirect the computing device or from the application, the data stored on the sector of the I / O read request from said external memory devices transparently read the computing device or application.
2.如权利要求1所述的方法,其特征在于,所述使用来自旋转式存储设备的扇区填充所述外部存储器设备的步骤包括使用来自硬盘驱动器和多媒体驱动器之一的扇区的副本来填充所述外部存储器设备的步骤。 2. The method of claim 1, wherein said step of using a sector from the rotating storage device filling the external memory device comprises using one of the sector from the hard drive and a multimedia drive to copy the step of filling the external memory device.
3.如权利要求1所述的方法,其特征在于,所述使用来自旋转式存储设备的扇区填充所述外部存储器设备的步骤包括以下步骤:检测是否有使用情况历史记录可用;以及使用所述历史记录指示为可能将被使用的扇区的副本来填充所述外部存储器设备。 3. The method of claim 1, wherein said step of using a sector from the rotating storage device filling the external memory device comprising the steps of: detecting whether there is the history of usage is available; and using the said history recording instruction for copies may be used to fill the sector of the external memory device.
4.如权利要求3所述的方法,其特征在于,还包括如果所述使用情况历史记录不可用,那么使用正被所述计算设备或应用程序访问的扇区的副本来填充所述外部存储器设备。 4. The method according to claim 3, characterized in that, further comprising if the usage history is not available, then use the copy of the computing device is being accessed by the application or the sector to fill the external memory equipment.
5.如权利要求1所述的方法,其特征在于,还包括为所述外部存储器设备安装驱动程序的步骤。 5. The method according to claim 1, characterized in that it further comprises an external memory device for the driver installation step.
6.如权利要求1所述的方法,其特征在于,所述外部存储器设备包括多个外部存储器设备,所述方法还包括通过填充最有可能在所述多个外部存储器设备中的外部存储器设备上访问的扇区,来对安装在所述多个外部存储器设备上的扇区区分优先次序的步骤,所述外部存储器设备与所述多个外部存储器设备的其它外部存储器设备相比拥有较好的带宽和等待时间。 6. The method according to claim 1, characterized in that the external memory device includes a plurality of external memory devices, the method further comprises filling the external memory device is most likely in the plurality of external memory devices accessed on a sector, the sector to differentiate step mounted on the plurality of external memory devices of priorities, the external memory device with other external memory devices of the plurality of external memory devices have better compared bandwidth and latency.
7.如权利要求1所述的方法,其特征在于,还包括以下步骤:检测写操作何时被定向到所述旋转式存储设备中已经被复制到所述外部存储器设备上的扇区;启动对所述旋转式存储设备的扇区的写操作;当完成所述写操作后,将所述扇区复制到所述外部存储器设备。 7. The method according to claim 1, characterized in that, further comprising the steps of: detecting when a write operation is directed to said rotating storage device has been copied to the sector of the external memory device; Start the sector of the rotating storage device write operation; Upon the completion of the write operation, the copy of the sector to the external memory device.
8.如权利要求1所述的方法,其特征在于,还包括以下步骤:检测所述外部存储器设备何时不再可供所述计算设备使用;以及定向来自所述计算设备或应用程序的、对被复制到所述外部存储器设备的扇区上的数据的I/O读请求,以从所述旋转式存储设备中读取。 8. The method according to claim 1, characterized in that, further comprising the steps of: detecting when the external memory device is no longer available to the computing device; and directed from the computing device or the application, on the sector of data is copied to the external memory device on the I / O read request to read from the rotating storage device.
9.如权利要求1所述的方法,其特征在于,所述外部存储器设备包括多个外部存储器设备,所述方法还包括以下步骤:检测所述外部存储器设备中的一个何时不再可供所述计算设备使用;如果所述外部存储器设备中的一个不是所述多个外部存储器设备中最慢的外部存储器设备,那么使用来自所述旋转式存储设备的扇区重新填充剩余的外部存储器设备。 9. The method according to claim 1, characterized in that the external memory device includes a plurality of external memory devices, said method further comprising the steps of: detecting said external memory device is no longer available when a using the computing device; if the external memory device in one of said plurality of external memory devices is not the slowest external memory device, then the use of a sector from the rotating storage device re-fill the remaining external memory devices .
10.如权利要求1所述的方法,其特征在于,使用来自所述旋转式存储设备的扇区填充所述外部存储器设备的步骤包括以下步骤:预测哪些扇区可能将被访问;以及使用可能被访问的扇区填充所述外部存储器设备。 10. The method according to claim 1, characterized in that the use of a sector from the rotating storage device of the step of the external memory device comprising the steps of filling: predicting which sectors can be accessed; and use may filling the sector to be accessed external memory device.
11.如权利要求1所述的方法,其特征在于,还包括以下步骤;检测所述计算设备何时断电或进入休眠;将含有配置数据的扇区复制到所述外部存储器设备中,使得所述配置数据拥有与所述旋转式存储设备的自旋到位时间大致相等的初始化时间;以及当所述旋转式存储设备在所述计算设备的引导或所述计算设备从休眠中恢复的至少一种的过程中自旋到位时,将所述外部存储器设备中的配置数据初始化至系统存储器。 11. The method according to claim 1, characterized in that, further comprising the steps of; detecting when the computing device is powered down or entering hibernation; sectors containing the configuration data is copied to the external memory device, such that the configuration data has in place and time of the spin-rotating storage device is substantially equal to the initialization time; and when at least one of said rotary storage device calculates the boot of the computing device or devices to recover from hibernation species during the course of the spin in place, the external memory device configuration data to initialize the system memory.
12.如权利要求1所述的方法,其特征在于,用来自所述旋转式存储设备的扇区的副本填充所述外部存储器设备的步骤包括使用来自所述旋转式存储设备的扇区的副本异步地填充所述外部存储器设备的步骤。 12. The method of claim 1, wherein the step of using a copy of a sector from the rotating storage device filling the external memory device comprises the use of a sector from the rotating storage device copies Step asynchronous external memory device fills the.
13.一种利用外部存储器设备来改进含有旋转式存储设备的计算设备的性能的系统,所述系统包括:外部存储器设备管理器模块,它与所述计算设备的存储器管理器和所述旋转式存储设备进行通信,所述外部存储器设备模块具有至少一个含有计算机可执行指令的计算机可读介质,所述计算机可执行指令用于执行以下步骤:检测所述外部存储器设备何时可供所述计算设备使用;使用来自所述旋转式存储设备的扇区的副本来填充所述外部存储器设备;以及重定向来自所述计算设备或应用程序的、对存储在所述扇区上的数据的I/O读请求,以从所述外部存储器设备中读取。 13. A use of an external memory device to improve performance of the system comprising a computing device of the rotary storage device, the system comprising: an external memory device manager module, a memory manager with said computing device and said rotary storage devices to communicate, the external memory device module has at least one computer containing computer-executable instructions readable medium having computer-executable instructions for performing the steps of: detecting when the external memory device for the calculation of equipment; use from a copy of the sector rotating storage device to fill the external memory device; and redirect the computing device or from the application, the data stored on the sector of the I / O read request to read from the external memory device.
14.如权利要求13所述的系统,其特征在于,使用来自所述旋转式存储设备的扇区来填充所述外部存储器设备的步骤包括以下步骤:检测是否有使用情况历史记录可用;以及使用由所述历史情况记录指示为可能被使用的扇区的副本来填充所述外部存储器设备。 14. The system according to claim 13, characterized in that, using a sector from the rotating storage device to said external memory device filling step comprises the steps of: detecting whether there is the history of usage is available; and using a copy of the history of the recording instruction from the sector may be used to fill the external memory device.
15.如权利要求13所述的系统,其特征在于,所述外部存储器设备管理器还具有用于执行以下步骤的计算机可执行指令:通过填充最有可能在所述多个外部存储器设备中的外部存储器设备上访问的扇区,来对安装在所述多个外部存储器设备上的扇区区分优先次序,所述外部存储器设备与所述多个外部存储器设备中的其它外部存储器设备相比拥有较好的带宽和等待时间。 15. The system of claim 13, wherein said external memory device manager for further having computer-executable instructions to perform the following steps: by filling most likely in the plurality of external memory devices the external memory device to access the sector, to the sector is mounted on the plurality of external memory devices prioritized, the external memory device and the plurality of external memory devices compared to other external memory devices have better bandwidth and latency.
16.如权利要求13所述的系统,其特征在于,所述外部存储器设备是远程连接至所述系统的。 16. The system of claim 13, wherein said external memory device is connected to the remote system.
17.如权利要求13所述的系统,其特征在于,所述旋转式存储设备包括硬盘驱动器和多媒体驱动器中的至少一个。 17. The system of claim 13, wherein said rotating storage device comprises at least one hard disk drive and a multimedia drive.
18.如权利要求17所述的系统,其特征在于,所述扇区的副本是以所述多媒体驱动器所需的格式写的。 18. The system according to claim 17, characterized in that a copy of the sector is required to drive the multimedia format written.
19.如权利要求13所述的系统,其特征在于,所述外部存储器设备是连接至所述计算设备的的通用串行总线2(USB2)总线的。 19. The system of claim 13, wherein said external memory device is connected to the computing device of the Universal Serial Bus 2 (USB2) bus.
20.至少一个含有用于执行如权利要求1所述的步骤的计算机可执行指令的计算机可读介质。 20. A computer comprising at least one step for executing as claimed in claim 1, wherein the computer-executable instructions readable media.
21.如权利要求20所述的至少一个计算机可读介质,其特征在于,使用来自所述旋转式存储设备的扇区来填充所述外部存储器设备的步骤包括使用来自硬盘驱动器和多媒体驱动器中的一个的扇区的副本来填充所述外部存储器设备的步骤。 21. The claim 20, wherein the at least one computer readable medium, characterized in that, using a sector from the rotating storage device to said charging step comprises the use of the external memory device from the hard disk drive and a multimedia drive A copy of a sector to the step of filling the external memory device.
22.如权利要求20所述的至少一个计算机可读介质,其特征在于,使用来自所述旋转式存储设备的扇区来填充所述外部存储器设备的步骤包括以下步骤:检测是否有使用情况历史记录可用;以及使用所述历史记录指示为可能被使用的扇区的副本来填充所述外部存储器设备。 22. Claim 20, wherein the at least one computer readable medium, characterized in that, using a sector from the rotating storage device to said external memory device filling step comprises the steps of: detecting whether the usage history records are available; and using the copy history may be used for indicating a sector to fill the external memory device.
23.如权利要求22所述的至少一个计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令:如果所述使用情况历史记录不可用,那么使用正被所述计算设备或应用程序访问的扇区的副本来填充所述外部存储器设备。 23. The claim 22 of at least one computer readable medium, characterized by, further comprising computer-executable instructions for performing the steps of: if the case history of the use is not available, then the calculation is being used a copy of the device or application to access the sector to fill the external memory device.
24.如权利要求20所述的至少一个计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令:为所述外部存储器设备安装驱动程序。 24. Claim 20 wherein the at least one computer readable medium, characterized in that, further comprising computer-executable steps for performing the following instructions: the external memory device is to install the driver.
25.如权利要求20所述的至少一个计算机可读介质,其特征在于,所述外部存储器设备包括多个外部存储器设备,所述至少一个计算机可读介质还具有用于执行以下步骤的计算机可执行指令:通过填充最有可能在所述多个外部存储器设备中的外部存储器设备上访问的扇区来对安装在所述多个外部存储器设备的扇区区分优先次序,所述外部存储器设备与所述多个外部存储器设备中的其它外部存储器设备相比拥有较好的带宽和等待时间。 25. Claim 20, wherein the at least one computer readable medium, wherein said external memory device comprises a plurality of external memory devices, the at least one computer readable medium further includes a computer for performing the steps may be Instruction: filling sectors most likely to be accessed by an external device in said plurality of memory devices to the external memory installed in the sectors of the plurality of external memory devices prioritized, the external memory device and said plurality of external memory devices compared to other external memory devices have a better bandwidth and latency.
26.如权利要求20所述的至少一个计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令:检测写操作何时被定向到所述旋转式存储设备中已经被复制到所述外部存储器设备的扇区;启动对所述旋转式存储设备的扇区的写操作;当完成所述写操作后,将所述扇区复制到所述外部存储器设备。 26. Claim 20 wherein the at least one computer readable medium, characterized in that, further comprising computer-executable steps for performing the following instructions: detecting when a write operation is directed to said rotating storage device has been copied to a sector of the external memory device; start writing to the sector of the rotating storage device; and when the write operation is completed, the copy of the sector to the external memory device.
27.如权利要求20所述的至少一个计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令:检测所述外部存储器设备何时不再可供所述计算设备使用;以及定向来自所述计算设备或应用程序的、对被复制到所述外部存储器设备的扇区上的数据的I/O读请求,以从所述旋转式存储设备中读取。 27. Claim 20 wherein the at least one computer readable medium, characterized in that, further comprising computer-executable steps for performing the following instructions: detecting when the external memory device is no longer available to the computing device ; and orientation from the computing device or an application, the data is copied to the sector of the external memory device on the I / O read request to read from the rotating storage device.
28.如权利要求20所述的至少一个计算机可读介质,其特征在于,所述外部存储器设备包括多个外部存储器设备,所述至少一个计算机可读介质还具有用于执行以下步骤的计算机可执行指令:检测所述外部存储器设备中的一个何时不再可供所述计算设备使用;如果所述外部存储器设备中的一个不是所述多个外部存储器设备中最慢的外部存储器设备,那么使用来自所述旋转式存储设备的扇区重新填充剩余的外部存储器设备。 28. Claim 20 wherein the at least one computer readable medium, wherein said external memory device comprises a plurality of external memory devices, the at least one computer readable medium further includes a computer for performing the steps may be Instruction: detecting said external memory device is no longer available when a device using the computing; if the external memory device in a plurality of external memory devices is not the slowest external memory device, Use of sectors from the rotating storage device re-fill the remaining external memory devices.
29.如权利要求20所述的至少一个计算机可读介质,其特征在于,使用来自所述旋转式存储设备的扇区填充所述外部存储器设备的步骤包括以下步骤:预测哪些扇区可能将被访问;以及使用可能被访问的扇区填充所述外部存储器设备。 29. Claim 20, wherein the at least one computer readable medium, characterized in that, using a sector from the rotating storage device of the step of the external memory device comprising the steps of filling: predict which sectors may be Access; and may be accessed using sector filling the external memory device.
30.如权利要求20所述的至少一个计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令:检测所述计算设备何时断电或进入休眠;将含有配置数据的扇区复制到所述外部存储器设备中,使得所述配置数据拥有与所述旋转式存储设备的自旋到位时间大致相等的初始化时间;以及当所述旋转式存储设备在所述计算设备的引导或所述计算设备从休眠中恢复的至少一种的过程中自旋到位时,将所述外部存储器设备中的配置数据初始化至系统存储器。 30. The claim 20, wherein at least one computer readable medium, characterized in that, further comprising computer-executable steps for performing the following instructions: detecting when the computing device is powered down or entering hibernation; containing configuration data sector is copied to the external memory device, such that the configuration data has time to spin in place of the rotating storage device is substantially equal to the time of initialization; and when the rotary storage device of the computing device boot or at least one of the computing process equipment to recover from hibernation spin in place, the external memory device configuration data to the system memory initialization.
Description  translated from Chinese
使用外部存储器设备来改进系统性能 For external memory devices to improve system performance

技术领域 FIELD

本发明一般涉及计算机系统,尤其涉及改进计算机系统的性能。 The present invention relates generally to computer systems and more particularly relates to improvements in the performance of computer systems.

背景技术 BACKGROUND

诸如个人计算机、游戏控制台、智能电话机计算设备通常使用耗时的过程来将由应用程序使用的页装载和高速缓存至存储器。 Such as personal computers, game consoles, smart phones computing devices typically use a time-consuming procedure to be used by the application pages to load and cache memory. 这些页通常存储在诸如磁硬盘等旋转式非易失性介质(例如,硬盘驱动器)上。 These pages are typically stored in magnetic hard disk drives, such as rotating non-volatile media (for example, a hard disk drive). 然而,设备的处理器仅执行来自于诸如DRAM或某些其它类型的易失性电子存储器等可寻址存储器的指令。 However, the device only comes from the instruction executed by a processor such as DRAM or some other type of volatile electronic memory or the like of addressable memory. 在计算设备中使用的操作系统将由应用程序使用的页高速缓存至存储器,使得应用程序不必频繁地从旋转式介质中装载页。 Operating system used in computing devices will be used by the application to cache memory pages, making the application does not need frequent load pages from rotating media.

对来自于硬盘驱动器的页的传输是缓慢的,尤其是当应用程序装载一个大文件的时候。 On the hard disk drive from the page transmission is slow, especially when the application is loaded when a large file. 这对将计算机系统从休眠模式中恢复也是普遍的。 This computer system resumes from sleep mode is also common. 传输时间中的重要因素是由于磁盘驱动器的自旋到位的速度。 The important factor in transmission time due to the disk drive in place of the spin speed. 以相对较慢的RPM自旋的相对较小的磁盘需要5至6秒来自旋到位而可被使用。 A relatively slow RPM spin relatively small disk needs 5-6 seconds from the spin in place and can be used. 诸如多盘设备等较大的磁盘以及以较快RPM自旋的磁盘需要10至12秒甚至更多时间来自旋到位。 Such as large multi-disk and disk devices such as disk spins at a faster RPM needs 10-12 seconds or even more time from spin in place.

随着应用程序在大小上增长以包括安全性修补且变得更可靠,该问题恶化了。 As applications grow in size to include security patches and becomes more reliable, the problem worsened. 这些应用程序通常需要更多的存储器以便在不需连续不断地将数据传输到旋转式存储介质和从旋转式存储介质中传输数据的情况下操作。 These applications typically require more memory so without continuously transmit data to the case of rotating the storage medium and storage medium from the rotary operation of the transmission data. 然而,升级机器的存储器通常对公司和终端用户太过昂贵,或者是超出个别用户的技能程度的。 However, the machine's memory upgrade is usually too expensive for companies and end users, or beyond the level of skills of individual users. 尽管存储器本身的成本是低廉的,但是涉及到物理地打开每台机器并添加RAM的劳动量和停机时间可能花费几百美元。 Although the cost of memory itself is low, but relates to a physical opening each machine and adding labor and downtime RAM may cost several hundred dollars.

升级机器的存储器太过昂贵的另一个问题是在系统需要偶尔执行比常规应用程序更大且更复杂的应用程序的时候。 Too expensive to upgrade the machine's memory is another problem in the system than conventional larger and more complex the application, when an application needs to perform occasionally. 例如,公司的会计人员可能需要一个月运行合并应用程序几次。 For example, the company's accounting staff may need to run the combined application several times a month. 更大且更复杂的应用程序需要更多的存储器来有效地运行。 Larger and more complex applications require more memory to run efficiently. 尽管存储器本身的成本是低廉的,但是涉及到物理地打开每台机器并添加RAM的劳动量和停机时间可能花费几百美元。 Although the cost of memory itself is low, but relates to a physical opening each machine and adding labor and downtime RAM may cost several hundred dollars. 该成本对于用于几次运行应用程序的额外存储器可能不是合适的。 The cost for the extra memory for running several applications may not be appropriate.

发明内容 SUMMARY

本发明针对一种改进的存储器管理体系结构,它提供了一种利用外部存储器(易失性或非易失性)设备来高速缓存来自硬盘(即,磁盘扇区)和/或较慢的存储器组件的扇区以改进系统性能的系统、方法和机制。 The present invention is directed to an improved memory management architecture that provides an external memory (volatile or non-volatile) devices to cache (, i.e., disk sectors) and / or slower memory from the hard disk sector component system to improve system performance, methods and mechanisms. 当外部存储器设备(EMD)被插入至计算设备或其中连接计算设备的网络上时,系统识别该EMD并使用磁盘扇区和/或存储器扇区来填充EMD。 When the external memory device (EMD) is inserted into the computing device or on a network connected computing device wherein the system recognizes the EMD and use disk sectors and / or memory sector to fill EMD. 系统将定向到扇区的I/O读请求路由到EMD高速缓存而非实际的扇区。 The system will be directed to the sector of I / O read request is routed to the EMD cache instead of the actual sectors. 如果EMD被连接至USB2局部总线,则访问时间可以比从硬盘中读取快20倍。 If USB2 EMD is connected to the local bus, the access time can be read from the hard drive faster than 20-fold. 对EMD的使用以向计算设备添加存储器的成本的一小部分提高了计算设备系统的性能和生产率。 Use of EMD to add to the cost of the computing device of a small portion of memory to improve the performance and productivity of a computing device system. 另外,诸如Xbox等消费者设备可以使用EMD的存储器来运行更丰富的软件。 In addition, such Xbox and other consumer devices can use EMD memory to run richer software.

系统检测何时对于该计算设备第一次使用EMD。 System detects when the computing device for the first time using EMD. 检测EMD的类型并安装用于在EMD上高速缓存磁盘扇区的驱动程序。 EMD type detection and installation for the EMD cache disk sectors driver. 该驱动程序使用EMD作为异步高速缓存,从而高速缓存了来自系统上的任何磁盘和/或较慢的存储器设备的扇区。 The driver uses the EMD as an asynchronous cache, which caches the sector from any disk on the system and / or slower memory devices. 如果没有关于在频繁访问方面哪些扇区更有价值的先验知识,系统可以使用计算机器上的数据来确定使用哪些扇区来填充EMD高速缓存。 If there is no data on the sector in which frequent access more valuable aspects of a priori knowledge of the system can be used on a computer is used to determine which sectors to fill the EMD cache. 或者,当在操作期间访问一特定扇区时,系统使用该特定扇区来填充EMD高速缓存。 Alternatively, when during the operation of access to a particular sector, the system uses the particular session to populate EMD cache. 当下一次要访问该特定扇区用于读操作时,系统指示读操作访问来自EMD的副本。 The next time you want to access this particular sector for a read operation, the system indicates that the read access from a copy of EMD.

系统可以跟踪使用模式并确定哪些磁盘扇区是最频繁访问的。 The system can track usage patterns and determine which disk sectors are most frequently accessed. 在对EMD的后续使用中,系统将那些最频繁被访问的扇区高速缓存至EMD。 In subsequent use of EMD in those sectors will be the most frequently accessed cache to EMD. 如果当计算设备通电时EMD存在,那么可以使用操作系统启动过程中的数据来重新填充EMD。 If, when the computing device is powered EMD exist, you can use the operating system boot process data to repopulate EMD.

当参考附图开始阅读以下说明性实施例的详细描述时,本发明的另外的特征和优点会变得显而易见。 When reading the detailed description with reference to the accompanying drawings started following illustrative embodiments, the additional features and advantages of the present invention will become apparent.

附图说明 Brief Description

尽管所附权利要求书使用特性描述了本发明的特征,但是本发明及其目标和优点可以结合附图从以下具体实施方式中得到最好的理解,附图中:图1是概括地示出其上驻留本发明的示例性计算机系统的框图;图2是示出根据本发明的一个方面的存储器管理体系结构的框图;以及图3a-3b是概括地示出本发明在使用外部存储器设备来改进系统性能时所采取的步骤的流程图。 Although the appended claims are described using the characteristic features of the present invention, but the present invention and its objects and advantages may best be understood with reference from the following detailed description, the accompanying drawings in which: Figure 1 is shown generally reside is a block diagram of an exemplary computer system of the present invention; Figure 2 is a block diagram showing the structure of the memory management system in accordance with one aspect of the present invention; and Figure 3a-3b is generally illustrating the present invention in the use of an external memory device flowchart of the steps to improve the system performance when taken.

具体实施方式 DETAILED DESCRIPTION

本发明针对一种改进的存储器管理体系结构,该体系结构提供了一种使用外部存储器(易失性或非易失性)设备来高速缓存来自硬盘的扇区(即,磁盘扇区)或来自较慢存储器设备的扇区以改进系统性能的系统、方法和机制。 The present invention is directed to an improved memory management architecture, the architecture provides a method of using an external memory (volatile or non-volatile) devices to cache sectors from the hard disk (i.e., disk sectors), or from Sector slower memory devices to improve the systems, methods and mechanisms of the system performance. 例如,众多种类的便携式计算设备不含有硬盘驱动器或旋转式介质存储设备,但是仍实现分层存储器体系结构。 For example, many types of portable computing device does not contain a hard drive or rotating media storage devices, but still achieve the hierarchical memory architecture. 这些便携式计算设备会从本发明中大大获益,因为本发明允许这些设备在办公室内执行更大且更复杂的企业应用程序。 These portable computing devices will greatly benefit from the present invention, since the present invention allows the device to perform a larger and more complex enterprise applications in the office. 随着802.11n的出现,200-500Mb无线连接可以对任何无线设备可用,且对外部存储器设备和/或基于存储器服务器的网络的使用会改进系统性能。 With the emergence of 802.11n, 200-500Mb wireless connection may be available to any wireless device, and an external memory device and / or network-based server using a memory will improve system performance on.

外部存储器用于高速缓存来自在访问数据方面一般较慢的设备的数据,使得对由应用程序/操作系统所使用的数据的访问时间可以更快,从而改进性能。 External memory for caching data from a slower device generally in terms of accessing the data, such that the data from the application / operating system used by the access time faster and thereby improve performance. 对在其中添加实际RAM太过昂贵的较老的计算设备,使用外部存储器设备会以该成本的一小部分来增加该较老设备的性能和生产率,并使得用户能够在现有硬件上获取对较新的软件应用程序的可靠性、安全性和生产率的改进。 Added to the actual RAM too expensive older computing device, using the external memory device will be a fraction of the cost to increase the performance and productivity of the older devices, and enables the user to access to existing hardware Reliability newer software applications, to improve the safety and productivity. 例如,诸如Xbox等消费者设备通过以改进的图形和性能运行更丰富的软件来获益。 For example, as Xbox and other consumer devices running performance improvements in graphics and richer software to benefit. 另外,对该目的所需的存储器数量可能大大少于将系统更新至给定水平所需的存储器的数量。 Further, the amount of memory required for the purpose of the system may be considerably less than the level required to update to a given amount of memory.

转向附图,本发明被示为在合适的计算环境中实现,附图中,同样的参考标号指的是同样的元素。 Turning to the drawings, the present invention is shown as being implemented in a suitable computing environment, the drawings, like reference numerals refer to like elements. 尽管不是必需的,但本发明可在诸如由个人计算机执行的程序模块等计算机可执行指令的通用语境中描述。 Although not required, but the present invention may be described by a personal computer, such as program modules, executed by computer-executable instructions generic context. 一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。 Generally, program modules include routines, programs, objects, components, data structures, etc. that implement particular abstract data types or perform particular tasks. 此外,本领域的技术人员可以理解,本发明可以使用其它计算机系统配置来实现,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子产品、网络PC、小型机、大型计算机等。 In addition, those skilled in the art can appreciate that the present invention can be used to achieve other computer system configurations, including handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PC, minicomputers, mainframe computers. 本发明也可以在分布式计算环境中实现,其中任务由通过通信网络连接的远程处理设备来执行。 The present invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices linked through a communications network to perform. 在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。 In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

图1示出了可在其上实现本发明的合适的计算系统环境100的示例。 Figure 1 illustrates an example of which can be implemented on the present invention suitable computing system environment 100 in. 计算系统环境100只是合适的计算环境的一个示例,并不旨在对本发明的使用范围或功能提出任何限制。 The computing system environment 100 is only one example of a suitable computing environment and is not intended scope of use or functionality of the invention to suggest any limitation. 也不应该把计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。 Neither should the computing environment 100 be interpreted as an exemplary operating environment 100 shown in any one or combination of components having any dependency or requirement.

本发明可用众多其它通用或专用计算系统环境或配置来操作。 The present invention can be used with numerous other general purpose or special purpose computing system environments or configurations. 适合在本发明中使用的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持或膝上型设备、图形输入板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、游戏控制台、智能电话、个人数据助理、小型机、大型机、包含上述系统或设备中的任一个的分布式计算机环境等。 Suitable well known for use in the present invention the computing system, the example environment and / or configurations include, but are not limited to, personal computers, server computers, hand-held or laptop devices, tablet devices, multiprocessor systems, microprocessor-based processor-based systems, set top boxes, programmable consumer electronics, network PC, game consoles, smart phones, personal data assistants, minicomputers, mainframes, including the above systems or devices, either a distributed computing environment.

本发明可在诸如由计算机执行的程序模块等计算机可执行指令的通用语境中描述。 The present invention may be described in a computer, such as program modules, executed by computer-executable instructions general context. 一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。 Generally, program modules include routines, programs, objects, components, data structures, etc. that implement particular abstract data types or perform particular tasks. 本发明也可以在分布式计算环境中实现,其中任务由通过通信网络连接的远程处理设备来执行。 The present invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices linked through a communications network to perform. 在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。 In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices in.

参考图1,用于实现本发明的一个示例性系统包括计算机110形式的通用计算设备。 Referring to Figure 1, an exemplary system for implementing the present invention includes a computer 110 in the form of a general purpose computing device. 计算机110的组件可以包括,但不限于,处理单元120、系统存储器130和将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。 Components of computer 110 may include, but are not limited to, a processing unit 120, a system memory 130 and the various system components including the system memory to the processing unit couples system bus 121 120. 系统总线121可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。 System bus 121 may be any of several types of bus structures either including a memory bus or memory controller, a peripheral bus, and a variety of bus architectures using any of a local bus. 作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、扩展的ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也被称为Mezzanine总线)。 By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus (also known as Mezzanine bus).

计算机110通常包括各种计算机可读介质。 Computer 110 typically includes a variety of computer readable media. 计算机可读介质可以是能够被计算机110访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。 Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. 作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。 By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. 计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。 Computer storage media includes any method or technology for storage of information such volatile and non-volatile information of computer readable instructions, data structures, program modules or other data, removable and non-removable media. 计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机110访问的任何其它介质。 Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or can be used to store the desired information and any other medium which can be accessed by the computer 110. 通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。 Communication media may typically be embodied as a carrier wave or other transport mechanism in a modulated data signal in a computer-readable instructions, data structures, program modules, or other data, and includes any information delivery media. 术语“已调制数据信号”指的是这样一种信号,其一个或多个特征以在信号中编码信息的方式被设定或更改。 The term "modulated data signal" means a signal that has one or more features to encode information in the signal mode is set or changed. 作为示例,而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。 By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. 上述中任一个的组合也应包括在计算机可读介质的范围之内。 Combinations of any of the above should also be included within the scope of computer-readable media.

系统存储器130包括易失性或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)131和随机存取存储器(RAM)132。 The system memory 130 includes volatile or nonvolatile memory in the form of computer storage media, such as read only memory (ROM) 131 and random access memory (RAM) 132. 基本输入/输出系统133(BIOS)包含有助于诸如启动时在计算机110中元件之间传递信息的基本例程,它通常存储在ROM 131中。 Basic input / output system 133 (BIOS) is included in the computer 110 that help to transfer information between elements such as the basic routines start, it is usually in the ROM 131 is stored. RAM 132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。 RAM 132 typically contains a processing unit 120 may be immediately accessible to and / or presently being operated on the data and / or program modules. 作为示例,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。 By way of example, and not limitation, Figure 1 illustrates operating system 134, application programs 135, other program modules 136, and program data 137.

计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。 The computer 110 may also include other removable / non-removable, volatile / nonvolatile computer storage media. 仅作为示例,图1示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器141,从可移动、非易失性磁盘152中读取或向其写入的磁盘驱动器151,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘156中读取或向其写入的光盘驱动器155。 Of example only, Figure 1 illustrates, nonvolatile magnetic media 141 is read from the non-removable or, from a removable, nonvolatile magnetic disk 152 read or write to the hard disk drive writes to its The magnetic disk drive 151, and from such as a CD ROM or other optical media to a removable, nonvolatile optical disk 156 is read from or written to the optical disk drive 155. 可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。 Can be used in the exemplary operating environment other removable / non-removable, volatile / nonvolatile computer storage media including, but not limited to, cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM , solid state ROM, and the like. 硬盘驱动器141通常由不可移动存储器接口,诸如接口140连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由可移动存储器接口,诸如接口150连接至系统总线121。 Hard disk drive 141 is typically connected to interface 140, such as a non-removable memory interface to the system bus 121, magnetic disk drive 151 and optical disk drive 155 are typically, such as interface 150 by a removable memory interface connected to the system bus 121.

以上描述和在图1中示出的驱动器及其相关联的计算机存储介质为计算机110提供了对计算机可读指令、数据结构、程序模块和其它数据(例如,多媒体数据、音频数据、视频数据等)的存储。 Described above and shown in Figure 1 drives and their associated computer storage media provide storage of computer readable instructions for the computer 110, data structures, program modules and other data (e.g., multimedia data, audio data, video data, etc. ) storage. 例如,在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。 For example, in Figure 1, a hard disk drive 141 is illustrated as storing operating system 144, application programs 145, other program modules 146, and program data 147. 注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。 Note that these components can either be the operating system 134, application programs 135, other program modules 136, and program data 137 are the same or different. 操作系统144、应用程序145、其它程序模块146和程序数据147在这里被标注了不同的标号是为了说明至少它们是不同的副本。 Operating system 144, application programs 145, other program modules 146, and program data 147 are given different numbers here to illustrate that they are at least different copies. 用户可以通过输入设备,诸如键盘162和定点设备161(通常指鼠标、跟踪球或触摸垫)、麦克风163以及图形输入板或电子数字化仪164向计算机110输入命令和信息。 The user can enter the device, such as a keyboard 162 and pointing device 161 (commonly referred to a mouse, trackball or touch pad), a microphone 163, and a tablet or electronic digitizer 164 enter commands and information into the computer 110. 其它输入设备(未示出)可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。 Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, and so on. 这些和其它输入设备通常由耦合至系统总线的用户输入接口160连接至处理单元120,但也可以由其它接口或总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。 These and other input devices are often coupled to the input from the user interface to the system bus 160 is connected to the processing unit 120, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB) connection. 监视器191或其它类型的显示设备也经由接口,诸如视频接口190连接至系统总线121。 A monitor 191 or other type of display device is also via an interface, such as a video interface 190 is connected to the system bus 121. 监视器191也可以与触摸屏面板或其类似物集成。 A monitor 191 may also be integrated with a touch-screen panel or the like. 注意,监视器和/或触摸屏面板可以被物理地耦合至包含计算设备110的外壳,诸如在图形输入板类型的个人计算机中那样。 Note that the monitor and / or touch screen panel can be physically coupled to a housing 110 comprising a computing device, such as in a tablet-type personal computer. 此外,诸如计算设备110的计算机也可以包括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过输出外围接口195或其类似物连接。 In addition, a computer such as the computing device 110 may also include other peripheral output devices such as speakers 197 and printer 196, which may be through an output peripheral interface 195 or the like is connected.

计算机110可使用至一个或多个远程计算机,诸如远程计算机180的逻辑连接在网络化环境中操作。 The computer 110 may be used to one or more remote computers, such as a remote computer 180. The logical connections operate in a networked environment. 远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机110描述的许多或所有元件,尽管在图1中只示出存储器存储设备181。 The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage in Fig. 1 device 181. 图1中所示逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。 Logic shown in Figure 1 include a local area (LAN) 171 and a wide area network (WAN) 173, but may also include other networks. 这样的网络环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。 Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet is common. 例如,计算机系统110可以包括从中迁移数据的源机器,而远程计算机180可以包括目标机器。 For example, computer system 110 may comprise source machine from which data is migrated, and the remote computer 180 may comprise the target machine. 然而,注意到,源机器和目标机器不需要由网络或任何其它手段连接,而是相反,数据可以经由能够由源平台写入并由一个或多个目标平台读取的任何介质来迁移。 However, note that the source and destination machines need not be connected by a network machine, or any other means, but instead, data may be any medium that can be written by one or more target platforms via read by the source platform to migrate.

当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至局域网171。 When used in a LAN networking environment, the computer 110 is connected through a network interface or adapter 170 to the LAN 171. 当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过诸如因特网等WAN 173建立通信的其它装置。 When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173 such as the Internet. 调制解调器172可以是内部或外部的,它可以通过用户输入接口160或其它合适的机制连接至系统总线121。 The modem 172 can be internal or external, it can enter 160 or other appropriate mechanism interface connected to the system bus 121 via the user. 在网络化环境中,相对于计算机110所描述的程序模块或其部分可以存储在远程存储器存储设备中。 In a networked environment, relative to the computer 110 program modules described or portions thereof may be stored in the remote memory storage device. 作为示例,而非限制,图1示出了远程应用程序185驻留在存储器设备181上。 By way of example, and not limitation, Figure 1 illustrates remote application programs 185 as residing on memory device 181. 可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。 Can be appreciated that the network connections shown are exemplary and other means may be used to establish a communications link between the computers.

在随后的描述中,将参考由一台或多台计算机执行的动作和操作的符号表示来描述本发明,除非以其它方式指明。 In the following description, with reference to the operation by one or more computers perform symbolic representations of operations and the description of the present invention, unless otherwise specified. 如此,可以理解,有时被称为计算机执行的这样的动作和操作包括计算机的处理单元对以结构化形式表示数据的电子信号的操纵。 Thus, be appreciated that, sometimes called a computer to perform such an operation and the operation of the data in a structured form represented include the manipulation of an electronic signal processing unit of a computer. 该操纵转换了数据或在计算机的存储器系统中的位置上维护该数据,从而以本领域的技术人员都理解的方式重新配置或改变了计算机的操作。 The converted data is manipulated in a computer or a location on the memory system to maintain the data, thereby to those skilled in the art will understand the manner reconfigure or change the operation of the computer. 维护数据的数据结构是含有由数据的格式定义的特定属性的存储器的物理位置。 Maintaining a data structure containing data from the physical location of the particular properties defined by the format of the data memory. 然而,尽管本发明是在前述的环境中描述的,但是如本领域的技术人员可以理解的,它不旨在限制,之后描述的多个动作和操作也可以在硬件中实现。 However, although the present invention has been described in the foregoing environment, but as those skilled in the art can appreciate, it is not intended to be limiting, a plurality of actions and operations described later can be implemented in hardware.

现在转到图2,本发明提供了存储器管理器200,它控制常规设备存储器202且与外部存储器设备(EMD)管理器204进行通信。 Turning now to FIG. 2, the present invention provides a memory manager 200, which controls the memory 202 and the conventional apparatus with an external memory device (EMD) manager 204 to communicate. EMD管理器204在存储器管理器204下方,且在物理硬件2061、2062、208和网络210上方。 EMD manager 204 below the memory manager 204, and 210 and above the physical hardware 2061,2062,208 network. 物理硬件可以是位于本地的或可经由网络来访问的硬盘驱动器、诸如CD驱动器、DVD驱动器或复合CD/DVD驱动器的多媒体驱动器、光盘等。 Physical hardware may be located on a local hard drive or may be accessed via a network, such as a CD drive, DVD drive composite CD / DVD drive or a multimedia drive, CD-ROM. 尽管EMD管理器204被单独示出,但是可以认识到,EMD管理器204可以与存储器管理器200集成。 While EMD manager 204 is shown separately, it will be appreciated, EMD manager 204 can be integrated with the memory manager 200. EMD管理器204检测外部存储器设备(EMD)212何时可经由诸如即插即用等的常规方法来访问。 EMD manager 204 detects an external memory device (EMD) 212 when it via conventional methods such as plug and play to access. EMD 212可以是可被插入至计算设备的可移动固态非易失性存储器设备的形式,诸如根据由CompactFlash协会维护的CompactFlash规范的设备等。 EMD 212 may be in the form that can be inserted into a mobile computing device may be a non-volatile solid-state memory device, such as a device based on CompactFlash specification maintained by the CompactFlash Association, and the like. 它也可以是易失性存储器设备的形式。 It may also be in the form of volatile memory devices. 实际上,EMD可以被容纳在现有的外部附加产品上,诸如鼠标、键盘或网络附加设备,且在同一时刻可以存在多个这样附加设备。 Indeed, EMD can be accommodated on the existing external additional products, such as a mouse, keyboard, or network-attached devices, and a plurality of such additional devices may be present at the same time. 外部存储器设备的另一个替换位置是位于网络210上的远程位置或是诸如服务器上的存储器等网络基础架构的一部分。 Another alternative location of the external memory device is part of the network infrastructure located remote location on the network 210 such as a memory or the like on the server.

本发明可充分利用可在EMD中使用的存储器以在存储器中维护可能被应用程序使用的磁盘扇区,并指导定向到位于被复制至EMD存储器的磁盘扇区中的数据的I/O请求从EMD存储器中读取而非从磁盘上的扇区中读取。 The present invention can be used in the full use of EMD in memory to disk sectors may be used to maintain an application in memory, and the guidance is directed to be copied to the EMD memory located on disk sector data in the I / O requests from EMD read from memory rather than read a sector on the disk.

参考图3a和3b,现在描述本发明执行来利用外部存储器设备的步骤。 With reference to Figures 3a and 3b, the implementation of the present invention will now be described to use the external memory device step. 在随后的描述中,用来描述本发明的扇区将驻留在硬盘驱动器206上。 In the following description, the present invention is used to describe the sector will reside on the hard disk drive 206. 尽管本发明是在前述环境中描述的,但正如本领域的技术人员可以理解的,它不旨在限制,来自诸如CD/DVD设备208等需要自旋到位的其他设备的磁盘扇区可以被高速缓存在磁盘上。 Although the present invention has been described in the foregoing environment, but as those skilled in the art may be appreciated, it is not intended to be limiting, other devices such as a disk sector from CD / DVD device 208 and so on in place of the required spin speed can be caching on the disk. 高速缓存的扇区也可以驻留在较慢的存储器设备上。 Cache sector can reside on slower memory devices. 尽管图3a和3b顺序地示出各步骤,但是应该理解,这些步骤可以按不同的顺序和/或并行地采取。 While Figures 3a and 3b sequentially showing each step, it should be understood that these steps may be in a different order and / or in parallel to take. EMD管理器204检测EMD 212何时可用(步骤300)。 EMD manager 204 detects when available EMD 212 (step 300). 检测EMD的一种方法是2004年5月3日提交的名为“Non-Volatile Memory Cache Performance Improvement(非易失性存储器高速缓存性能改进)”的美国专利申请第10/837,986号中所描述的检测接口,该申请通过整体引用包含在此。 EMD is a method of detecting US Patent May 3, 2004 filed entitled "Non-Volatile Memory Cache Performance Improvement (non-volatile memory cache performance improvement)," the application No. 10 / 837,986 described detection interface, the application by reference in its entirety is included in this. 可以使用诸如常规的即插即用方法等其它方法。 Other methods may be used such as a conventional plug and play method. 确定EMD 212中可用的存储器的大小和类型。 Determine the size and type of memory EMD 212 available. 如果EMD 212在计算设备中第一次使用,那么为EMD 212安装驱动程序(步骤302)。 If the EMD 212 for the first time in a computing device, then install the drivers for the EMD 212 (step 302). 该驱动程序用于与EMD212通信,并使用EMD作为异步块高速缓存来高速缓存来自系统上的磁盘206的扇区。 This driver is used to communicate with EMD212, using EMD as an asynchronous block cache to cache sectors from the system disk 206. 在EMD可能缓慢并且等待它被更新可能会导致对原始读请求的等待时间增加的情况下,对高速缓存的更新是异步的。 In the EMD can be slow and wait for it to be updated may cause the case to the original read request wait time increases, the update to the cache is asynchronous.

如果有其它EMD可供使用,则系统通过将那些更可能被使用的磁盘扇区高速缓存在与其它可用EMD相比拥有更好的带宽和等待时间的EMD上来对如何填充EMD区分优先次序(步骤304)。 If there are other EMD is available, the system disk sector by those more likely to be used in cache (step compared with other available EMD has better bandwidth and latency on how to fill up the EMD EMD prioritize 304). 某些计算设备会跟踪磁盘使用情况,诸如哪个磁盘扇区最频繁被操作系统和应用程序访问、最近访问次数、访问模式、访问频率等。 Some computing devices will track disk usage, such as disk sectors which are most frequently access the operating system and applications, recent visits, access, access frequency. 如果该历史记录是可使用的,那么基于该历史记录填充EMD(步骤306)。 If the history is available, then based on the history filling EMD (step 306). 如果该历史记录不可用,那么使用在应用程序从磁盘中读取的过程中应用程序(或计算设备)所访问的磁盘扇区来填充EMD。 If the history is not available, then the use of the process application to read from the disk in the application (or computing device) accessed disk sector to fill the EMD. 注意,EMD可以用EMD所需的格式来填充。 Note that, EMD EMD can be used to fill the required format. 跟踪磁盘扇区的使用情况信息(即,历史记录)来确定在下一次EMD可使用时应该将哪些扇区镜像至EMD上。 Tracking disk sector usage information (ie, history) to determine when the next EMD can use a mirror to which sectors should be on the EMD. 使用的算法类似于如在2002年12月20提交的名为“Methods and Mechanisms for Proactive Memory Management(用于抢先存储器管理的方法和机制)”的美国专利申请第10/325,591号中描述用于抢先管理页存储器的算法,该申请通过整体引用包含在此。 US Patent Application algorithm similar to 2002 as filed December 20 entitled "Methods and Mechanisms for Proactive Memory Management (preemptive methods and mechanisms for memory management)," the No. 10 / 325,591 for the first to describe page memory management algorithm, which is included by reference in the application here. 不同之处在于,本发明确定哪些磁盘扇区对高速缓存是有用的,而非确定存储器中的哪些页对高速缓存是有用的。 The difference is, the present invention is to determine which disk sector cache is useful, not to determine which pages in memory cache is useful.

在其中计算设备位于网络化系统中的一个实施例中,网络服务器保留关于该计算机设备的信息,并采用协助EMD管理器204为计算设备管理本地存储器的远程算法。 In which the computing device in a network system in one embodiment, the network server maintains information about the computer equipment, and assist in the use of EMD manager 204 is a local memory of a computing device remote management algorithm. 该实施例尤其适用于不拥有存储器或计算机能力来确定应该高速缓存哪些磁盘扇区的低端客户机。 This embodiment is particularly suitable for storage or computer does not possess the ability to determine which disk sectors of the low-end client should cache. 该远程算法在客户机上执行对数据模式、访问模式等的详细分析,并产生比该低端客户机可以产生的更多的最优结果。 The remote algorithm performs a detailed analysis of the data pattern, the access pattern, etc. on the client, and produce more optimal results than the low-end client can produce.

在操作期间,应用程序或计算设备可以向被复制到EMD的磁盘扇区写入。 During operation, the application or computing device can be copied to a disk sector write to EMD. EMD从不被应用程序或计算设备写入。 EMD is never written to the application or computing device. 而是,写操作被应用于磁盘扇区。 Instead, the write operation is applied to the disk sector. 当写操作完成后,磁盘扇区被复制回EMD(步骤310)。 When the write operation is complete, disk sectors are copied back EMD (step 310). 使用该方法,使得如果移除了该EMD,不会丢失数据,诸如远程文件系统中当到远程文件系统的链接不可操作时的情况;相反,计算设备从磁盘中读取而非从EMD中读取。 Using this method, so that if you remove the EMD, without loss of data, such as remote file system when the situation can not link to a remote file system operation; on the contrary, the computing device is read from disk instead of reading from EMD take. 结果,本发明对诸如连接丢失、EMD移除等连接性问题更有抵抗力。 As a result, the present invention is of such a connection is lost, EMD is removed and other connectivity issues more resistant.

只要接收到I/O读请求,EMD管理器204就检查该请求是否定向到已经被复制到EMD 212的存储器的磁盘扇区。 As long as the received I / O read request, EMD manager 204 checks whether the request is directed to the disk sector has been copied to the EMD 212 memory. 如果读请求定向到已经被复制到EMD的存储器的磁盘扇区,那么EMD管理器204将该读请求重定向至EMD(步骤312)。 If the read request is directed to the sector has been copied to disk memory EMD, EMD manager 204 then the read request is redirected to the EMD (step 312). 结果是与在硬盘206上完成读请求相比,该读请求能够更快地完成。 The result is compared with the completion of the read request on the hard disk 206, the read request can be completed more quickly.

用户可以在任何时间移除EMD 212。 Users can remove the EMD 212 at any time. 当EMD被移除时,系统检测到该移除。 When the EMD is removed, the system detects the removal. 如果有其它EMD可用,则如果移除的EMD不是可用的最慢EMD,那么重新填充剩余的EMD(步骤314)。 If there are other EMD is available, if not available, EMD removed slowest EMD, then re-fill the remaining EMD (step 314). 如果其它EMD不可用(或者如果移除的EMD是最慢的EMD),那么从硬盘中读取数据(步骤316)。 If other EMD is unavailable (or if the EMD is removed slowest EMD), then read the data from the hard disk (step 316). 无论何时添加或移除EMD,重复步骤300到316,只要有EMD可用就重复步骤310和312。 Whenever you add or remove EMD, repeat steps 300 to 316, as long as there is available EMD repeats steps 310 and 312.

注意,如果EMD是非易失性的,那么在断电过程中或当休眠时,EMD存储器可以用带有配置数据的扇区来重新填充。 Note that if the EMD is non-volatile, then, or when dormant, EMD memory with configuration data by sector can be re-filled in the power-down process. 在通电或恢复过程中,当磁盘自旋到位时,EMD的内容可以被读取。 In the power-up or the recovery process, when the disk spins in place, content EMD can be read. 对该技术的使用可以减少计算机系统的引导时间和休眠唤醒时间。 Use of this technology can reduce boot time and hibernate the computer system wake-up time. 可以在2002年6月27日提交的、名为“Apparatus and Method toDecrease Boot Time and Hibernate Awaken Time of a Computer System(用于减少计算机系统的引导时间和休眠唤醒时间的装置和方法)”的美国专利申请第10/186,164号中找到进一步的细节,该申请通过整体引用包含在此。 In June 27, 2002 submission, entitled "Apparatus and Method toDecrease Boot Time and Hibernate Awaken Time of a Computer System (used to reduce the boot time of the computer system and the wake-up device and method of time)," US patent Application No. 10 / 186,164 in number to find further details of the application by reference in its entirety is included in this.

既然已经描述了总体步骤,将讨论性能的改进。 Now that we have described the general steps to improve the performance of the discussion. 确定可从外部存储器设备预期的性能改进的关键因素是传输等待时间和EMD及其总线(例如,USB1/2、PCMCIA、以太网100BaseT等)的吞吐量、外部存储器的大小、在管理高速缓存时使用的策略以及如何使用外部存储器的情形和工作量。 Determine the key factors from the external memory device to improve performance is expected transmission latency and EMD its bus (e.g., USB1 / 2, PCMCIA, Ethernet 100BaseT, etc.) throughput, the size of the external memory, when the cache management strategy use and how to use external memory situations and workload.

对可插入的最典型总线EMD的传输等待时间和吞吐量是不同的。 Transmission can be inserted into the most typical EMD bus latency and throughput are different. 如果EMD由可以被插入到特定总线的作为设备封装的常规RAM构成,则预期到总线会成为大多数操作的主要瓶颈。 If the EMD can be inserted into a particular bus device package as a conventional RAM configuration, the bus is expected to be a major bottleneck for most actions. 通过发出应该命中插入该总线的磁盘的磁道缓冲区(一般为常规存储器)的增加大小的(4KB、8KB、16KB、32KB和64KB)未缓冲磁盘I/O来估算USB1、USB2和PCI/PCMCIA的总线等待时间以及吞吐量。 Issue should be inserted through the bus hit the track disk buffer (generally conventional memory) to increase the size (4KB, 8KB, 16KB, 32KB and 64KB) unbuffered disk I / O to estimate USB1, USB2 and PCI / PCMCIA's bus latency and throughput. 以下表1中的值是通过简单地将用于传输I/O大小的时间拟合为直线而得到的。 The following Table 1 is the value used for transmission by simply I / O size for time fit a straight line obtained.

表1为了如磁盘高速缓存那样有意义,从EMD复制数据必须比从磁盘中取得数据更快。 Table 1 in order to make sense as a disk cache as, EMD must copy the data from the data acquired faster than from disk. 涉及到寻道的4KB随机磁盘I/O无论何处都在典型的台式机和膝上型计算机磁盘上花费5-15ms。 Relate to seek a 4KB random disk I / O wherever spent on a typical desktop and laptop computer disk 5-15ms. 假设对带有寻道的4KB磁盘I/O花费10ms,那么从PCMCIA的EMD高速缓存检索数据可以快60倍,或从USB2的EMD检索数据可以快20倍。 Suppose 4KB disk I seek with the / O takes 10ms, then retrieve the data from the PCMCIA EMD cache can 60 times faster, or retrieve data from EMD USB2 can 20 times faster. 总体上,USB2似乎是用于插入到EMD中的非常适合的总线。 Overall, USB2 for insertion seems ideally suited to the EMD in the bus.

应该注意到,USB1的一个问题是4ms的启动时间可能会使得不可能获得任何性能收益。 It should be noted, is a problem USB1 4ms startup time may make it impossible to get any performance gains. 这可以通过总是保持等式传输通道开放来解决。 This is done by the transmission channel is always kept open to solve the equation. 因而,从USB1上的EMD获取4KB一般是使用寻道从磁盘上获取其的速度的两倍。 Thus, obtained from EMD USB1 is generally used on 4KB seek to obtain twice its speed from the disk. 由于在USB1上的低吞吐速率,直接到磁盘进行16KB、32KB和64KB I/O仍比通常可以在客户机系统上见到的更快。 Due to the low throughput rates on USB1 directly to disk 16KB, 32KB and 64KB I / O is still much faster than can usually be seen on the client system. 然而,仅用于通常用4KB随机I/O来访问的页文件和文件系统元数据的USB 1高速缓存仍然可以提供性能的改进。 Page file and file system metadata USB 1 cache, however, usually only for 4KB random I / O access can still provide improved performance.

仅在发行了Windows XP的服务包1后,才开始采用USB 2。 Windows XP only released after Service Pack 1, began using USB 2. 可从EMD获益最多的大多数64MB和128MB系统一般不含有USB 2。 EMD may benefit most from the system up to 64MB and 128MB generally do not contain USB 2. 然而这些系统通常具有100BaseT以太网卡。 However, these systems typically have a 100BaseT Ethernet card. 10MB/s的传输时间对于从EMD获得的显著的性能增益是足够的。 10MB / s transmission time for a significant performance gain obtained from the EMD is sufficient. EMD可以作为每个计算机的穿过网络的设备来附加,或者可以甚至被推入网络交换机中来改进小型计算机网络的性能。 EMD can be used as each of the computer through a network of devices to attach, or may even be pushed into the network switch to improve the performance of small computer network. 超出交换机会引起由于共享的网络带宽的众多可靠性和安全问题,但仍可以完成。 Beyond the switch will cause reliability and security issues due to the large share of the network bandwidth, but still can be done.

如同任何高速缓存一样,用于管理在高速缓存中保存哪些数据的实际策略是确定最后得到的性能增益的重要因素。 As with any cache, as the policy for which actual data is stored in the cache management is an important factor in determining the resulting performance gain. 如果EMD用作底层磁盘和其它设备的块高速缓存,那么EMD高速缓存可以在从底层设备的读取完成时填充,也可以在从应用程序和文件系统发出写请求时填充。 EMD is used if the underlying disks and other equipment cache block, then EMD cache can be read at the completion of the underlying device from the filling can also be filled in when issuing a write request from the application and file system. 如前所述,EMD高速缓存中的数据需要被异步地更新,以避免对原始设备请求增加时间。 Data as previously described, EMD cache needs to be updated asynchronously, in order to avoid raw device requests additional time. 如果一个请求是针对正在被异步更新的范围,那么它可以简单地被往下转送给底层设备。 If a request is for a range that is being updated asynchronously, then it can simply be transferred down to the underlying device. 如果该异步更新未完成,则必然存在启动更新的对该相同范围的非常近期的请求,且该范围的数据可能被高速缓存在设备(例如,磁道缓冲区)或控制器上。 If the asynchronous update is not complete, there must start the same range of very recent update request, and the scope of the data may be cached on the device (for example, the track buffer) or controller.

通常使用LRU算法来管理块高速缓存。 LRU algorithm is usually used to manage the cache block. 在该算法中,无论何时读请求命中或未命中高速缓存,所引用的块都被放至LRU列表的尾部。 In the algorithm, whenever a read request for a cache hit or miss, the block referenced are put to the tail of the LRU list. 当读取或写入不位于高速缓存中的块时,LRU列表前部的块被重新用来高速缓存新块的内容。 When read or write the cache block is not located, the block front portion LRU list is re-used cache content of the new block. 结果,LRU算法易于腐蚀,因为高速缓存中有价值的块随时间抖动。 The results, LRU algorithm is susceptible to corrosion, since the cache block valuable over time jitter. 诸如将列表分成多个优先级子列表并维护超过最近访问时间的更丰富用户历史记录的那些算法会是更有弹性的。 Such as the list of sub-divided into multiple priority list and maintain user history richer than the last access time of those algorithms will be more resilient.

在Windows NT上,文件和页数据的高速缓存是由存储器管理器通过备用页列表来完成的。 On Windows NT, the cache file and page data is accomplished by the memory manager via the reserve page of the list. 文件系统、注册表和其它系统组件使用文件对象/映射机制来经由存储器和高速缓存管理器在相同的等级上高速缓存器其数据。 File system, registry and other system components use the file object / mapping mechanism to cache their data via the memory and cache manager on the same level. 如果另一高速缓存被置于任何其它的等级,会引起数据的双重高速缓存。 If another cache is placed in any other level, can cause double cached data. 对EMD高速缓存也是如此。 The same is true for the EMD cache. 为了避免这一情况,本发明的存储器管理器可以被扩展以将较没有价值的备用列表页推入至较慢的外部存储器设备中。 To avoid this situation, the memory manager of the present invention can be extended to a list of alternate relatively worthless pages pushed to slower external memory device. 无论何时访问了那些页,存储器管理器可以分配物理存储器页并从外部存储器设备中复制回数据。 Whenever you visit those pages, the memory manager can allocate physical memory pages and copy the data back from the external memory device. EMD存储器管理器及相关联的高速缓存管理器可以使用美国专利申请第10/325,591号提供的用于对页面的统一高速缓存的抢先且有弹性的管理的页优先级提示。 EMD memory manager and cache manager may be associated with the use of U.S. Patent Application No. 10 / 325,591 provided for unified cache pages preempted and flexible management of the page priority tips. 由于这会要求内核存储器管理器改变,对Windows X的构建的任何EMD解决方案可能遭受数据的双重高速缓存。 Since this would require changes in the kernel memory manager for any EMD Windows X's built solutions may suffer double the cache data. 模拟显示出尽管有双重高速缓存,但是仍旧可能获得实质上的性能增益。 Simulation shows that although a dual cache, but is still possible to obtain a substantial performance gain.

高速缓存的另一个重要的参数是块大小以及群集和预读的数量。 Another important parameter is the block size of the cache as well as the number of clusters and pre-reading. 只要存在高速缓存中的未命中,即使请求的是更少量的数据,也需要从底层磁盘或设备中读取至少一个块大小的数据,且可能甚至在所请求数据偏移量周围群集更多的块。 As long as the presence of the cache miss, even if the request is for a smaller amount of data, but also need to read data from the at least one block size of the underlying disk or device, and may even offset of the data in the requested cluster around more blocks. 群集可以消除对磁盘上同一位置的将来的反向寻道。 Cluster can eliminate the same location on the disk in the future reverse seeks. 然而,它可能也增加了原始请求的完成时间,甚至引起LRU列表中的更多抖动,因为对每一请求引用了更多的块。 However, it may also increase the completion time of the original request, or even cause LRU list more jitter, because each request references more blocks. 此外,预读可能被排队来从磁盘上获取更多的连续数据,尽管这样做是很有效率的,而不会影响原始请求的时间。 In addition, pre-reading may be queued for more continuous data from the disk, even though doing so is very efficient, and does not affect the time of the original request. 然而,这可能会导致增加需要寻道设备上另一处的后续请求的等待时间。 However, this may result in latency on the subsequent request requires a seek to increase the device another.

应该注意到,经过诸如引导等功率转换或者甚至清除高速缓存常规内容的密集使用的时间段,高速缓存认为有价值的设备位置的列表仍可以被持久保存。 It should be noted, after such guidance and other power conversion, or even remove the use of time-intensive conventional content caching, caching considered valuable equipment list of locations can still be persisted. 该列表可以用于在这样的转换之后以对后台I/O的正确优先化支持来重新填充高速缓存的内容。 The list can be used after conversion to correct such prioritization support for background I / O to repopulate the content of the cache.

如同任何性能分析一样,考虑代表性的场景和工作量来取得有意义且有用的数据是至关重要的。 As with any performance analysis, as considered representative scene and effort to obtain meaningful and useful data is critical. 为了表现可以从现有Windows(XP和2000)上的EMD高速缓存中预期的性能改进的特征,执行了使用在磁盘等级上的简单LRU直写块高速缓存的实验。 For performance can be expected from the EMD cache existing Windows (XP and 2000) on the performance improvement features, performed on the disk level using simple LRU cache write-block experiment. 如上所述,这会遭受数据的双重高速缓存。 As mentioned above, it would suffer a double cached data. 然而,这些实验更易于仿真、模拟和实际上构建这样的EMD高速缓存并测量其影响。 However, these experiments easier emulation, simulation, and actually building such EMD cache and measure its impact. 结果显示,即使这样的简单高速缓存也可以对磁盘和系统性能产生很大的影响。 The results show that even such a simple cache can also have a huge impact on the disk and system performance. 与计算设备的存储器管理器的集成和使用更智能的策略会进一步增加收益。 Memory manager and computing equipment integration and use of smarter strategy would further increase revenue.

因为这些实验主要为磁盘访问而高速缓存,因此高速缓存的成功可以通过比较在不使用高速缓存和使用高速缓存的各种配置时用于从代表性的工作量或情形中捕捉的同一组磁盘访问的重现的总时间来测量。 Because these experiments mainly for disk access and cache, the cache can be relatively successful when not in use the various cache and the cache is configured to use the captured workload or from the same group in the case of a representative disk access by The total time of reproduction is measured. 在大多数客户机情形中,磁盘读取时间的减少导致在响应性或基准分数的成比例的增长。 In most cases the client machine, reducing the time results in disk read response or baseline score proportional growth.

为了确定EMD高速缓存在实际影响,考虑两个情形。 In order to determine the actual impact of EMD cache, consider two cases. 一个情形使用在128MB和256MB系统上数小时内从真实的终端用户系统捕捉的磁盘轨迹。 A case of using a disk track on 128MB and 256MB system within a few hours from the end user's system to capture. 另一个情形使用从诸如Business Winstone 2001、Content Creation Winstone 2002以及使用Office2003应用程序的Business Winstone修订版的工业基准中获取的磁盘轨迹。 Another case of using the Business Winstone 2001, Content Creation Winstone 2002 and disk track applications such as the use Office2003 Business Winstone industry benchmark revisions acquired. 以多种存储器大小获取轨迹,所以可以比较从简单EMD高速缓存到实际上增加系统存储器大小的增益。 In a variety of memory size obtaining trajectory, it is possible to compare the simple EMD cache to actually increase the size of the gain of the system memory.

EMD设备可以通过使用常规块高速缓存并基于所需EMD总线对高速缓存添加延迟来准确地仿真。 EMD device can cache and bus-based cache EMD required to add a delay to accurately simulate using conventional blocks. 当从存储器复制所请求的字节之后,可基于诸如表1的启动时间和吞吐量值来确定为所需EMD总线计算的传输时间。 When the copy of the requested bytes from the memory, may be based on the start time and throughput values such as Table 1 to determine the desired EMD bus transmission time calculated.

该估算的过程用于:使用/maxmem boot.ini开关配置目标系统来以目标存储器大小运行;运行典型使用情形或工业基准并跟踪生成的磁盘I/O;使用高速缓存大小和EMD设备的吞吐量/等待时间所需的参数来配置块高速缓存;重放所跟踪的磁盘I/O并捕捉由于高速缓存未命中而导致的磁盘I/O;以及比较两次运行的时间和磁盘访问。 The estimation procedure used: Use / maxmem boot.ini switch to configure the target system to the target memory size run; run a typical usage scenario or industry benchmark and track the resulting disk I / O; the use of cache size and throughput EMD devices / wait time required parameters to configure the cache block; reproduction tracked disk I / O and capture due to cache misses caused by disk I / O; and comparing the two run time and disk access.

理想上,各情形应该使用恰当配置的块高速缓存以及比较的最终结果(响应时间或基准分数)来运行。 Ideally, each case should be used cache block is appropriately configured and the final result of the comparison (response time or reference points) to run. 然而,如果已经建立磁盘时间和最终结果之间的链接,对需要评估的众多EMD配置,仅回放捕捉的磁盘I/O消耗更少的时间。 However, if the disk has established a link between the time and the final results of the needs assessment EMD numerous configurations, capture playback only disk I / O consumes less time. 使用简单的模拟器来大致估算从EMD高速缓存获得的潜在增益。 Using a simple simulator to get a rough estimate of the potential gain from EMD cache. 这允许来自128MB顾客系统和来自内部开发系统的长达数小时的磁盘轨迹处理,并测量EMD高速缓存的各种配置的影响。 This allows the customer system from 128MB of disk tracks and up to several hours from internally developed systems processing and measuring the effects of various EMD cache configurations. 为了进一步简化事物,集中于磁盘用于处理读请求的时间,而忽略磁盘写时间。 To further simplify things, focus on the disk read request processing time for ignoring disk write time. 代表性寻道时间是通过忽略小于2ms和大于20ms的寻道时间来确定的。 Seek representation by ignoring less than 2ms than 20ms seek time and determined. 磁头的最后几个位置被划分磁道来模拟“磁道缓冲”。 The last position of the head is divided several tracks to simulate "track buffer." 尽管有上述的复杂性,然而磁盘模拟通常在可接受的范围内:75%的预测在实际时间的15%之内。 Despite these complexities, but usually in the analog disk within acceptable limits: 15% of real time is within 75% of the forecast. 任何错误预测一般是由于保守的模拟和对较高磁盘读时间的预测。 Any errors are due to the forecast conservative forecast for analog and high disk read time. 即使磁盘模拟器不能总是准确地捕捉磁盘在特定轨迹上的性能特征,但是其自身的性能特征对实际的台式机/膝上型计算机磁盘是有代表性和典型性的。 Even if the disk emulator can not always accurately capture the performance characteristics of the disk on a particular track, but its actual performance characteristics of desktop / laptop computer disks are representative and typical of.

表2示出了在磁盘轨迹的EMD高速缓存模拟中的磁盘读时间的减少,这是在实际使用各种计算系统数小时的操作过程中获取的。 Table 2 shows the reduction in the EMD cache simulation of disk traces the disk read time, which is actually used during the operation hours of a variety of computing systems acquired.

表2-实际终端用户对系统的使用从EMD高速缓存获得的增益作为如何解释表2中的数据的示例,考虑系统1:128MB USB2 EMD设备会造成当前用户体验的磁盘读取时间的37%(即,减少了63%)。 Table 2- gain actual end-user of the system obtained from the use of EMD cache as an example of how to interpret the data in Table 2, regardless of the system 1: 128MB USB2 EMD device will cause 37% of the current user experience of disk read time ( That is, a 63% reduction).

系统1和2是来自想要在其128MB系统上升级至Windows XP、Office 2003以及最新的SMS的公司,但是当运行其业务线软件时,命中率显著下降。 System and want to upgrade to 2 from Windows XP, Office 2003 and the latest SMS company on its 128MB system, but when the software is running its business lines, the hit rate decreased significantly 1. 系统3的轨迹是来自膝上型计算机。 3 track system from a laptop computer. 可以看到,这些系统中的最大的改进是使用较慢磁盘和仅128M存储器的系统。 Can be seen, these systems biggest improvement is the use of slow disks and only 128M memory system.

底部的三个系统(系统4、5和6)是开发者系统,在其上执行包括构建、同步和处理大文件的重量开发任务。 The bottom of the three systems (system 4, 5 and 6) is the developer system, performed thereon include building, synchronization and large files weight development tasks. 这些系统拥有较快的磁盘,且由这些任务生成的大多数磁盘I/O是顺序的,不能从简单的LRU块高速缓存中获益同样多,因为它们不会多次重新访问磁盘上的同一扇区(例如,同步)。 These systems have a faster disk and generated by these tasks most disk I / O is sequential, not from simple LRU cache block as much benefit, because they do not repeatedly re-access the same disk sectors (e.g., synchronization). 这样,总的磁盘时间不是作为终端用户响应性的代表。 Thus, the total disk as an end user response time is not representative. 高速缓存可以显著地减少用于U1分块磁盘读取的时间。 Caching can significantly reduce the time for U1 block read from disk.

表3示出了对在使用Content Creation Winstone 2002过程中获取的磁盘轨迹的EMD高速缓存模拟中的磁盘读取时间的减少。 Table 3 shows the reduction of the EMD cache simulation using the Content Creation Winstone 2002 the process of obtaining a disk track disk read time.

表3-从Content Creation Winstone 2002的EMD高速缓存中获得的增益表4示出了使用Business Winstone 2001过程中获取的磁盘轨迹的EMD高速缓存模拟中的磁盘读取时间的减少。 Table 3 - gain table obtained from the Content Creation Winstone 2002 the EMD cache 4 illustrates the use of disk tracks Business Winstone 2001 acquisition of EMD during the simulation cache disk read time is reduced.

表4-从Business Winstone 2001的EMD高速缓存中获取的增益同前述情况中一样,在使用128MB和较慢的磁盘的系统上见到的改进是最大的。 Table 4 - with the foregoing gain obtained from the Business Winstone 2001 of EMD in the cache, as in the system using a 128MB disk and slower to see improvement is greatest. Business Winstone 2001启动以在256MB的存储器中最适合,所以在该系统存储器大小中,总的磁盘时间和从EMD获得的增益较小。 Business Winstone 2001 starts to 256MB of memory in the most appropriate, so that the size of system memory, the total time and the gain of the disk obtained from EMD smaller.

表5比较了当运行Content Creation Winstone 2002时,向系统添加EMD高速缓存以实际添加更多的物理存储器而获得的增益。 Table 5 compares the gain when running Content Creation Winstone 2002, the addition to the EMD system cache to add more physical memory actually obtained. 如前所述,EMD高速缓存模拟遭受数据的双重高速缓存,且是使用简单的LRU策略来管理的。 As mentioned earlier, EMD cache simulation experience double the cache data, and is simple to manage the LRU policy. 一般而言,向系统添加更多的物理存储器会提供较大数量情形中的更好的性能。 In general, adding more physical memory to the system will provide a larger number of cases of better performance. 另一方面,如果EMD高速缓存可以与存储器管理器集成,且使用美国专利申请第10/325,591号可以提供的相同高级算法来管理,它就能够提供可与向系统添加实际存储器匹敌的性能增益。 On the other hand, if the EMD cache can be integrated with the memory manager, and using the same advanced algorithms U.S. Patent Application No. 10 / 325,591 may be provided to manage, it can be provided with a memory added to the system to match the actual performance gain.

表5-对从USB2EMD高速缓存与向系统存储器中实际增加存储器获取的增益的比较从前述可见,描述了使用外部存储器来改进计算设备性能的系统和方法。 Table 5- from USB2EMD cache to system memory and an actual increase in the memory acquired from said comparison a gain visible, describes a system and method for using an external memory device to improve computing performance. 本发明允许拥有小量存储器的传统计算设备和其它设备有效地升级存储器而无需实际打开设备。 The present invention allows a small amount of memory has a traditional computing devices and other equipment to upgrade the memory efficiently without actually opening the device. 可以使用外部存储器在更快和更可靠性能方面获得生产率的增益。 You can use external memory to obtain productivity in terms of faster and more reliable performance gain. 来自于旋转式存储介质和较慢存储器设备的扇区异步地高速缓存于外部存储器中。 From the rotating storage media and slower memory devices in a sector cache asynchronously external memory. 不像远程文件系统,如果移除外部存储器,不会丢失数据,因为数据仍旧在旋转式存储介质或较慢的存储器设备上。 Unlike the remote file system, if you remove the external memory, the data is not lost, because the data is still on the rotating storage media or slower memory devices.

此处引用的所有参考文献,包括专利、专利申请和出版物,都通过引用整体包含在此。 All references cited herein, including patents, patent applications and publications are included by reference in its entirety here. 描述本发明的语境中(尤其在所附权利要求书的语境中)的术语“一”和“一个”和“该”的使用和类似的指示词被解释成覆盖单数和复数,除非此处另外指出或与语境明确地抵触。 The context of describing the invention (especially in the context of the appended claims in) the term "a" and "an" and "the" and similar instructions to use the term to be interpreted so as to cover both the singular and the plural, unless this Department otherwise indicated or the context of a clear conflict. 术语“包含”、“拥有”、“包括”和“含有”应该被解释为开端口的术语(即,意味着“包括但不限于”),除非另外指明。 The term "comprising", "has", "includes" and "comprising" should be interpreted as open port terms (i.e., meaning "including, but not limited to,") unless otherwise indicated. 此处描述的所有方法可以按任何合适的顺序来执行,除非在此处另外指出或与语境明确地抵触。 All methods described herein can be performed in any suitable order unless otherwise indicated herein or the context of a clear conflict. 此处提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明本发明且不成为对本发明范围的限制,除非另外要求保护。 Any and all examples, or exemplary language provided here (eg, "such as") is intended merely to better illuminate the invention and does not become a limitation on the scope of the invention unless otherwise claimed. 例如,Windows操作系统被引用来描述本发明。 For example, Windows operating system is referenced to describe the present invention. 本领域的技术人员可以认识到,本发明可以在诸如Linux、SunOs等其它操作系统上实现。 Those skilled in the art will recognize that the present invention may be implemented in other operating system Linux, SunOs the like such as a. 说明书中没有语言应该被解释为指示任何没有要求保护的元素对本发明的实现是必须的。 No language in the specification should be construed as indicating any non-claimed element of the implementation of the invention is a must.

考虑到本发明的原则可以应用于众多可能的实施例,应该认识到,此处关于附图描述的实施例仅旨在说明性的,且不应该作为对本发明范围的限制。 Taking into account the principles of the present invention can be used in many possible embodiments, it should be appreciated that the drawings described herein with regard to embodiments are merely intended to be illustrative, and should not be taken as limiting the scope of the invention. 例如,本领域的技术人员可以认识到,以软件示出的所示实施例的元素可以用硬件来实现,反之亦然,或者所示实施例可以在排列和细节上修改而不背离本发明的精神。 For example, those skilled in the art may recognize that the element embodiment may be implemented in hardware, software, and vice versa as shown in the illustrated, or the embodiment shown may be modified without departing from the present invention in the arrangement and details spirit. 从而,此处描述的本发明构想了落入所附权利要求书及其等效技术方案的范围之内的所有这样的实施例。 Thus, the concept of the present invention described herein fall within the scope of the appended claims and their equivalents all such embodiments within the scope of the technical solution.

Referenced by
Citing PatentFiling datePublication dateApplicantTitle
CN101256535B1 Mar 20079 Mar 2011创惟科技股份有限公司Apparatus and method for reading-writing and rapidly fetching hard disk data
WO2010088864A1 *9 Feb 201012 Aug 2010Lenovo (Beijing) Co., LtdStored data read device and method, and computer device
Classifications
International ClassificationG06F3/06
Cooperative ClassificationG06F3/0685, G06F12/0866, G06F3/0611, G06F3/0655, G06F3/0688
European ClassificationG06F12/08B12
Legal Events
DateCodeEventDescription
10 May 2006C06Publication
26 Dec 2007C10Entry into substantive examination
10 Jun 2009C14Grant of patent or utility model
20 May 2015ASSSuccession or assignment of patent right
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC
Free format text: FORMER OWNER: MICROSOFT CORP.
Effective date: 20150429
20 May 2015C41Transfer of patent application or patent right or utility model