×

Shortcut input/output in virtual machine systems

  • US 9,032,181 B2
  • Filed: 05/19/2010
  • Issued: 05/12/2015
  • Est. Priority Date: 05/19/2009
  • Status: Active Grant
First Claim
Patent Images

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; and

    based 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.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×