WO2017219250A1 - Procédé et appareil permettant de mapper une mémoire de machine virtuelle et dispositif de transmission de données - Google Patents

Procédé et appareil permettant de mapper une mémoire de machine virtuelle et dispositif de transmission de données Download PDF

Info

Publication number
WO2017219250A1
WO2017219250A1 PCT/CN2016/086592 CN2016086592W WO2017219250A1 WO 2017219250 A1 WO2017219250 A1 WO 2017219250A1 CN 2016086592 W CN2016086592 W CN 2016086592W WO 2017219250 A1 WO2017219250 A1 WO 2017219250A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
memory
memory space
pfn
virtual
Prior art date
Application number
PCT/CN2016/086592
Other languages
English (en)
Chinese (zh)
Inventor
庄毓新
于洲
张磊强
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2016/086592 priority Critical patent/WO2017219250A1/fr
Priority to CN201680004815.4A priority patent/CN107278292B/zh
Publication of WO2017219250A1 publication Critical patent/WO2017219250A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a method, an apparatus, and a data transmission device for mapping virtual machine memory.
  • Xen is a virtual machine monitor ("VMM") based on open source software organization that allows multiple operating system instances to run simultaneously on a single device.
  • the xen platform provides a paravirtualized network card for the virtual machine, which is composed of a virtual network card front end (referred to as “front end”, that is, frontend) and a virtual network card back end (referred to as "back end”, that is, backend) in the guest operating system.
  • the virtual network card front end and the virtual network card back end can perform authorized copying or authorization mapping of the memory page through the hypercall provided by xen, thereby completing data transmission.
  • the information of the memory page for receiving the data is transmitted to the back end through the front end, so that the back end needs to receive the data.
  • the data can be copied to the memory page provided by the front end through the authorized copy mechanism provided by xen; in the virtual network card sending direction (that is, when the front end sends data to the back end), the front end will store the memory page of the data to be sent.
  • the information is passed to the back end, and the back end copies the data from the memory page provided by the front end to the linear address space corresponding to the back end through the authorized copy mechanism provided by xen, so that the back end can access the data to be sent.
  • Embodiments of the present invention provide a method, a device, and a data transmission device for mapping a virtual machine memory. Increase data transfer rate and reduce device power consumption.
  • an embodiment of the present invention provides a method for mapping a virtual machine memory, including:
  • the second virtual machine is a virtual machine that needs to perform data transmission with the first virtual machine.
  • the second virtual machine may be determined by using a virtual machine identifier sent by the first virtual machine, where the virtual machine identifier may be carried in address information or other information of the first memory space.
  • the first memory space is a pre-allocated linear address area in the first virtual machine operating system, and is used to establish a memory mapping relationship with the second virtual machine, that is, other virtual machines.
  • the address information of the first memory space may include a base address and/or a length value of the first memory space, and the like, and the length value indicates a memory size of the first memory space and all the second virtual machine
  • the virtual memory corresponding to the virtual page has the same memory size.
  • the first virtual machine may be allocated a kernel linear address area in advance in the first virtual machine operating system, and the allocated linear address area may be greater than or equal to the virtual memory corresponding to the second virtual machine. the size of. If it is greater than, the first memory space is a part of the linear address area, and the first memory space having the same size as the second virtual machine virtual memory may be determined from the linear address area according to the base address and the length value information. Thereby, data transmission between the virtual machines is performed by establishing a mapping relationship between the first memory space and the physical memory of the second virtual machine.
  • the address information of the physical memory may include a host page number MFN of the at least one physical page; and the obtaining the address information of the physical memory corresponding to the virtual page of the second virtual machine includes:
  • the physical memory address corresponding to the virtual page of the second virtual machine is mapped into the first memory space allocated for the first virtual machine.
  • the types of the first virtual machine and the second virtual machine may both be paravirtualized PV types, and address information of the first memory space may further include a base of the first memory space.
  • the address is determined by the linear address corresponding to the virtual page corresponding to each PFN in the second virtual machine, and includes:
  • each of the second virtual machines is determined.
  • a virtual page corresponding to a PFN corresponds to a linear address in the first memory space.
  • the correspondence between the PFN of the virtual page of the second virtual machine and the linear address in the first memory space of the first virtual machine may be:
  • First virtual machine linear address first virtual machine base address + second virtual machine PFN * page size
  • a page including a mapping relationship between the first virtual machine linear address and the MFN corresponding to the second virtual machine may also be generated.
  • the first virtual machine linear address corresponding to each PFN and its mapped MFN can be used as an entry in the page table, so that the data to be sent can be copied to the first virtual machine linear address by using the entry search.
  • the mapped physical memory address or the transferred data content is read from the physical memory address mapped by the linear address to implement data transmission.
  • the method further includes:
  • mapping relationship between the PFN and the MFN corresponding to the virtual page is changed, the PFN whose mapping relationship is changed and the corresponding MFN are obtained, and the linear address corresponding to the PFN in the first memory space is determined, and the PFN is obtained.
  • the corresponding MFN is updated to be an MFN having a mapping relationship with the determined linear address corresponding to the first memory space.
  • the change of the mapping relationship may be synchronized to the first memory space pair of the first virtual machine.
  • the content of the entry corresponding to the second virtual machine PFN in the first virtual machine is about to be updated.
  • the types of the first virtual machine and the second virtual machine are both hardware virtualization HVM types; the method further includes:
  • Determining, by the method, the mapping between the determined linear address and the MFN corresponding to the PFN, where the virtual page corresponding to each PFN of the second virtual machine is in a linear address corresponding to the first memory space includes:
  • the mapping relationship may be stored in the preset first page table.
  • mapping the second memory space to the first memory space that is, establishing a mapping relationship between the linear address of the second memory space and the linear address of the first memory space, and the linear address of the second memory space is The mapping relationship of the linear addresses of the first memory space is stored in the second page table. Therefore, the data of the to-be-transmitted data is copied to the physical memory address mapped by the linear address of the first virtual machine or the data content of the physical memory address mapped by the linear address is read by the two-level mapping entry to implement the data content. data transmission.
  • the method further includes:
  • the second virtual space is allocated for the first virtual machine, and the type of the second memory space is set to a reserved type.
  • the address information of the second memory space further includes a length value of the second memory space.
  • the memory size of the second memory space indicated by the length value is the same as the memory size of the virtual memory corresponding to all virtual pages of the second virtual machine.
  • the method further includes:
  • mapping relationship between the PFN and the MFN corresponding to the virtual page is changed, the PFN whose mapping relationship is changed and the corresponding MFN are obtained, and the linear address corresponding to the PFN in the second memory space is determined, and the PFN is obtained.
  • the corresponding MFN is updated to be an MFN having a mapping relationship with the determined linear address corresponding to the second memory space.
  • the change of the mapping relationship may be synchronized to the page table corresponding to the second memory space of the first virtual machine, that is, The second virtual machine PFN updates the content of the entry corresponding to the PFN area in the first virtual machine.
  • the second virtual machine PFN updates the content of the entry corresponding to the PFN area in the first virtual machine.
  • the embodiment of the present invention further provides a mapping device for a virtual machine memory, including an obtaining unit and a mapping unit, where the mapping device of the virtual machine memory implements the mapping method of the virtual machine memory of the first aspect by using the foregoing unit.
  • an embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores a program, and the program includes some or all of the steps of the mapping method of the virtual machine memory of the first aspect.
  • the embodiment of the present invention further provides a data transmission device, including: a communication interface, a memory, and a processor, wherein the processor is respectively connected to the communication interface and the memory; wherein
  • the memory is used to store driver software
  • the processor reads the driver software from the memory and performs some or all of the steps of the mapping method of the virtual machine memory of the first aspect described above by the driver software.
  • the address information of the first memory space allocated for the first virtual machine is acquired, and the address information of the physical memory corresponding to the virtual page of the second virtual machine is obtained, and the linear address of the first memory space is established.
  • FIG. 1 is a system architecture diagram provided by an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of a method for mapping a virtual machine memory according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of memory mapping provided by an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of another method for mapping a virtual machine memory according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of another memory mapping provided by an embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of still another method for mapping a virtual machine memory according to an embodiment of the present invention.
  • FIG. 7 is still another schematic diagram of memory mapping provided by an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a virtual machine memory mapping apparatus according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of another virtual machine memory mapping apparatus according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of still another virtual machine memory mapping apparatus according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a data transmission device according to an embodiment of the present invention.
  • OS operating systems
  • Windows Windows
  • UNIX UNIX
  • the operating system can be run in various data transmission devices, including but not limited to smart phones (such as Android phones, iOS phones, etc.), tablet computers, and mobile internet devices (MID). "), personal computer, and so on.
  • smart phones such as Android phones, iOS phones, etc.
  • tablet computers such as Samsung Galaxy Tabs, Samsung Galaxy Tabs, etc.
  • MID mobile internet devices
  • data transmission can be performed between the xen platform virtual network card front end (hereinafter referred to as “front end”) and the virtual network card back end (hereinafter referred to as "back end”), and the front end can run on domU, and the back end can run on dom0.
  • the back end can also be run on the driver domain for the input and output management.
  • the embodiment of the present invention is described by taking the front end running on the domU and the back end running on the dom0 as an example.
  • the dom0 and domU can be virtual machines that need to perform data transmission in the operating system.
  • FIG. 1 is a system architecture diagram of an embodiment of the present invention.
  • the system architecture of the embodiment of the present invention is described below with reference to FIG.
  • dom0 can be started, so that dom0 can respond to user management operations, and the virtual network card backend is run to provide communication services with other virtual machines (VMs). and many more.
  • VMs virtual machines
  • the following is an example of communicating with dom0 and other virtual machines domU as an example.
  • the domU runs on the front end of the virtual network card, and the dom0 runs on the back end of the virtual network card. Both the domU and the dom0 can call the hypercall to operate.
  • the xen platform runs in a hardware environment of the data transmission device, and controls data transmission between the front end and the back end through a driver.
  • the types of the virtual machines such as dom0 and domU, may be para-virtualized (“PV”) type, hardware virtual machine (HVM) type, and the like.
  • the embodiment of the invention discloses a method, a device and a data transmission device for mapping virtual machine memory. This makes it unnecessary to call hypercall every time during data transmission, which can increase the data transmission rate and reduce the power consumption of the device. The details are explained below.
  • mapping method of the virtual machine memory in the embodiment of the present invention may include the following steps:
  • mapping device of a virtual machine memory
  • drive software stored program instructions
  • the first virtual machine may correspond to dom0 described above.
  • the first memory space is a linear address area allocated in the dom0 operating system, and is used to establish a memory mapping relationship with the second virtual machine, that is, other virtual machines.
  • the address information of the first memory space may include a base address, a length value, and the like of the first memory space.
  • the second virtual machine may correspond to the domU, where the second virtual machine refers to a virtual machine that needs to establish a memory mapping relationship with the first virtual machine, such as a virtual data transmission with the first virtual machine. machine.
  • the second virtual machine may be determined by a virtual machine identifier sent by the first virtual machine. Further optionally, the virtual machine identifier may be carried in the address information of the first memory space.
  • the address information of the first memory space may include a length value of the first memory space, and the memory size of the first memory space indicated by the length value corresponds to all virtual pages of the second virtual machine.
  • the virtual memory has the same memory size. That is to say, the memory space allocated for dom0 for mapping with the domU physical memory, that is, the first memory space is the same as the size (or "length") of the virtual memory corresponding to the domU.
  • the dom0 operating system may allocate a kernel linear address area for the dom0 in advance, and the size of the allocated linear address area may be greater than or equal to the size of the virtual memory corresponding to the domU, and if greater than, the first memory space is the A portion of the linear address area and the first memory space is determined from the linear address area based on the base address and length value information.
  • FIG. 3 is a schematic diagram of a memory mapping provided by an embodiment of the present invention.
  • the mapping device establishes the physical memory address and the dom0 linear address (ie, “first” by acquiring a mapping relationship between a virtual machine address space (ie, “virtual page”) corresponding to another virtual machine, such as a domU, and a physical memory address.
  • the mapping relationship of memory space is a schematic diagram of a memory mapping provided by an embodiment of the present invention.
  • the mapping device establishes the physical memory address and the dom0 linear address (ie, “first” by acquiring a mapping relationship between a virtual machine address space (ie, “virtual page”) corresponding to another virtual machine, such as a domU, and a physical memory address.
  • a mapping relationship between a virtual machine address space ie, “virtual page”
  • the address information of the physical memory may include a machine frame number (hereinafter referred to as “MFN”) of at least one physical page.
  • MFN machine frame number
  • the address information of the physical memory corresponding to the virtual page of the second virtual machine may be specifically: the physical frame number (physical frame number, referred to as “PFN”) corresponding to the virtual page of the second virtual machine that is stored.
  • PFN physical frame number
  • mapping relationship between the linear address of the first memory space and the memory address of the physical memory is established according to the address information of the first memory space and the address information of the physical memory, which may be specifically: Determining a linear address corresponding to the virtual page corresponding to each PFN in the second virtual machine in the first memory space, and establishing a mapping relationship between the determined linear address and the MFN corresponding to the PFN. Thereby, the physical memory address corresponding to the virtual page of the second virtual machine is mapped into the first memory space allocated for the first virtual machine.
  • the memory space allocated by the first virtual machine that is, the first memory space, fully maps the physical memory of the second virtual machine, that is, the mapping between the MFN corresponding to each virtual page of the second virtual machine and the linear address of the first memory space.
  • the first virtual machine can read or change the content in the physical memory corresponding to the second virtual machine by accessing the first memory space.
  • the second virtual machine directly notifies the first virtual machine of the linear address of the received data, and the first virtual machine sends the data. For data, copy the data directly to the physical memory address of the linear address map.
  • the second virtual machine notifies the first virtual machine of the linear address of the data to be sent, and the first virtual machine access corresponds to the linear address.
  • the physical memory address you can get the data content to be sent.
  • the first virtual machine may use the sum of the second virtual machine linear address and the first virtual machine base address as a linear address that needs to perform data transmission, to copy the data to be sent to the physical entity mapped by the linear address. Memory address or physical memory mapped from the linear address The address reads the data content of the transfer.
  • the first virtual machine further determines, according to another mapping relationship between the first memory space established by the PFN of the second virtual machine in the first memory space and the MFN corresponding to the second virtual machine, to determine the data to be processed.
  • the linear address of the transmission is not limited in the embodiment of the present invention.
  • the first memory space can be obtained by acquiring the address information of the first memory space allocated for the first virtual machine and the address information of the physical memory corresponding to the virtual page of the second virtual machine.
  • a mapping relationship between the linear address and the memory address of the physical memory so as to transfer data between the first virtual machine and the second virtual machine based on the mapping relationship, so that the data transmission does not need to call hypercall every time, thereby improving data transmission Rate and reduce device power consumption.
  • FIG. 4 is a schematic flowchart diagram of another virtual machine memory mapping method according to an embodiment of the present invention.
  • the first virtual machine and the second virtual machine are of a PV type.
  • the mapping method of the virtual machine memory in the embodiment of the present invention may include the following steps:
  • the first virtual machine may correspond to the above dom0, and the second virtual machine may correspond to the domU.
  • the address information of the first memory space may include a base address and a length value of the memory space, and the like, and the memory size of the first memory space indicated by the length value is different from the virtual memory corresponding to all virtual pages of the second virtual machine.
  • the memory size is the same.
  • FIG. 5 is another schematic diagram of memory mapping provided by an embodiment of the present invention.
  • the mapping relationship between the physical memory address and the dom0 linear address can be established by obtaining the mapping relationship between the PFN of the virtual page of the domU and the MFN corresponding to the physical memory address.
  • the mapping relationship between the PFN and the MFN may be stored in a preset domU page table.
  • the mapping relationship between the physical memory address and the dom0 linear address may be stored in a preset dom0 page table.
  • dom0 can send address information (including a base address and a length value) of the first memory space to xen, and xen can sequentially search for the MFN corresponding to the domU virtual machine page (virtual page), and establish the found MFN.
  • the mapping relationship with the linear address of the first memory space of dom0 Specifically, according to the PFN of the domU virtual machine page, the linear address corresponding to the PFN in the first memory space of the dom0 is determined, and the MFN corresponding to each PFN is obtained, so that the MFN corresponding to the domU is mapped to the first memory space. Linear address.
  • the domU may be determined by using a domU ID sent by the dom0, where the domU ID may be carried in the address information or other information of the first memory space, or may be sent separately.
  • the correspondence between the PFN of the virtual page of the domU (referred to as "domU PFN") and the linear address in the first memory space of the dom0 (referred to as "dom0 linear address”) may be:
  • Dom0 linear address dom0 base address + domU PFN * page size
  • a page table including a mapping relationship between the dom0 linear address and the MFN corresponding to the domU may be generated, and the dom0 linear address corresponding to each PFN and its mapping
  • the MFN can be used as an entry in the page table to copy the data to be sent to the physical memory address mapped by the dom0 linear address or read the transmitted data from the physical memory address mapped by the linear address. Content to achieve data transfer.
  • step 206 may be performed to update the mapping relationship; otherwise, the original mapping relationship may be maintained, and no processing is performed.
  • dom0 can call hypercall to notify xen to modify.
  • Xen can synchronize the change of the mapping relationship to the page table of the corresponding linear address area of dom0, that is, the content of the page table item of dom0 corresponding to the domU PFN is updated, and the domU PFN is mapped in the corresponding linear address in the dom0 page table.
  • the dom0 address addressing can be found by mapping the mapping relationship in the dom0 page table to find the mapped linear address.
  • the physical page is implemented by copying the data to be sent to the physical memory address mapped by the specified linear address or reading the transmitted data content from the physical memory address mapped by the specified linear address.
  • FIG. 6 is a schematic flowchart of still another method for mapping a virtual machine memory according to an embodiment of the present invention.
  • the first virtual machine and the second virtual machine are of an HVM type, and a hardware assisted paging (HAP) mechanism is used.
  • HAP hardware assisted paging
  • the mapping method of the virtual machine memory in the embodiment of the present invention may include the following steps:
  • the first virtual machine may correspond to the above dom0
  • the second virtual machine may correspond to the domU.
  • the address information of the first memory space and the address information of the second memory space may each include a base address, a length value, and the like of the corresponding memory space, and the memory size of the first memory space indicated by the length value and the second
  • the memory size of the memory space is the same as the memory size of the virtual memory corresponding to all the virtual pages of the second virtual machine.
  • a second memory space may be allocated for the first virtual machine, that is, dom0, and the type of the second memory space is set to a reserved type.
  • xen can allocate a virtual machine page PFN area in the e820 table, that is, the second memory space, which is used to map physical memory of other virtual machines such as domU, and is started in the dom0 operating system.
  • the allocated PFN area is set to a reserved type, so that the operating system does not dynamically allocate the memory space, but only for domU memory mapping.
  • FIG. 7 is still another schematic diagram of memory mapping provided by the embodiment of the present invention.
  • the mapping relationship between the physical memory address and the dom0PFN can be established by obtaining the mapping relationship between the PFN of the virtual page of the domU and the MFN corresponding to the physical memory address, and the mapping relationship between the dom0PFN and the dom0 linear address is further established.
  • the mapping relationship between the PFN and the MFN may be stored in a preset domU extended page table.
  • the mapping relationship between the established domU physical memory address and the dom0PFN may be stored in a preset dom0 extended page table.
  • the mapping relationship between dom0PFN and dom0 linear address can be stored in the preset dom0 page table.
  • the hypercall interface of the xen may be pre-expanded to obtain the information of the dom0PFN interval, including the base PFN, the length value, etc., that is, the address information of the second memory space is obtained, and other virtual machines domU that need to perform data transmission are determined. If domU is determined according to the domU ID sent by dom0, all PFNs of domU are mapped in turn, and the full mapping of MFN corresponding to domU to dom0 first memory space is implemented.
  • the xen can obtain the physical memory page MFN corresponding to the PFN of each virtual page of the domU by using the mapping relationship between the PFN and the MFN maintained by the domU, thereby establishing the mapping of the dom0 second memory space and the MFN by calling the extended hypercall interface.
  • the relationship maps the full amount of memory of the domU to the second memory space, and stores the mapping relationship in the preset first page table (ie, the dom0 extended page table described above).
  • Each PFN address and its mapped MFN can be used as an entry in the page table.
  • mapping manner reference may be made to the related description of the corresponding embodiment in FIG. 4-5, and details are not described herein again.
  • xen can find the physical memory page M corresponding to P by its own PFN-to-MFN mapping relationship maintained by domU, thereby updating M to the dom0 extended page table (ie, In the table of the first page, the serial number is (base PFN+P).
  • the second memory space may be mapped to the first memory space, that is, the linear address of the second memory space is established and the first memory space is The mapping of linear addresses.
  • the page table maintained by the linear address can be modified by controlling the dom0 to modify the page table maintained by itself (the second page table, such as the dom0 page table described above).
  • the second page table such as the dom0 page table described above.
  • the mapping relationship between the second memory space and the first memory space is stored in the dom0 page table, and details are not described herein again.
  • the PFN and the MFN corresponding to each virtual page of the second virtual machine may also be detected. Whether the mapping relationship has changed. Specifically, if it is detected that the mapping relationship between the PFN and the MFN corresponding to any virtual page is changed, the PFN whose mapping relationship is changed and the corresponding MFN may be obtained, and the linearity corresponding to the PFN in the second memory space is determined. An address, and updating the MFN corresponding to the PFN to an MFN having a mapping relationship with the determined linear address corresponding to the second memory space. Otherwise, the original mapping relationship can still be maintained without any processing.
  • the mapping relationship between the MFN to the dom0 virtual machine page PFN and the mapping relationship between the dom0 virtual machine page PFN and the dom0 linear address are established, so that the dom0 address is found.
  • the address can be mapped to the physical page mapped to the specified linear address by querying the dom0 page table and the extended page table two-level mapping, so as to copy the data to be sent to the physical memory address mapped by the specified linear address or from the specified linear address.
  • the physical memory address mapped by the address reads the data content of the transmission to implement data transmission.
  • FIG. 8 is a schematic structural diagram of a virtual machine memory mapping apparatus according to an embodiment of the present invention.
  • the mapping device of the virtual machine memory in the embodiment of the present invention may include an obtaining unit 11 and a mapping unit 12. among them,
  • the obtaining unit 11 is configured to acquire address information of a first memory space allocated for the first virtual machine.
  • the first virtual machine may correspond to dom0 described above.
  • the first memory space is a linear address area allocated in the dom0 operating system, and is used to establish a memory mapping relationship with the second virtual machine, that is, other virtual machines.
  • the address information of the first memory space may include a base address, a length value, and the like of the first memory space.
  • the obtaining unit 11 is further configured to acquire address information of a physical memory corresponding to a virtual page of the second virtual machine, where the second virtual machine is a virtual machine that needs to perform data transmission with the first virtual machine.
  • the second virtual machine may correspond to the domU, where the second virtual machine refers to a virtual machine that needs to establish a memory mapping relationship with the first virtual machine, such as a virtual data transmission with the first virtual machine. machine.
  • the address information of the first memory space includes a length value of the first memory space, and the memory size of the first memory space indicated by the length value corresponds to all virtual pages of the second virtual machine.
  • the memory size of virtual memory is the same.
  • the second virtual machine may be determined by a virtual machine identifier sent by the first virtual machine. Further optionally, the virtual machine identifier may be carried in the address information of the first memory space.
  • the mapping unit 12 is configured to establish a linear address of the first memory space and a memory address of the physical memory according to the address information of the first memory space and the address information of the physical memory acquired by the acquiring unit 11 Mapping relationship.
  • the address information of the physical memory includes the host page number MFN of the at least one physical page.
  • the specific manner of the obtaining the address information of the physical memory corresponding to the virtual page of the second virtual machine may be:
  • the mapping unit 12 can be specifically configured to:
  • the memory space allocated by the first virtual machine that is, the first memory space, fully maps the physical memory of the second virtual machine, that is, the mapping unit 12 respectively establishes the linearity of the MFN and the first memory space corresponding to each virtual page of the second virtual machine.
  • the first virtual machine can read or change the content in the physical memory corresponding to the second virtual machine by accessing the first memory space.
  • the first memory space can be obtained by acquiring the address information of the first memory space allocated for the first virtual machine and the address information of the physical memory corresponding to the virtual page of the second virtual machine.
  • a mapping relationship between the linear address and the memory address of the physical memory so as to transfer data between the first virtual machine and the second virtual machine based on the mapping relationship, so that the data transmission does not need to call hypercall every time, thereby improving data transmission Rate and reduce device power consumption.
  • FIG. 9 is another virtual machine memory mapping according to an embodiment of the present invention. Schematic diagram of the structure of the device. Specifically, as shown in FIG. 9, the apparatus of the embodiment of the present invention includes the acquiring unit 11 and the mapping unit 12 of the mapping device of the virtual machine memory in the foregoing embodiment of FIG. In the embodiment of the present invention, the types of the first virtual machine and the second virtual machine are all semi-virtualized PV types, and the address information of the first memory space further includes a base address of the first memory space.
  • the mapping unit 12 can be specifically configured to:
  • the first virtual machine may correspond to the above dom0, and the second virtual machine may correspond to the domU.
  • the obtaining unit 11 may receive the address information (including the base address and the length value) of the first memory space sent by dom0, and sequentially search for the MFN corresponding to the domU virtual page, and establish the found MFN and dom0 through the mapping unit 12.
  • the mapping relationship of the linear address of the first memory space The mapping unit 12 specifically determines the linear address corresponding to the PFN in the first memory space of the dom0 according to the PFN of the domU virtual machine page, and obtains the MFN corresponding to each PFN, thereby mapping the MFN corresponding to the domU to the first The linear address of the memory space.
  • the domU may be determined by using a domU ID sent by the dom0, where the domU ID may be carried in the address information or other information of the first memory space, or may be sent separately.
  • the data transmission is realized by copying the data to be transmitted to the physical memory address mapped by the dom0 linear address or reading the transmitted data content from the physical memory address mapped by the linear address.
  • the device further includes:
  • the first detecting unit 13 is configured to detect whether a mapping relationship between the PFN and the MFN corresponding to each virtual page of the second virtual machine is changed.
  • the first update unit 14 is configured to: when the first detection unit 13 detects that the mapping relationship between the PFN and the MFN corresponding to any virtual page is changed, acquire the PFN whose mapping relationship is changed and the corresponding MFN, and determine the The PFN is in a linear address corresponding to the first memory space, and the MFN corresponding to the PFN is updated to an MFN having a mapping relationship with the determined linear address corresponding to the first memory space.
  • the dom0 address addressing can be found by mapping the mapping relationship in the dom0 page table to find the mapped linear address.
  • the physical page is implemented by copying the data to be sent to the physical memory address mapped by the specified linear address or reading the transmitted data content from the physical memory address mapped by the specified linear address.
  • FIG. 10 is a schematic structural diagram of still another virtual machine memory mapping apparatus according to an embodiment of the present invention.
  • the apparatus according to the embodiment of the present invention includes the acquiring unit 11 and the mapping unit 12 of the mapping device of the virtual machine memory in the foregoing embodiment of FIG.
  • the types of the first virtual machine and the second virtual machine are all hardware virtualization HVM types; further,
  • the obtaining unit 11 is further configured to acquire address information of a second memory space allocated for the first virtual machine, where the address information of the second memory space includes a base address of the second memory space;
  • the mapping unit 12 can be specifically configured to:
  • the device further includes:
  • the memory allocation unit 15 is configured to allocate the second memory space for the first virtual machine when the first virtual machine is created, and set the type of the second memory space to a reserved type.
  • the first virtual machine may correspond to the above dom0
  • the second virtual machine may correspond to the domU.
  • the address information of the first memory space and the address information of the second memory space may each include a base address, a length value, and the like of the corresponding memory space, and the memory size of the first memory space indicated by the length value and the second
  • the memory size of the memory space is the same as the memory size of the virtual memory corresponding to all the virtual pages of the second virtual machine.
  • the memory allocation unit 15 can allocate more in the e820 table.
  • a virtual machine page PFN area that is, a second memory space, is used to map physical memory of other virtual machines, such as domU, and the allocated PFN area is set to a reserved type during the startup process of the dom0 operating system, so that the operating system is incorrect.
  • This memory space is dynamically allocated and used only for domU memory mapping.
  • the obtaining unit 11 may obtain the information of the dom0PFN interval, including the base PFN, the length value, and the like, that is, obtain the address information of the second memory space, and determine other virtual machines domU that need to be transmitted with the data, such as according to dom0.
  • the domU ID determines the domU, so that all the PFNs of the domU are mapped in turn by the mapping unit, and the full mapping of the MFN corresponding to the domU to the first memory space of the dom0 is implemented.
  • the obtaining unit 11 can obtain the physical memory page MFN corresponding to the PFN of each virtual page of the domU by using the mapping relationship between the PFN and the MFN maintained by the domU, so that the mapping unit 12 can establish the dom0 second memory by calling the extended hypercall interface.
  • the mapping relationship between the space and the MFN maps the full amount of memory of the domU to the second memory space, and stores the mapping relationship in the preset first page table (ie, the dom0 extended page table described above).
  • the mapping unit 12 can map the second memory space to the first memory space, that is, establish a linear address of the second memory space and the first memory space. The mapping of linear addresses.
  • the page table (the second page table, such as the dom0 page table described above) can be modified by controlling dom0, and the page table entry corresponding to the linear address is filled into the corresponding PFN, thereby realizing the second memory space and the first
  • the mapping relationship of a memory space is stored in the dom0 page table, and will not be described here.
  • the device further includes:
  • the second detecting unit 16 is configured to detect whether a mapping relationship between the PFN and the MFN corresponding to each virtual page of the second virtual machine is changed.
  • the second update unit 17 is configured to: when the second detection unit 16 detects that the mapping relationship between the PFN and the MFN corresponding to any virtual page is changed, acquire the PFN whose mapping relationship is changed and the corresponding MFN, and determine the The PFN is in the linear address corresponding to the second memory space, and updates the MFN corresponding to the PFN to an MFN having a mapping relationship with the determined linear address corresponding to the second memory space.
  • the mapping relationship between the MFU to the dom0 virtual machine page PFN and the dom0 virtual machine page PFN are established.
  • the mapping to the linear address of dom0 enables dom0 address addressing by querying the dom0 page table and the extended page table two-level mapping, addressing the physical page mapped to the specified linear address, so as to copy the data to be sent to the specified linearity.
  • Data transfer is performed by reading the physical data address mapped by the address or reading the data content of the transfer from the physical memory address mapped by the specified linear address.
  • FIG. 11 is a schematic structural diagram of a data transmission device according to an embodiment of the present invention, for performing the foregoing method for mapping a virtual machine memory.
  • the data transmission device (hereinafter referred to as "device") of the embodiment of the present invention includes: a communication interface 300, a memory 200, and a processor 100, and the processor 100 and the communication interface respectively 300 and the memory 200 are connected.
  • the memory 200 may be a high speed RAM memory or a non-volatile memory such as at least one disk memory.
  • the communication interface 300, the memory 200, and the processor 100 may be connected to each other through a bus, or may be connected by other means. In the present embodiment, a bus connection will be described.
  • the device structure shown in FIG. 11 does not constitute a limitation on the embodiment of the present invention, and may include more or less components than those illustrated, or combine some components, or different component arrangements. among them:
  • the processor 100 is a control center of the device, which connects various parts of the entire device using various interfaces and lines, by running or executing programs and/or units stored in the memory 200, and calling driver software stored in the memory 200, Perform various functions and process data of the device.
  • the processor 100 may be composed of an integrated circuit (IC), for example, may be composed of a single packaged IC, or may be composed of a plurality of packaged ICs that have the same function or different functions.
  • the processor 100 may include only a central processing unit (CPU), or may be a CPU, a digital signal processor (DSP), or a graphics processing unit (GPU). And a combination of various control chips.
  • the CPU may be a single operation core, and may also include multiple operation cores.
  • Communication interface 300 can include a wired interface, a wireless interface, and the like.
  • the memory 200 can be used to store driver software (or software programs) and units, and the processor 100 and the communication interface 300 perform various functional applications of the devices and implement data processing by calling the driver software and the units stored in the memory 200.
  • the memory 200 mainly includes a program storage area and a data storage area, wherein the program storage area can store an operating system, driver software required for at least one function, and the like; the data storage area can store data created according to usage of the device, etc., as described above.
  • Including the second virtual machine A page table that maps physical memory to the linear address of the first virtual machine's first memory space.
  • the operating system may be a Linux, Windows, UNIX, Android, iOS or Windows operating system or the like.
  • the processor 100 reads the driver software from the memory 200 and executes it under the action of the driver software:
  • the address information of the first memory space includes a length value of the first memory space, where the length value indicates a memory size of the first memory space and all virtual pages of the second virtual machine The corresponding virtual memory has the same memory size.
  • the address information of the physical memory includes a host page number MFN of at least one physical page; the processor 100 reads the driver software from the memory 200 and executes the function by the driver software.
  • the processor 100 reads the driver software from the memory 200 and executes the function by the driver software.
  • the processor 100 reads the driver software from the memory 200 and executes the address information according to the first memory space and the address information of the physical memory under the action of the driver software to establish the The mapping between the linear address of the first memory space and the memory address of the physical memory performs the following steps:
  • the types of the first virtual machine and the second virtual machine are both semi-virtualized PV types, and the address information of the first memory space further includes a base address of the first memory space;
  • the processor 100 reads the driver software from the memory 200 and performs the function under the action of the driver software Determining a linear address corresponding to the virtual page corresponding to each PFN in the second virtual machine in the first memory space, and performing the following steps:
  • the processor 100 reads the driver software from the memory 200 and performs the determining, by the driver software, the virtual page corresponding to each PFN in the second virtual machine. After the linear address corresponding to the first memory space is described, and the mapping relationship between the determined linear address and the MFN corresponding to the PFN is established, the following steps are also performed:
  • mapping relationship between the PFN and the MFN corresponding to the virtual page is changed, the PFN whose mapping relationship is changed and the corresponding MFN are obtained, and the linear address corresponding to the PFN in the first memory space is determined, and the PFN is obtained.
  • the corresponding MFN is updated to be an MFN having a mapping relationship with the determined linear address corresponding to the first memory space.
  • the types of the first virtual machine and the second virtual machine are both hardware virtualization HVM types; the processor 100 reads the driver software from the memory 200 and is in the driver software. The following steps are also performed under the action:
  • the processor 100 reads the driver software from the memory 200 and performs the determining, by the driver software, the virtual page corresponding to each PFN in the second virtual machine in the first memory space. Corresponding linear address, and establishing a mapping relationship between the determined linear address and the MFN corresponding to the PFN, and performing the following steps:
  • the processor 100 reads the driver software from the memory 200 and performs the determining, by the driver software, the virtual page corresponding to each PFN in the second virtual machine. After the linear address corresponding to the first memory space is described, and the mapping relationship between the determined linear address and the MFN corresponding to the PFN is established, the following steps are also performed:
  • mapping relationship between the PFN and the MFN corresponding to the virtual page is changed, the PFN whose mapping relationship is changed and the corresponding MFN are obtained, and the linear address corresponding to the PFN in the second memory space is determined, and the PFN is obtained.
  • the corresponding MFN is updated to be an MFN having a mapping relationship with the determined linear address corresponding to the second memory space.
  • the processor 100 reads the driver software from the memory 200 and further performs the following steps under the action of the driver software:
  • the second virtual space is allocated for the first virtual machine, and the type of the second memory space is set to a reserved type.
  • the address information of the second memory space further includes a length value of the second memory space, where the length value indicates a memory size of the second memory space and all virtualities of the second virtual machine The virtual memory corresponding to the page has the same memory size.
  • the second virtual machine is determined by a virtual machine identifier sent by the first virtual machine.
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be Electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as the unit may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. . Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
  • the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
  • the above software functional unit is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to perform the methods of the various embodiments of the present invention. Part of the steps.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

L'invention porte sur un procédé et sur un appareil permettant de mapper une mémoire de machine virtuelle ainsi que sur un dispositif de transmission de données. Le procédé consiste : à obtenir des informations d'adresse d'un premier espace mémoire attribué à une première machine virtuelle (101) ; à obtenir des informations d'adresse d'une mémoire physique correspondant à une page virtuelle d'une seconde machine virtuelle (102), la seconde machine virtuelle étant une machine virtuelle qui nécessite une transmission de données avec la première machine virtuelle ; et à établir, en fonction des informations d'adresse du premier espace mémoire et des informations d'adresse de la mémoire physique, une relation de mappage entre une adresse linéaire du premier espace mémoire et une adresse mémoire de la mémoire physique (103). Le procédé peut améliorer le débit de transmission de données et réduire la consommation d'énergie du dispositif.
PCT/CN2016/086592 2016-06-21 2016-06-21 Procédé et appareil permettant de mapper une mémoire de machine virtuelle et dispositif de transmission de données WO2017219250A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2016/086592 WO2017219250A1 (fr) 2016-06-21 2016-06-21 Procédé et appareil permettant de mapper une mémoire de machine virtuelle et dispositif de transmission de données
CN201680004815.4A CN107278292B (zh) 2016-06-21 2016-06-21 一种虚拟机内存的映射方法、装置及数据传输设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/086592 WO2017219250A1 (fr) 2016-06-21 2016-06-21 Procédé et appareil permettant de mapper une mémoire de machine virtuelle et dispositif de transmission de données

Publications (1)

Publication Number Publication Date
WO2017219250A1 true WO2017219250A1 (fr) 2017-12-28

Family

ID=60052990

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/086592 WO2017219250A1 (fr) 2016-06-21 2016-06-21 Procédé et appareil permettant de mapper une mémoire de machine virtuelle et dispositif de transmission de données

Country Status (2)

Country Link
CN (1) CN107278292B (fr)
WO (1) WO2017219250A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737608A (zh) * 2018-07-03 2020-01-31 阿里巴巴集团控股有限公司 一种数据操作方法、装置及***
CN116185565A (zh) * 2022-12-29 2023-05-30 芯动微电子科技(武汉)有限公司 一种内存数据隔离和共享的***和方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197038A (zh) * 2018-02-01 2018-06-22 深圳市风云实业有限公司 一种Linux数据传输方法、装置和用户终端
CN110308974A (zh) * 2019-07-11 2019-10-08 联想(北京)有限公司 一种数据处理方法、虚拟机装置及虚拟机架构
CN113032086A (zh) * 2019-12-25 2021-06-25 中兴通讯股份有限公司 虚拟机部署及热迁移方法、vmm升级方法、服务器
CN113849428A (zh) * 2020-06-28 2021-12-28 华为技术有限公司 共享内存权限配置方法,内存单元和***
CN117492933B (zh) * 2023-12-28 2024-03-22 苏州元脑智能科技有限公司 数据交换方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103116556A (zh) * 2013-03-11 2013-05-22 无锡江南计算技术研究所 内存静态划分虚拟化方法
CN103257929A (zh) * 2013-04-18 2013-08-21 中国科学院计算技术研究所 一种虚拟机内存映射方法及***
CN103530167A (zh) * 2013-09-30 2014-01-22 华为技术有限公司 一种虚拟机内存数据的迁移方法及相关装置和集群***
US20140173600A1 (en) * 2012-12-18 2014-06-19 Dynavisor, Inc. Dynamic device virtualization
CN105373413A (zh) * 2014-08-22 2016-03-02 中兴通讯股份有限公司 Xen虚拟化***的全映射方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100527098C (zh) * 2007-11-27 2009-08-12 北京大学 一种虚拟机管理器的动态内存映射方法
US9858101B2 (en) * 2014-11-13 2018-01-02 Red Hat Israel, Ltd. Virtual machine input/output thread management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140173600A1 (en) * 2012-12-18 2014-06-19 Dynavisor, Inc. Dynamic device virtualization
CN103116556A (zh) * 2013-03-11 2013-05-22 无锡江南计算技术研究所 内存静态划分虚拟化方法
CN103257929A (zh) * 2013-04-18 2013-08-21 中国科学院计算技术研究所 一种虚拟机内存映射方法及***
CN103530167A (zh) * 2013-09-30 2014-01-22 华为技术有限公司 一种虚拟机内存数据的迁移方法及相关装置和集群***
CN105373413A (zh) * 2014-08-22 2016-03-02 中兴通讯股份有限公司 Xen虚拟化***的全映射方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737608A (zh) * 2018-07-03 2020-01-31 阿里巴巴集团控股有限公司 一种数据操作方法、装置及***
CN110737608B (zh) * 2018-07-03 2024-03-15 阿里巴巴集团控股有限公司 一种数据操作方法、装置及***
CN116185565A (zh) * 2022-12-29 2023-05-30 芯动微电子科技(武汉)有限公司 一种内存数据隔离和共享的***和方法

Also Published As

Publication number Publication date
CN107278292B (zh) 2020-07-28
CN107278292A (zh) 2017-10-20

Similar Documents

Publication Publication Date Title
WO2017219250A1 (fr) Procédé et appareil permettant de mapper une mémoire de machine virtuelle et dispositif de transmission de données
CN107209681B (zh) 一种存储设备访问方法、装置和***
US9734096B2 (en) Method and system for single root input/output virtualization virtual functions sharing on multi-hosts
US10176007B2 (en) Guest code emulation by virtual machine function
US20190319896A1 (en) Packet Forwarding Method And Physical Host
US9552233B1 (en) Virtual machine migration using free page hinting
US10387182B2 (en) Direct memory access (DMA) based synchronized access to remote device
EP2879053B1 (fr) Procédé de migration de données de mémoire d'une machine virtuelle, appareil associé et système de grappes
US9720712B2 (en) Physical/virtual device failover with a shared backend
US8832352B2 (en) Hypervisor-driven protection of data from virtual machine clones
US11256445B2 (en) Virtual disk file format conversion method and apparatus
US9854036B2 (en) Method for migrating memory data of virtual machine, and related apparatus and cluster system
US8775715B2 (en) Protection of data from virtual machine clones via paravirtualization
US20180329828A1 (en) Kernel-assisted inter-process data transfer
US8706942B2 (en) Direct memory access (DMA) address translation between peer-to-peer input/output (I/O) devices
US20160350261A1 (en) Memory Deduplication Support for Remote Direct Memory Access (RDMA)
JP2013515983A (ja) 仮想化環境においてi/o処理を行う方法および装置
US9507617B1 (en) Inter-virtual machine communication using pseudo devices
US10754679B2 (en) Method and apparatus for handling network I/O device virtualization
CN112905304B (zh) 一种虚拟机间通信方法、装置、物理主机及介质
US10331591B2 (en) Logical-to-physical block mapping inside the disk controller: accessing data objects without operating system intervention
CN115309511B (zh) 基于Xen的数据交互方法、装置、存储介质以及电子设备
WO2023221847A1 (fr) Procédé d'accès à des données basé sur une communication directe d'un dispositif de machine virtuelle, dispositif et système
WO2018103022A1 (fr) Procédé et appareil de réalisation de mise en tampon de trame, dispositif électronique et produit programme informatique
US20170090965A1 (en) Dirty Memory Tracking with Assigned Devices by Exitless Paravirtualization

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16905792

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16905792

Country of ref document: EP

Kind code of ref document: A1