发明名称 Shortcut input/output in virtual machine systems
摘要 Read requests to a commonly accessed storage volume are conditionally issued, depending on whether or not a requested data block is already stored in memory from a prior access or to be stored in memory upon completion of a pending request. A data structure is maintained in memory to track physical memory pages and to indicate for each physical memory page the corresponding location in the storage volume from which the contents of the physical memory were read and the number of virtual memory pages that are mapped thereto.
申请公布号 US9032181(B2) 申请公布日期 2015.05.12
申请号 US201012783205 申请日期 2010.05.19
申请人 VMware, Inc. 发明人 Ahmad Irfan;Waldspurger Carl A.
分类号 G06F12/10 主分类号 G06F12/10
代理机构 代理人
主权项 1. A method of processing read I/O requests in a computer system having applications running therein, the applications including virtual memory pages mapped to machine memory pages, the method comprising: maintaining a tracking data structure for a first group of machine memory pages, each having at least two virtual memory pages mapped thereto, and a second group of machine memory pages, each having only one virtual memory page mapped thereto, the tracking data structure indicating, for each of said machine memory pages, a corresponding location in a storage volume from which its contents were read or are being read; receiving a read request; identifying a first location of the storage volume indicated in the read request; calculating, using the tracking data structure, a likelihood that the first location of the storage volume will be shared; determining that the likelihood exceeds a threshold value; based on the determination that the likelihood exceeds the threshold value; determining, using the tracking data structure, that a machine memory page in the first group or the second group contains or will contain data stored in the first location of the storage volume indicated in the read request;based on the determination that a machine memory page in the first group or the second group contains or will contain data stored in a location of the storage volume indicated in the read request, determining not to process the read request; andbased on the determination to not process the read request, mapping a virtual memory page associated with the read request to the machine memory page; and in response to a first memory write request, copying the contents of a machine memory page in the first group to a first machine memory page, and mapping a virtual memory page associated with the first memory write request to the first machine memory page; and in response to a second memory write request, copying the contents of a machine memory page in the second group to a second machine memory page, and mapping a virtual memory page associated with the second memory write request to the second machine memory page.
地址 Palo Alto CA US