Preserving locality of storage accesses by virtual machine copies in hyper-converged infrastructure appliances

US10318166B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10318166-B1
Application numberUS-201615392676-A
CountryUS
Kind codeB1
Filing dateDec 28, 2016
Priority dateDec 28, 2016
Publication dateJun 11, 2019
Grant dateJun 11, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for preserving locality of storage accesses to copies of storage objects in a cluster of appliances. Mapping metadata is created indicating regions in a copy of a storage object that are mapped to local storage allocated from a target appliance. Read and write operations to regions of the copy that are mapped to storage in the target appliance are processed within the target appliance. Write operations to regions that are not mapped to storage in the target appliance cause storage to be allocated to the copy in the target appliance, mapped to the regions indicated by the write operations, and used to store the write data. Read operations to regions that are not mapped to storage in the target appliance are performed on an original storage object located on a source appliance, from which the copy of the storage object was made.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of preserving locality of storage accesses in a target hyper-converged infrastructure (HCI) appliance, the method comprising the steps of: causing a copy of a virtual machine to be moved to and executed on the target HCI appliance, wherein the copy of the virtual machine is a copy of an original virtual machine that is located on a source HCI appliance, wherein the copy of the virtual machine issues I/O operations to a copy of a storage object that is also moved to the target HCI appliance, wherein the copy of the storage object is a copy of an original storage object that is located on the source HCI appliance, wherein the original storage object is accessed by the original virtual machine located on the source HCI appliance, and wherein the original storage object is mapped to non-volatile storage allocated to the original storage object from at least one storage device contained within the source HCI appliance; in response to the copy of the virtual machine being moved to the target HCI appliance, creating mapping metadata for the copy of the storage object that includes indications of regions in the copy of the storage object that are mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device contained within the target HCI appliance, and indications of regions in the copy of the storage object that are not mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device contained within the target HCI appliance, wherein the mapping metadata initially indicates, at the time the copy of the virtual machine is moved to the target HCI appliance, that no regions of the copy of the storage object are mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device contained within the target HCI appliance; intercepting I/O operations issued by the copy of the virtual machine executing on the target HCI appliance and directed to regions in the copy of the storage object, while the original storage object is simultaneously being accessed by the original virtual machine located on the source HCI appliance; in response to the intercepted I/O operations, maintaining on the source HCI appliance a copy of data written to the copy of the storage object by, for each write I/O operation directed to the copy of the storage object, transmitting a network I/O request to the source HCI appliance requesting that the source HCI appliance perform a write I/O operation identical to the intercepted write I/O operation on a mirror copy of the copy of the storage object, wherein the mirror copy of the copy of the copy of the storage object that is located on the source HCI appliance is separate and independent from the original storage object; and in response to the intercepted I/O operations and the mapping metadata for the copy of the storage object, i) processing those intercepted I/O operations directed to regions in the copy of the storage object that are mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device contained within the target HCI appliance using the non-volatile storage allocated to the copy of the storage object from the at least one storage device contained within the target HCI appliance, and ii) processing those intercepted I/O operations directed to regions in the copy of the storage object that are not mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device contained within the target HCI appliance by, for each read I/O operation directed to a region of the copy of the storage object that is not mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device contained within the target HCI appliance, causing the source HCI appliance to perform the read I/O operation using the original storage object that is located on the source HCI appliance. 2. The method of claim 1 , wherein processing those intercepted I/O operations directed to regions of the copy of the storage object that are not mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device located within the target HCI appliance further includes, for each write I/O operation directed to a region in the copy of the storage object that is not mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device contained within the target HCI appliance: allocating non-volatile storage from the at least one storage device contained within the target HCI appliance to the copy of the storage object to store data for the write I/O operation; storing the data for the write I/O operation into the non-volatile storage allocated from the at least one storage device contained within the target HCI appliance; and modifying the mapping metadata for the copy of the storage object to map the region in the copy of the storage object to which the write I/O operation was directed to the allocated non-volatile storage, and to include an indication that the region in the copy of the storage object to which the write I/O operation was directed is mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device contained within the target HCI appliance. 3. The method of claim 2 , wherein processing those intercepted I/O operations directed to regions of the copy of the storage object that are not mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device located within the target HCI appliance further includes, for each read I/O operation directed to a region of the copy of the storage object that is not mapped to non-volatile storage allocated to the copy of the storage object from at least one storage device contained within the target HCI appliance, causing the source HCI appliance to perform the read I/O operation using the original storage object that is located on the source HCI appliance by: transmitting a network I/O operation to the source HCI appliance requesting that the source HCI appliance perform a read I/O operation, while the original storage object is accessed by the original virtual machine located on the source HCI appliance, on a region in the original storage object that corresponds to the region in the copy of the storage object to which the read I/O operation to the copy of the storage object was directed; receiving, from the source HCI appliance, data read by the source HCI appliance from the region in the original storage that corresponds to the region in the copy of the storage object to which the read I/O operation to the copy of the storage object was directed; and returning, to a requesting entity that issued the read I/O operation directed to the copy of the storage object, the data read by the source HCI appliance from the region in the original storage that corresponds to the region in the copy of the storage object to which the read I/O operation to the copy of the storage object was directed. 4. The method of claim 2 , wherein transmitting each network I/O request to the source HCI appliance requesting that the source HCI appliance perform a write I/O operation identical to an intercepted write I/O operation comprises transmitting a network I/O request to the source HCI appliance requesting that the source HCI appliance perform a write I/O operation on a region in the mirror copy of the copy of the storage object that corresponds to the region in the copy of the storage object to which the intercepted write I/O operation was directed. 5. The method of 4 , wherein processing those intercepted I/O operations directed to regions of the copy of the storage object that are

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • Emulated environment, e.g. virtual machine · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • G06F3/061Primary

    Improving I/O performance · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10318166B1 cover?
Techniques for preserving locality of storage accesses to copies of storage objects in a cluster of appliances. Mapping metadata is created indicating regions in a copy of a storage object that are mapped to local storage allocated from a target appliance. Read and write operations to regions of the copy that are mapped to storage in the target appliance are processed within the target applianc…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 11 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).