WO2017133493A1 - Virtual machine memory address assigning method and device - Google Patents

Virtual machine memory address assigning method and device Download PDF

Info

Publication number
WO2017133493A1
WO2017133493A1 PCT/CN2017/071928 CN2017071928W WO2017133493A1 WO 2017133493 A1 WO2017133493 A1 WO 2017133493A1 CN 2017071928 W CN2017071928 W CN 2017071928W WO 2017133493 A1 WO2017133493 A1 WO 2017133493A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
virtual memory
host
power
address
Prior art date
Application number
PCT/CN2017/071928
Other languages
French (fr)
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 EP17746813.9A priority Critical patent/EP3401792A4/en
Publication of WO2017133493A1 publication Critical patent/WO2017133493A1/en
Priority to US16/054,636 priority patent/US10817432B2/en

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
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Definitions

  • the present application relates to the field of memory, and in particular, to a memory address allocation method and apparatus for a virtual machine.
  • the host needs to allocate the physical memory address of the host from the physical memory area with power-down protection for the virtual memory address that the virtual machine has the power-off protection requirement, and must perform three mappings.
  • the physical memory address of the physical memory area with power failure protection is mapped to a character device, and then the character device is remapped to an external device interconnection bus (English: Peripheral Component Interconnect, PCI for short), and finally, PCI is The device maps to the virtual machine's virtual memory address.
  • PCI Peripheral Component Interconnect
  • the host determines that the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power failure protection, and the virtual memory area with the power failure protection is the virtual machine.
  • the virtual memory address allocates the physical memory address of the host.
  • the virtual memory address of the virtual machine is directly allocated the physical memory address of the host from the physical memory area with power failure protection.
  • the efficiency of the physical memory address that the host has a power-down protection is increased by the virtual memory address that is required for the power-off protection of the virtual machine.
  • the host device stores information that the virtual memory area address is a virtual memory area with power-down protection, and generates a page fault interrupt in the virtual machine.
  • the host queries the information according to the virtual memory address that generates the page fault interrupt, and determines that the virtual memory address belongs to the virtual memory area that has the power-down protection.
  • the virtual machine configuration file stores information that the virtual memory area address is a virtual memory area with power-down protection
  • the host queries the information in the configuration file according to the virtual memory address that generates the page fault interrupt, and determines that the virtual memory address belongs to the virtual memory area with power failure protection.
  • the virtual memory area address is stored in the shared file of the host machine and the virtual machine as a power-down protection Information of the virtual memory area, when the virtual machine generates a page fault interrupt, the host queries the information in the shared file according to the virtual memory address that generates the page fault interrupt, and determines that the virtual memory address belongs to the power-down protection Virtual memory area.
  • the shared file is accessible to both the host and the virtual machine. Therefore, after the host determines that the virtual memory area address is the virtual memory area with power-down protection, the virtual machine can also be based on its actual situation. The situation is modified by the virtual memory area address being the information of the virtual memory area with power-down protection.
  • the host device pre-stores information about the virtual memory address of the power-down protection that the process in the virtual machine needs to access, and the virtual machine generates a defect.
  • the host queries the information according to the virtual memory address that generates the page fault interrupt, and determines that the virtual memory address belongs to the virtual memory area with power-down protection.
  • the host allocates the physical memory address of the host, and specifically includes:
  • the host establishes a mapping relationship between the virtual memory address and a physical memory address of the host.
  • the host is the physical memory area with the power failure protection
  • the virtual memory address allocates the physical memory address of the host, and specifically includes:
  • the host establishes a mapping relationship between a physical memory address of the virtual machine and a physical memory address of the host; wherein the virtual memory address is mapped to a physical memory address of the virtual machine.
  • the present invention provides a host machine for performing the method of any of the above first aspect or any of the possible implementations of the first aspect.
  • the virtual machine runs on a host, the host includes a physical memory area with power-down protection, and the virtual machine includes a virtual memory area with power-down protection, and the host includes Means for performing the method of any of the above-described first aspect or any of the possible implementations of the first aspect.
  • the host includes a processor and a memory, and the virtual machine runs on the host, and the memory of the host includes a physical memory area with power-down protection, and the virtual machine includes a power-down protection.
  • a virtual memory area the processor in communication with the memory, the processor being operative to perform the method of any of the first aspect or the first aspect of the first aspect.
  • the host includes a memory management unit (English: Memory Management Unit, MMU for short) and a memory, and the virtual machine runs on the host, and the memory of the host includes power-down protection.
  • MMU Memory Management Unit
  • a physical memory area the virtual machine includes a virtual memory area with power-down protection
  • the MMU is in communication with the memory
  • the MMU is configured to perform the method in any of the foregoing first aspect or any possible implementation manner of the first aspect .
  • the host in the present invention is a server.
  • a computer readable medium for storing a computer program comprising instructions for performing the method of the first aspect or any of the possible implementations of the first aspect.
  • FIG. 1 is an application scenario of an embodiment of the present invention
  • FIG. 2 is a flowchart of a method for allocating a memory address of a virtual machine according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a host machine according to an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of another host machine according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of still another host machine according to an embodiment of the present invention.
  • the virtual machine 120 runs on the host 110, and the host 110 includes a physical memory area 111 with power-down protection.
  • the virtual machine 120 includes a virtual memory area 121 with power-down protection.
  • Host 110 can be a server, workstation, laptop, desktop, tablet, or the like.
  • the physical memory area 111 having the power-down protection is part or all of the physical memory of the host 110, and the data stored in the physical memory area 111 having the power-down protection can still be lost when power failure occurs, and the data can be prepared.
  • the electrical device saves the data in the physical memory area 111 with the power-down protection to the non-volatile device, or in the embodiment of the present invention, the physical memory area 111 with the power-down protection refers to the physical memory that provides the power-down protection.
  • the memory device in the area is a non-volatile memory device. After the power is turned off, the data in the memory device is not lost.
  • the virtual memory area 121 with power-down protection is part or all of the virtual memory of the virtual machine 120, and the virtual memory area 121 with power-down protection is allocated with power-down protection when the physical memory address of the host 110 is allocated.
  • the physical memory address of the physical memory area 111 is part or all of the virtual memory of the virtual machine 120, and the virtual memory area 121 with power-down protection is allocated with power-down protection when the physical memory address of the host 110 is allocated.
  • the physical memory address of the physical memory area 111 is a non-volatile memory device.
  • step 210 when the virtual machine generates a page fault interrupt, the host determines whether the virtual memory address generated by the virtual machine to generate a page fault interrupt belongs to a virtual memory area with power failure protection, and if it belongs to power failure protection.
  • the virtual memory area proceeds to step 220: the host allocates the physical memory address of the host to the virtual memory address of the virtual machine from the physical memory area with power failure protection; if it does not belong to the virtual memory area with power failure protection, proceed to step 230.
  • the host allocates the physical memory address of the host to the virtual memory address of the virtual machine from the physical memory area without power-down protection.
  • the host after determining that the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power failure protection, the host directly allocates the virtual memory address of the virtual machine from the physical memory area with power failure protection.
  • the physical memory address of the host improves the efficiency of the physical memory address that the host has a power-down protection for the virtual memory address that the virtual machine has the power-down protection requirement.
  • the information of the virtual memory area address being the virtual memory area with power-down protection may be: the start address and length of the virtual memory area with power-down protection. Therefore, the host can determine the location of the virtual memory area with power-down protection according to the starting address and length of the virtual memory area with power-down protection, and the host machine will generate a page fault interrupt when the virtual machine generates a page fault interrupt.
  • the virtual memory address is compared with the location of the virtual memory area with power-down protection to determine whether the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power-down protection.
  • the information of the virtual memory area address being the virtual memory area with power-down protection may also be the start address and the end address of the virtual memory area with power-down protection, or the virtual memory area with power-down protection. End address And length and so on.
  • the method for determining whether the virtual memory address generated by the virtual machine to generate a page fault interrupt belongs to the virtual memory area with power failure protection is: the memory of the virtual memory area in the host storage is powered off.
  • the information of the protected virtual memory area when the virtual machine generates a page fault interrupt, the host queries the information according to the virtual memory address requested by the virtual machine, and determines whether the virtual memory address of the virtual machine belongs to the virtual protection with power failure protection according to the information. Memory area.
  • the information that the virtual memory area address is stored in the virtual memory area with the power-down protection may be: when the host creates the virtual machine, the host stores the virtual memory area address in the virtual machine's configuration file. Information for the virtual memory area protected by power loss.
  • the configuration file of the virtual machine is an important parameter for recording a virtual machine, such as a central processing unit (English: Center Processing Unit, CPU) parameter, a memory parameter, a hard disk parameter, and the like.
  • CPU Center Processing Unit
  • the host can query the virtual machine's configuration file according to the virtual machine's virtual memory address to determine whether the virtual machine's virtual memory address belongs to the virtual memory area with power-down protection.
  • the information that the virtual memory area address in the host machine is a virtual memory area with power-down protection may be: the host stores information of the virtual memory area whose virtual memory area address is power-down protection in the shared file. .
  • the shared file is a file that can be accessed by both the host and the virtual machine, and can be a txt file, a word file, or the like.
  • the host can query the shared file according to the virtual memory address of the virtual machine to determine whether the virtual memory address of the virtual machine belongs to the virtual memory area with power failure protection.
  • the virtual machine can also determine the information of the virtual memory area in which the virtual memory area address is the power-down protection is stored in the shared file. Access the shared file, and modify the information of the virtual memory area whose virtual memory area address is the power-down protection in the shared file according to the actual situation.
  • the host determines whether the virtual memory address generated by the virtual machine to generate a page fault interrupt belongs to the virtual memory area with power failure protection: the host needs to access the process in the virtual machine.
  • the information of the virtual memory address with power failure protection when the virtual machine generates a page fault interrupt, the host queries the information according to the virtual memory address requested by the virtual machine, and determines that the virtual memory address requested by the virtual machine is the virtual memory accessed by the process. address.
  • the host allocates the physical memory address of the host to the virtual memory address of the virtual machine from the physical memory area with the power failure protection, and specifically includes: the host establishes the virtual memory by using a shadow page table.
  • the mapping between the address and the physical memory address of the host, or the host establishes a mapping between the physical memory address of the virtual machine and the physical memory address of the host by means of an extended page table (English: Extended Page Table, EPT). Relationship, where the virtual memory address is mapped to the virtual machine's physical memory address.
  • EPT Extended Page Table
  • FIG. 3 is a schematic structural diagram of a host machine according to an embodiment of the present invention.
  • the virtual machine runs on a host, and the host includes a physical memory area with power-down protection, and the virtual machine includes An electrically protected virtual memory area, the host including a determining unit 310 and an allocating unit 320. among them,
  • a determining unit 310 configured to determine that the virtual machine generates a page fault interrupt virtual memory address belongs to the a virtual memory area with power-down protection
  • the allocating unit 320 is configured to allocate a physical memory address of the host to the virtual memory address from the physical memory area with power failure protection.
  • the allocating unit 320 after determining that the virtual memory address of the virtual machine generating the page fault interrupt belongs to the virtual memory area with power failure protection, the allocating unit 320 directly uses the virtual memory address of the virtual machine from the physical protection with power failure protection.
  • the memory area allocates the physical memory address of the host, which improves the efficiency of assigning the physical memory address of the host to the power-down protection for the virtual memory address that the virtual machine has the power-down protection requirement.
  • the information of the virtual memory area address being the virtual memory area with power-down protection may be: the start address and length of the virtual memory area with power-down protection. Therefore, the determining unit 310 can determine the location of the virtual memory area with the power-down protection according to the start address and the length of the virtual memory area with the power-down protection, and the determining unit 310 will generate the page fault when the virtual machine generates the page fault interrupt.
  • the interrupted virtual memory address is compared with the location of the virtual memory area with power-down protection to determine whether the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power-down protection.
  • the information of the virtual memory area address being the virtual memory area with power-down protection may also be the start address and the end address of the virtual memory area with power-down protection, or the virtual memory area with power-down protection. End address and length, etc.
  • the determining unit 310 is configured to determine that the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power-down protection: the virtual machine memory address in the host storage is inactive.
  • the information of the protected virtual memory area when the virtual machine generates a page fault interrupt, the determining unit 310 queries the information according to the virtual memory address requested by the virtual machine, and determines, according to the information, whether the virtual memory address of the virtual machine belongs to the power-down protection. Virtual memory area.
  • the information that the virtual memory area address is stored in the virtual memory area with the power-down protection may be: when the host creates the virtual machine, the host stores the virtual memory area address in the virtual machine's configuration file. Information for the virtual memory area protected by power loss.
  • the configuration file of the virtual machine is an important parameter for recording a virtual machine, such as a central processing unit (English: Center Processing Unit, CPU) parameter, a memory parameter, a hard disk parameter, and the like.
  • the determining unit 310 may query the configuration file of the virtual machine according to the virtual memory address of the virtual machine to determine whether the virtual memory address of the virtual machine belongs to the virtual memory area with power failure protection.
  • the information that the virtual memory area address in the host machine is a virtual memory area with power-down protection may be: the host stores information of the virtual memory area whose virtual memory area address is power-down protection in the shared file. .
  • the shared file is a file that can be accessed by both the host and the virtual machine, and can be a txt file, a word file, or the like.
  • the determining unit 310 may query the shared file according to the virtual memory address of the virtual machine to determine whether the virtual memory address of the virtual machine belongs to the virtual memory area with power-down protection.
  • the virtual machine can also determine the information of the virtual memory area in which the virtual memory area address is the power-down protection is stored in the shared file. Access the shared file, and modify the information of the virtual memory area whose virtual memory area address is the power-down protection in the shared file according to the actual situation.
  • the determining unit 310 is configured to determine that the virtual memory address generated by the virtual machine to generate a page fault interrupt belongs to a virtual memory area with power failure protection: the host needs to access the process in the virtual machine.
  • the information of the virtual memory address with the power-down protection when the virtual machine generates a page fault interrupt, the determining unit 310 queries the information according to the virtual memory address requested by the virtual machine, and determines that the virtual memory address requested by the virtual machine is virtual for the process access. Memory address.
  • the allocating unit 320 is configured to allocate the physical memory address of the host to the virtual memory address from the physical memory area with power-down protection, and specifically includes: the allocation unit 320 passes the shadow The manner of the page table establishes a mapping relationship between the virtual memory address and the physical memory address of the host, or the allocation unit 320 establishes the physical memory address of the virtual machine and the host by means of an (English: Extended Page Table, EPT) page table.
  • EPT Extended Page Table
  • FIG. 4 is a schematic structural diagram of another host machine according to an embodiment of the present invention.
  • the host includes a processor 410 and a memory 420.
  • the virtual machine runs on the host, and the memory 420 of the host includes A virtual memory area 421 having a power-down protection, the virtual machine includes a virtual memory area with power-down protection, the processor 410 is in communication with the memory 420, and the processor 410 is configured to perform the steps in the foregoing embodiments of the present invention.
  • the structure of the host shown in FIG. 4 does not constitute a limitation to the host machine, and may include more or less components than those illustrated, or combine some components, or different component arrangements. .
  • FIG. 5 is a schematic structural diagram of another host machine according to an embodiment of the present invention.
  • the host includes an MMU 510 and a memory 520.
  • the virtual machine runs on the host, and the memory 520 of the host includes The physical memory area of the electrical protection, the virtual machine includes a virtual memory area 521 with power-down protection, the MMU 510 is in communication with the memory 520, and the MMU 510 is configured to perform the steps in the foregoing embodiments of the present invention.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The application discloses a virtual machine memory address assigning method and device. A virtual machine operates on a host; the host comprises a physical memory area having power-down protection, and the virtual machine comprises a virtual memory area having power-down protection. The method comprises: the host determining whether a virtual memory address generated by the virtual machine and having a missing page interrupt belongs to the virtual memory area having power-down protection; and the host assigning, from the physical memory area having power-down protection, a physical memory address of the host for the virtual memory address. The method can effectively increase assignment efficiency.

Description

虚拟机的内存地址分配方法以及装置Virtual machine memory address allocation method and device 技术领域Technical field
本申请涉及内存领域,特别是涉及一种虚拟机的内存地址分配方法以及装置。The present application relates to the field of memory, and in particular, to a memory address allocation method and apparatus for a virtual machine.
背景技术Background technique
在现有技术中,宿主机要为虚拟机有掉电保护需求的虚拟内存地址从有掉电保护的物理内存区域分配宿主机的物理内存地址,必须经过三次映射。首先,将有掉电保护的物理内存区域的物理内存地址映射为字符设备,然后,将字符设备再映射为外部设备互连总线(英文:Peripheral Component Interconnect,简称:PCI)设备,最后,将PCI设备映射到虚拟机的虚拟内存地址。但是,在这种方式下,必须经过三次映射才能实现为虚拟机有掉电保护需求的虚拟内存地址分配宿主机有掉电保护的物理内存地址,但分配效率低下。In the prior art, the host needs to allocate the physical memory address of the host from the physical memory area with power-down protection for the virtual memory address that the virtual machine has the power-off protection requirement, and must perform three mappings. First, the physical memory address of the physical memory area with power failure protection is mapped to a character device, and then the character device is remapped to an external device interconnection bus (English: Peripheral Component Interconnect, PCI for short), and finally, PCI is The device maps to the virtual machine's virtual memory address. However, in this mode, it is necessary to perform three mappings to realize the physical memory address of the virtual memory address that the virtual machine has the power-down protection requirement, but the allocation efficiency is low.
发明内容Summary of the invention
本发明的目的在于提供了一种虚拟机的内存地址分配方法以及装置,能够提高为虚拟机有掉电保护需求的虚拟内存地址分配宿主机有掉电保护的物理内存地址的效率。It is an object of the present invention to provide a memory address allocation method and apparatus for a virtual machine, which can improve the efficiency of assigning a physical memory address of a host having a power failure protection to a virtual memory address required for a power failure protection of a virtual machine.
第一方面,当虚拟机产生缺页中断时,宿主机确定虚拟机产生缺页中断的虚拟内存地址属于有掉电保护的虚拟内存区域,并从有掉电保护的物理内存区域为虚拟机的虚拟内存地址分配宿主机的物理内存地址。In the first aspect, when the virtual machine generates a page fault interrupt, the host determines that the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power failure protection, and the virtual memory area with the power failure protection is the virtual machine. The virtual memory address allocates the physical memory address of the host.
宿主机在确定虚拟机产生缺页中断的虚拟内存地址属于有掉电保护的虚拟内存区域后,直接为虚拟机的虚拟内存地址从有掉电保护的物理内存区域分配宿主机的物理内存地址,提高了为虚拟机有掉电保护需求的虚拟内存地址分配宿主机有掉电保护的物理内存地址的效率。After determining that the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power failure protection, the virtual memory address of the virtual machine is directly allocated the physical memory address of the host from the physical memory area with power failure protection. The efficiency of the physical memory address that the host has a power-down protection is increased by the virtual memory address that is required for the power-off protection of the virtual machine.
结合第一方面,在第一方面的第一种可能的实施方式中,所述宿主机存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息,在虚拟机产生缺页中断时,宿主机根据产生缺页中断的虚拟内存地址查询所述信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。With reference to the first aspect, in a first possible implementation manner of the first aspect, the host device stores information that the virtual memory area address is a virtual memory area with power-down protection, and generates a page fault interrupt in the virtual machine. The host queries the information according to the virtual memory address that generates the page fault interrupt, and determines that the virtual memory address belongs to the virtual memory area that has the power-down protection.
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,虚拟机的配置文件中存储有虚拟内存区域地址为有掉电保护的虚拟内存区域的信息,在虚拟机产生缺页中断时,宿主机根据产生缺页中断的虚拟内存地址查询所述配置文件中的信息,确定所述虚拟内存地址属于所述有掉电保护的虚拟内存区域。With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the virtual machine configuration file stores information that the virtual memory area address is a virtual memory area with power-down protection When the virtual machine generates a page fault interrupt, the host queries the information in the configuration file according to the virtual memory address that generates the page fault interrupt, and determines that the virtual memory address belongs to the virtual memory area with power failure protection.
结合第一方面的第一种可能的实施方式,在第一方面的第三种可能的实施方式中,所述宿主机和虚拟机的共享文件中存储有虚拟内存区域地址为有掉电保护 的虚拟内存区域的信息,在虚拟机产生缺页中断时,宿主机根据产生缺页中断的虚拟内存地址查询所述共享文件中的信息,确定所述虚拟内存地址属于所述有掉电保护的虚拟内存区域。With reference to the first possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, the virtual memory area address is stored in the shared file of the host machine and the virtual machine as a power-down protection Information of the virtual memory area, when the virtual machine generates a page fault interrupt, the host queries the information in the shared file according to the virtual memory address that generates the page fault interrupt, and determines that the virtual memory address belongs to the power-down protection Virtual memory area.
在本实施方式中,共享文件是宿主机和虚拟机均可以访问的,所以,在宿主机确定虚拟内存区域地址为有掉电保护的虚拟内存区域的信息之后,虚拟机还可以根据自己的实际情况对虚拟内存区域地址为有掉电保护的虚拟内存区域的信息进行修改。In this embodiment, the shared file is accessible to both the host and the virtual machine. Therefore, after the host determines that the virtual memory area address is the virtual memory area with power-down protection, the virtual machine can also be based on its actual situation. The situation is modified by the virtual memory area address being the information of the virtual memory area with power-down protection.
结合第一方面,在第一方面的第四种可能的实施方式中,宿主机预先存储所述有虚拟机中的进程需要访问的有掉电保护的虚拟内存地址的信息,在虚拟机产生缺页中断时,宿主机根据产生缺页中断的虚拟内存地址查询所述信息,确定所述虚拟内存地址属于所述有掉电保护的虚拟内存区域。With reference to the first aspect, in a fourth possible implementation manner of the first aspect, the host device pre-stores information about the virtual memory address of the power-down protection that the process in the virtual machine needs to access, and the virtual machine generates a defect. When the page is interrupted, the host queries the information according to the virtual memory address that generates the page fault interrupt, and determines that the virtual memory address belongs to the virtual memory area with power-down protection.
结合第一方面至第四种可能的实施方式中的任意一种,在第一方面的第五种可能的实施方式中,所述宿主机从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址,具体包括:With reference to any one of the first aspect to the fourth possible implementation, in a fifth possible implementation manner of the first aspect, the host The virtual memory address allocates the physical memory address of the host, and specifically includes:
所述宿主机建立所述虚拟内存地址与所述宿主机的物理内存地址的映射关系。The host establishes a mapping relationship between the virtual memory address and a physical memory address of the host.
结合第一方面至第四种可能的实施方式中的任意一种,在第一方面的第六种可能的实施方式中,所述宿主机从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址,具体包括:With reference to any one of the first aspect to the fourth possible implementation, in a sixth possible implementation manner of the first aspect, the host is the physical memory area with the power failure protection The virtual memory address allocates the physical memory address of the host, and specifically includes:
所述宿主机建立所述虚拟机的物理内存地址与所述宿主机的物理内存地址的映射关系;其中,所述虚拟内存地址映射到所述虚拟机的物理内存地址。The host establishes a mapping relationship between a physical memory address of the virtual machine and a physical memory address of the host; wherein the virtual memory address is mapped to a physical memory address of the virtual machine.
第二方面,本发明提供了一种宿主机,所述宿主机用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。其中一种实现方式,具体地,虚拟机运行在宿主机上,所述宿主机包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述宿主机包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。另一种实现方式,宿主机包括处理器和内存,虚拟机运行在所述宿主机上,所述宿主机的内存包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述处理器与所述内存通信,所述处理器用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。另一种实现方式,所述宿主机包括内存管理单元(英文:Memory Management Unit,简称:MMU)和内存,虚拟机运行在所述宿主机上,所述宿主机的内存包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述MMU与所述内存通信,所述MMU用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体的,本发明中的宿主机为服务器。In a second aspect, the present invention provides a host machine for performing the method of any of the above first aspect or any of the possible implementations of the first aspect. In one implementation, specifically, the virtual machine runs on a host, the host includes a physical memory area with power-down protection, and the virtual machine includes a virtual memory area with power-down protection, and the host includes Means for performing the method of any of the above-described first aspect or any of the possible implementations of the first aspect. In another implementation, the host includes a processor and a memory, and the virtual machine runs on the host, and the memory of the host includes a physical memory area with power-down protection, and the virtual machine includes a power-down protection. A virtual memory area, the processor in communication with the memory, the processor being operative to perform the method of any of the first aspect or the first aspect of the first aspect. In another implementation, the host includes a memory management unit (English: Memory Management Unit, MMU for short) and a memory, and the virtual machine runs on the host, and the memory of the host includes power-down protection. a physical memory area, the virtual machine includes a virtual memory area with power-down protection, the MMU is in communication with the memory, and the MMU is configured to perform the method in any of the foregoing first aspect or any possible implementation manner of the first aspect . Specifically, the host in the present invention is a server.
第三方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。In a third aspect, a computer readable medium is provided for storing a computer program comprising instructions for performing the method of the first aspect or any of the possible implementations of the first aspect.
附图说明 DRAWINGS
图1是本发明实施例的一种应用场景;FIG. 1 is an application scenario of an embodiment of the present invention;
图2是本发明实施例提供的一种虚拟机的内存地址分配方法的流程图;2 is a flowchart of a method for allocating a memory address of a virtual machine according to an embodiment of the present invention;
图3是本发明实施例提供的一种宿主机的结构示意图;3 is a schematic structural diagram of a host machine according to an embodiment of the present invention;
图4是本发明实施例提供的另一种宿主机的结构示意图;4 is a schematic structural diagram of another host machine according to an embodiment of the present invention;
图5是本发明实施例提供的又一种宿主机的结构示意图。FIG. 5 is a schematic structural diagram of still another host machine according to an embodiment of the present invention.
具体实施方式detailed description
下面结合附图和实施例对本发明进行详细描述。The invention is described in detail below with reference to the drawings and embodiments.
如图1所示,下面先对虚拟机的内存地址分配方法运行的环境进行描述。其中,虚拟机120运行在宿主机110上,宿主机110包括有掉电保护的物理内存区域111,虚拟机120包括有掉电保护的虚拟内存区域121。宿主机110可以是服务器、工作站、便携式电脑、台式电脑、平板电脑等。有掉电保护的物理内存区域111为宿主机110的物理内存中的部分或者全部,存储到有掉电保护的物理内存区域111的数据能够在在发生掉电时依然不丢失,具体可以通过备电设备将有掉电保护的物理内存区域111中的数据保存到非易失性设备中,或者本发明实施例中,有掉电保护的物理内存区域111是指提供该掉电保护的物理内存区域的内存设备为非易失性内存设备,发生掉电后该内存设备中的数据不丢失。有掉电保护的虚拟内存区域121为虚拟机120的虚拟内存中的部分或者全部,有掉电保护的虚拟内存区域121在分配宿主机110的物理内存地址时,将会分配有掉电保护的物理内存区域111的物理内存地址。As shown in Figure 1, the environment in which the virtual machine's memory address allocation method operates is described below. The virtual machine 120 runs on the host 110, and the host 110 includes a physical memory area 111 with power-down protection. The virtual machine 120 includes a virtual memory area 121 with power-down protection. Host 110 can be a server, workstation, laptop, desktop, tablet, or the like. The physical memory area 111 having the power-down protection is part or all of the physical memory of the host 110, and the data stored in the physical memory area 111 having the power-down protection can still be lost when power failure occurs, and the data can be prepared. The electrical device saves the data in the physical memory area 111 with the power-down protection to the non-volatile device, or in the embodiment of the present invention, the physical memory area 111 with the power-down protection refers to the physical memory that provides the power-down protection. The memory device in the area is a non-volatile memory device. After the power is turned off, the data in the memory device is not lost. The virtual memory area 121 with power-down protection is part or all of the virtual memory of the virtual machine 120, and the virtual memory area 121 with power-down protection is allocated with power-down protection when the physical memory address of the host 110 is allocated. The physical memory address of the physical memory area 111.
如图2所示,在步骤210中:当虚拟机产生缺页中断时,宿主机确定虚拟机产生缺页中断的虚拟内存地址是否属于有掉电保护的虚拟内存区域,如果属于有掉电保护的虚拟内存区域,进入步骤220:宿主机从有掉电保护的物理内存区域为虚拟机的虚拟内存地址分配宿主机的物理内存地址;如果不属于有掉电保护的虚拟内存区域,进入步骤230:宿主机为虚拟机的虚拟内存地址从没有掉电保护的物理内存区域分配宿主机的物理内存地址。As shown in FIG. 2, in step 210, when the virtual machine generates a page fault interrupt, the host determines whether the virtual memory address generated by the virtual machine to generate a page fault interrupt belongs to a virtual memory area with power failure protection, and if it belongs to power failure protection. The virtual memory area proceeds to step 220: the host allocates the physical memory address of the host to the virtual memory address of the virtual machine from the physical memory area with power failure protection; if it does not belong to the virtual memory area with power failure protection, proceed to step 230. The host allocates the physical memory address of the host to the virtual memory address of the virtual machine from the physical memory area without power-down protection.
本发明实施例中,宿主机在确定虚拟机产生缺页中断的虚拟内存地址属于有掉电保护的虚拟内存区域后,直接为虚拟机的虚拟内存地址从有掉电保护的物理内存区域分配宿主机的物理内存地址,提高了为虚拟机有掉电保护需求的虚拟内存地址分配宿主机有掉电保护的物理内存地址的效率。In the embodiment of the present invention, after determining that the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power failure protection, the host directly allocates the virtual memory address of the virtual machine from the physical memory area with power failure protection. The physical memory address of the host improves the efficiency of the physical memory address that the host has a power-down protection for the virtual memory address that the virtual machine has the power-down protection requirement.
在本发明的一具体实施例中,虚拟内存区域地址为有掉电保护的虚拟内存区域的信息可以是:有掉电保护的虚拟内存区域的起始地址和长度。所以,宿主机可以根据有掉电保护的虚拟内存区域的起始地址和长度确定有掉电保护的虚拟内存区域的位置,并在虚拟机产生缺页中断时,宿主机将产生缺页中断的虚拟内存地址和有掉电保护的虚拟内存区域的位置进行比较,从而确定虚拟机产生缺页中断的虚拟内存地址是否属于有掉电保护的虚拟内存区域。可以理解的是,虚拟内存区域地址为有掉电保护的虚拟内存区域的信息还可以是有掉电保护的虚拟内存区域的起始地址和结束地址,或者,有掉电保护的虚拟内存区域的结束地址 和长度等等。In an embodiment of the present invention, the information of the virtual memory area address being the virtual memory area with power-down protection may be: the start address and length of the virtual memory area with power-down protection. Therefore, the host can determine the location of the virtual memory area with power-down protection according to the starting address and length of the virtual memory area with power-down protection, and the host machine will generate a page fault interrupt when the virtual machine generates a page fault interrupt. The virtual memory address is compared with the location of the virtual memory area with power-down protection to determine whether the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power-down protection. It can be understood that the information of the virtual memory area address being the virtual memory area with power-down protection may also be the start address and the end address of the virtual memory area with power-down protection, or the virtual memory area with power-down protection. End address And length and so on.
在本发明的一具体实施例中,宿主机确定虚拟机产生缺页中断的虚拟内存地址是否属于有掉电保护的虚拟内存区域的方法为:宿主机存储内存储虚拟内存区域地址为有掉电保护的虚拟内存区域的信息,当虚拟机产生缺页中断时,宿主机根据虚拟机申请的虚拟内存地址查询该信息,并根据该信息确定虚拟机的虚拟内存地址是否属于有掉电保护的虚拟内存区域。In a specific embodiment of the present invention, the method for determining whether the virtual memory address generated by the virtual machine to generate a page fault interrupt belongs to the virtual memory area with power failure protection is: the memory of the virtual memory area in the host storage is powered off. The information of the protected virtual memory area, when the virtual machine generates a page fault interrupt, the host queries the information according to the virtual memory address requested by the virtual machine, and determines whether the virtual memory address of the virtual machine belongs to the virtual protection with power failure protection according to the information. Memory area.
在具体实现中,宿主机内存储虚拟内存区域地址为有掉电保护的虚拟内存区域的信息可以是:在宿主机创建虚拟机时,宿主机在虚拟机的配置文件中存储有虚拟内存区域地址为掉电保护的虚拟内存区域的信息。其中,虚拟机的配置文件为记录虚拟机的重要参数,如中央处理器(英文:Center Processing Unit,简称:CPU)参数、内存参数、硬盘参数等等的文件。当虚拟机产生缺页中断时,宿主机可以根据虚拟机的虚拟内存地址查询虚拟机的配置文件,确定虚拟机的虚拟内存地址是否属于有掉电保护的虚拟内存区域。In a specific implementation, the information that the virtual memory area address is stored in the virtual memory area with the power-down protection may be: when the host creates the virtual machine, the host stores the virtual memory area address in the virtual machine's configuration file. Information for the virtual memory area protected by power loss. The configuration file of the virtual machine is an important parameter for recording a virtual machine, such as a central processing unit (English: Center Processing Unit, CPU) parameter, a memory parameter, a hard disk parameter, and the like. When the virtual machine generates a page fault interrupt, the host can query the virtual machine's configuration file according to the virtual machine's virtual memory address to determine whether the virtual machine's virtual memory address belongs to the virtual memory area with power-down protection.
在具体实现中,宿主机内存储虚拟内存区域地址为有掉电保护的虚拟内存区域的信息还可以是:宿主机在共享文件中存储有虚拟内存区域地址为掉电保护的虚拟内存区域的信息。其中,共享文件为宿主机和虚拟机均能访问的文件,可以是txt文件、word文件等等。当虚拟机产生缺页中断时,宿主机可以根据虚拟机的虚拟内存地址查询共享文件,确定虚拟机的虚拟内存地址是否属于有掉电保护的虚拟内存区域。In a specific implementation, the information that the virtual memory area address in the host machine is a virtual memory area with power-down protection may be: the host stores information of the virtual memory area whose virtual memory area address is power-down protection in the shared file. . The shared file is a file that can be accessed by both the host and the virtual machine, and can be a txt file, a word file, or the like. When the virtual machine generates a page fault interrupt, the host can query the shared file according to the virtual memory address of the virtual machine to determine whether the virtual memory address of the virtual machine belongs to the virtual memory area with power failure protection.
可以理解的是,由于共享文件是宿主机和虚拟机均可以访问的,所以,宿主机在共享文件中确定存储有虚拟内存区域地址为掉电保护的虚拟内存区域的信息之后,虚拟机还可以访问共享文件,并根据实际情况对共享文件中的虚拟内存区域地址为掉电保护的虚拟内存区域的信息进行修改。It can be understood that, since the shared file is accessible to both the host and the virtual machine, the virtual machine can also determine the information of the virtual memory area in which the virtual memory area address is the power-down protection is stored in the shared file. Access the shared file, and modify the information of the virtual memory area whose virtual memory area address is the power-down protection in the shared file according to the actual situation.
在本发明的一具体实施例中,宿主机确定虚拟机产生缺页中断的虚拟内存地址是否属于有掉电保护的虚拟内存区域的方法为:宿主机存储所述有虚拟机中的进程需要访问的有掉电保护的虚拟内存地址的信息,当虚拟机产生缺页中断时,宿主机根据虚拟机申请的虚拟内存地址查询所述信息,确定虚拟机申请的虚拟内存地址为进程访问的虚拟内存地址。In a specific embodiment of the present invention, the host determines whether the virtual memory address generated by the virtual machine to generate a page fault interrupt belongs to the virtual memory area with power failure protection: the host needs to access the process in the virtual machine. The information of the virtual memory address with power failure protection, when the virtual machine generates a page fault interrupt, the host queries the information according to the virtual memory address requested by the virtual machine, and determines that the virtual memory address requested by the virtual machine is the virtual memory accessed by the process. address.
在本发明的一具体实施例中,宿主机从有掉电保护的物理内存区域为虚拟机的虚拟内存地址分配宿主机的物理内存地址,具体包括:宿主机通过影子页表的方式建立虚拟内存地址与宿主机的物理内存地址的映射关系,或者,宿主机通过有扩展页表(英文:Extended Page Table,简称:EPT)的方式建立虚拟机的物理内存地址与宿主机的物理内存地址的映射关系,其中,虚拟内存地址映射到虚拟机的物理内存地址。In a specific embodiment of the present invention, the host allocates the physical memory address of the host to the virtual memory address of the virtual machine from the physical memory area with the power failure protection, and specifically includes: the host establishes the virtual memory by using a shadow page table. The mapping between the address and the physical memory address of the host, or the host establishes a mapping between the physical memory address of the virtual machine and the physical memory address of the host by means of an extended page table (English: Extended Page Table, EPT). Relationship, where the virtual memory address is mapped to the virtual machine's physical memory address.
参阅图3,图3是本发明实施例提供的一种宿主机的结构示意图,虚拟机运行在宿主机上,所述宿主机包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述宿主机包括确定单元310和分配单元320。其中,Referring to FIG. 3, FIG. 3 is a schematic structural diagram of a host machine according to an embodiment of the present invention. The virtual machine runs on a host, and the host includes a physical memory area with power-down protection, and the virtual machine includes An electrically protected virtual memory area, the host including a determining unit 310 and an allocating unit 320. among them,
确定单元310,用于确定所述虚拟机产生缺页中断的虚拟内存地址属于所述 有掉电保护的虚拟内存区域;a determining unit 310, configured to determine that the virtual machine generates a page fault interrupt virtual memory address belongs to the a virtual memory area with power-down protection;
分配单元320,用于从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址。The allocating unit 320 is configured to allocate a physical memory address of the host to the virtual memory address from the physical memory area with power failure protection.
本发明实施例中,确定单元310在确定虚拟机产生缺页中断的虚拟内存地址属于有掉电保护的虚拟内存区域后,分配单元320直接为虚拟机的虚拟内存地址从有掉电保护的物理内存区域分配宿主机的物理内存地址,提高了为虚拟机有掉电保护需求的虚拟内存地址分配宿主机有掉电保护的物理内存地址的效率。In the embodiment of the present invention, after determining that the virtual memory address of the virtual machine generating the page fault interrupt belongs to the virtual memory area with power failure protection, the allocating unit 320 directly uses the virtual memory address of the virtual machine from the physical protection with power failure protection. The memory area allocates the physical memory address of the host, which improves the efficiency of assigning the physical memory address of the host to the power-down protection for the virtual memory address that the virtual machine has the power-down protection requirement.
在本发明的一具体实施例中,虚拟内存区域地址为有掉电保护的虚拟内存区域的信息可以是:有掉电保护的虚拟内存区域的起始地址和长度。所以,确定单元310可以根据有掉电保护的虚拟内存区域的起始地址和长度确定有掉电保护的虚拟内存区域的位置,并在虚拟机产生缺页中断时,确定单元310将产生缺页中断的虚拟内存地址和有掉电保护的虚拟内存区域的位置进行比较,从而确定虚拟机产生缺页中断的虚拟内存地址是否属于有掉电保护的虚拟内存区域。可以理解的是,虚拟内存区域地址为有掉电保护的虚拟内存区域的信息还可以是有掉电保护的虚拟内存区域的起始地址和结束地址,或者,有掉电保护的虚拟内存区域的结束地址和长度等等。In an embodiment of the present invention, the information of the virtual memory area address being the virtual memory area with power-down protection may be: the start address and length of the virtual memory area with power-down protection. Therefore, the determining unit 310 can determine the location of the virtual memory area with the power-down protection according to the start address and the length of the virtual memory area with the power-down protection, and the determining unit 310 will generate the page fault when the virtual machine generates the page fault interrupt. The interrupted virtual memory address is compared with the location of the virtual memory area with power-down protection to determine whether the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power-down protection. It can be understood that the information of the virtual memory area address being the virtual memory area with power-down protection may also be the start address and the end address of the virtual memory area with power-down protection, or the virtual memory area with power-down protection. End address and length, etc.
在本发明的一具体实施例中,确定单元310用于确定虚拟机产生缺页中断的虚拟内存地址属于有掉电保护的虚拟内存区域为:宿主机存储内存储虚拟内存区域地址为有掉电保护的虚拟内存区域的信息,当虚拟机产生缺页中断时,确定单元310根据虚拟机申请的虚拟内存地址查询该信息,并根据该信息确定虚拟机的虚拟内存地址是否属于有掉电保护的虚拟内存区域。In a specific embodiment of the present invention, the determining unit 310 is configured to determine that the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power-down protection: the virtual machine memory address in the host storage is inactive. The information of the protected virtual memory area, when the virtual machine generates a page fault interrupt, the determining unit 310 queries the information according to the virtual memory address requested by the virtual machine, and determines, according to the information, whether the virtual memory address of the virtual machine belongs to the power-down protection. Virtual memory area.
在具体实现中,宿主机内存储虚拟内存区域地址为有掉电保护的虚拟内存区域的信息可以是:在宿主机创建虚拟机时,宿主机在虚拟机的配置文件中存储有虚拟内存区域地址为掉电保护的虚拟内存区域的信息。其中,虚拟机的配置文件为记录虚拟机的重要参数,如中央处理器(英文:Center Processing Unit,简称:CPU)参数、内存参数、硬盘参数等等的文件。当虚拟机产生缺页中断时,确定单元310可以根据虚拟机的虚拟内存地址查询虚拟机的配置文件,确定虚拟机的虚拟内存地址是否属于有掉电保护的虚拟内存区域。In a specific implementation, the information that the virtual memory area address is stored in the virtual memory area with the power-down protection may be: when the host creates the virtual machine, the host stores the virtual memory area address in the virtual machine's configuration file. Information for the virtual memory area protected by power loss. The configuration file of the virtual machine is an important parameter for recording a virtual machine, such as a central processing unit (English: Center Processing Unit, CPU) parameter, a memory parameter, a hard disk parameter, and the like. When the virtual machine generates a page fault interrupt, the determining unit 310 may query the configuration file of the virtual machine according to the virtual memory address of the virtual machine to determine whether the virtual memory address of the virtual machine belongs to the virtual memory area with power failure protection.
在具体实现中,宿主机内存储虚拟内存区域地址为有掉电保护的虚拟内存区域的信息还可以是:宿主机在共享文件中存储有虚拟内存区域地址为掉电保护的虚拟内存区域的信息。其中,共享文件为宿主机和虚拟机均能访问的文件,可以是txt文件、word文件等等。当虚拟机产生缺页中断时,确定单元310可以根据虚拟机的虚拟内存地址查询共享文件,确定虚拟机的虚拟内存地址是否属于有掉电保护的虚拟内存区域。In a specific implementation, the information that the virtual memory area address in the host machine is a virtual memory area with power-down protection may be: the host stores information of the virtual memory area whose virtual memory area address is power-down protection in the shared file. . The shared file is a file that can be accessed by both the host and the virtual machine, and can be a txt file, a word file, or the like. When the virtual machine generates a page fault interrupt, the determining unit 310 may query the shared file according to the virtual memory address of the virtual machine to determine whether the virtual memory address of the virtual machine belongs to the virtual memory area with power-down protection.
可以理解的是,由于共享文件是宿主机和虚拟机均可以访问的,所以,宿主机在共享文件中确定存储有虚拟内存区域地址为掉电保护的虚拟内存区域的信息之后,虚拟机还可以访问共享文件,并根据实际情况对共享文件中的虚拟内存区域地址为掉电保护的虚拟内存区域的信息进行修改。 It can be understood that, since the shared file is accessible to both the host and the virtual machine, the virtual machine can also determine the information of the virtual memory area in which the virtual memory area address is the power-down protection is stored in the shared file. Access the shared file, and modify the information of the virtual memory area whose virtual memory area address is the power-down protection in the shared file according to the actual situation.
在本发明的一具体实施例中,确定单元310用于确定虚拟机产生缺页中断的虚拟内存地址属于有掉电保护的虚拟内存区域为:宿主机存储所述有虚拟机中的进程需要访问的有掉电保护的虚拟内存地址的信息,当虚拟机产生缺页中断时,确定单元310根据虚拟机申请的虚拟内存地址查询所述信息,确定虚拟机申请的虚拟内存地址为进程访问的虚拟内存地址。In a specific embodiment of the present invention, the determining unit 310 is configured to determine that the virtual memory address generated by the virtual machine to generate a page fault interrupt belongs to a virtual memory area with power failure protection: the host needs to access the process in the virtual machine. The information of the virtual memory address with the power-down protection, when the virtual machine generates a page fault interrupt, the determining unit 310 queries the information according to the virtual memory address requested by the virtual machine, and determines that the virtual memory address requested by the virtual machine is virtual for the process access. Memory address.
在本发明的一具体实施例中,分配单元320用于从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址,具体包括:分配单元320通过影子页表的方式建立虚拟内存地址与宿主机的物理内存地址的映射关系,或者,分配单元320通过(英文:Extended Page Table,简称:EPT)页表的方式建立虚拟机的物理内存地址与宿主机的物理内存地址的映射关系;其中,虚拟内存地址映射到虚拟机的物理内存地址。In an embodiment of the present invention, the allocating unit 320 is configured to allocate the physical memory address of the host to the virtual memory address from the physical memory area with power-down protection, and specifically includes: the allocation unit 320 passes the shadow The manner of the page table establishes a mapping relationship between the virtual memory address and the physical memory address of the host, or the allocation unit 320 establishes the physical memory address of the virtual machine and the host by means of an (English: Extended Page Table, EPT) page table. A mapping of physical memory addresses; where virtual memory addresses are mapped to virtual machine physical memory addresses.
参阅图4,图4是本发明实施例提供的另一种宿主机的结构示意图,宿主机包括处理器410和内存420,虚拟机运行在所述宿主机上,所述宿主机的内存420包括有掉电保护的物理内存区域421,所述虚拟机包括有掉电保护的虚拟内存区域,所述处理器410与所述内存420通信,处理器410用于执行上述本发明实施例中的步骤。本领域技术人员可以理解,图4中示出的宿主机的结构并不构成对宿主机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。Referring to FIG. 4, FIG. 4 is a schematic structural diagram of another host machine according to an embodiment of the present invention. The host includes a processor 410 and a memory 420. The virtual machine runs on the host, and the memory 420 of the host includes A virtual memory area 421 having a power-down protection, the virtual machine includes a virtual memory area with power-down protection, the processor 410 is in communication with the memory 420, and the processor 410 is configured to perform the steps in the foregoing embodiments of the present invention. . It will be understood by those skilled in the art that the structure of the host shown in FIG. 4 does not constitute a limitation to the host machine, and may include more or less components than those illustrated, or combine some components, or different component arrangements. .
参阅图5,图5是本发明实施例提供的又一种宿主机的结构示意图,宿主机包括MMU510和内存520,虚拟机运行在所述宿主机上,所述宿主机的内存520包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域521,所述MMU510与所述内存520通信,MMU510用于执行上述本发明实施例中的步骤。Referring to FIG. 5, FIG. 5 is a schematic structural diagram of another host machine according to an embodiment of the present invention. The host includes an MMU 510 and a memory 520. The virtual machine runs on the host, and the memory 520 of the host includes The physical memory area of the electrical protection, the virtual machine includes a virtual memory area 521 with power-down protection, the MMU 510 is in communication with the memory 520, and the MMU 510 is configured to perform the steps in the foregoing embodiments of the present invention.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。 A person skilled in the art can understand that all or part of the process of implementing the above embodiment method can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. When executed, the flow of an embodiment of the methods as described above may be included. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Claims (18)

  1. 一种虚拟机的内存地址分配方法,其特征在于,虚拟机运行在宿主机上,所述宿主机包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述方法包括:A method for allocating a memory address of a virtual machine, wherein the virtual machine runs on a host, the host includes a physical memory area with power-down protection, and the virtual machine includes a virtual memory area with power-down protection. The method includes:
    所述宿主机确定所述虚拟机产生缺页中断的虚拟内存地址属于所述有掉电保护的虚拟内存区域;Determining, by the host machine, that the virtual memory address generated by the virtual machine to generate a page fault interrupt belongs to the virtual memory area with power failure protection;
    所述宿主机从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址。The host allocates a physical memory address of the host to the virtual memory address from the physical memory area with power down protection.
  2. 根据权利要求1所述的方法,其特征在于,所述宿主机存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息;The method according to claim 1, wherein the host machine stores information that the virtual memory area address is a virtual memory area with power-down protection;
    所述宿主机确定所述虚拟机产生缺页中断的虚拟内存地址为属于所述有掉电保护的虚拟内存区域,具体包括:The virtual machine determines that the virtual memory address of the virtual machine generates a page fault interrupt is a virtual memory area that belongs to the power-down protection, and specifically includes:
    所述宿主机根据所述虚拟内存地址查询所述信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。The host queries the information according to the virtual memory address, and determines that the virtual memory address belongs to the virtual memory area that has the power-down protection.
  3. 根据权利要求2所述的方法,其特征在于,所述虚拟机的配置文件中存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息;The method according to claim 2, wherein the configuration file of the virtual machine stores information that the virtual memory area address is a virtual memory area with power-down protection;
    所述宿主机根据所述虚拟内存地址查询所述信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域,具体包括:The host machine queries the information according to the virtual memory address, and determines that the virtual memory address belongs to the virtual memory area that belongs to the power-down protection, and specifically includes:
    所述宿主机根据所述虚拟内存地址查询所述虚拟机的配置文件,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。The host machine queries the configuration file of the virtual machine according to the virtual memory address, and determines that the virtual memory address belongs to the virtual memory area that has the power-down protection.
  4. 根据权利要求2所述的方法,其特征在于,所述宿主机和虚拟机的共享文件中存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息;The method according to claim 2, wherein the shared file of the host machine and the virtual machine stores information that the virtual memory area address is a virtual memory area with power-down protection;
    所述宿主机根据所述虚拟内存地址查询所述信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域,具体包括:The host machine queries the information according to the virtual memory address, and determines that the virtual memory address belongs to the virtual memory area that belongs to the power-down protection, and specifically includes:
    所述宿主机根据所述虚拟内存地址查询所述共享文件,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。The host machine queries the shared file according to the virtual memory address, and determines that the virtual memory address belongs to the virtual memory area that has the power-down protection.
  5. 根据权利要求2-4任一权利要求所述的方法,其特征在于,所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息具体为:所述有掉电保护的虚拟内存区域的起始地址以及长度,或者,所述有掉电保护的虚拟内存区域的起始地址和结束地址,或者,有掉电保护的虚拟内存区域的结束地址和长度。The method according to any one of claims 2-4, wherein the information of the virtual memory area address being a virtual memory area with power-down protection is specifically: the virtual memory area with power-down protection The start address and the length, or the start address and the end address of the virtual memory area with power-down protection, or the end address and length of the virtual memory area with power-down protection.
  6. 根据权利要求1所述的方法,其特征在于,所述宿主机存储所述有虚拟机中的进程需要访问的有掉电保护的虚拟内存地址的信息;The method according to claim 1, wherein the host machine stores information of a virtual memory address with power-down protection that the process in the virtual machine needs to access;
    所述宿主机确定所述虚拟机产生缺页中断的虚拟内存地址属于所述有掉电保护的虚拟内存区域,具体包括:The virtual machine determines that the virtual memory address of the virtual machine that generates the page fault interrupt belongs to the virtual memory area with power-down protection, and specifically includes:
    所述宿主机根据所述虚拟内存地址查询所述信息,确定所述虚拟内存地址为所述进程访问的虚拟内存地址。The host queries the information according to the virtual memory address, and determines that the virtual memory address is a virtual memory address accessed by the process.
  7. 根据权利要求1至6任一所述的方法,其特征在于,所述宿主机从所述 有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址,具体包括:The method according to any one of claims 1 to 6, wherein said host machine is from said The physical memory area with the power-down protection is configured to allocate the physical memory address of the host to the virtual memory address, including:
    所述宿主机建立所述虚拟内存地址与所述宿主机的物理内存地址的映射关系。The host establishes a mapping relationship between the virtual memory address and a physical memory address of the host.
  8. 根据权利要求1至6任一所述的方法,其特征在于,所述宿主机从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址,具体包括:The method according to any one of claims 1 to 6, wherein the host allocates a physical memory address of the host to the virtual memory address from the physical memory area with power-down protection, specifically including :
    所述宿主机建立所述虚拟机的物理内存地址与所述宿主机的物理内存地址的映射关系;其中,所述虚拟内存地址映射到所述虚拟机的物理内存地址。The host establishes a mapping relationship between a physical memory address of the virtual machine and a physical memory address of the host; wherein the virtual memory address is mapped to a physical memory address of the virtual machine.
  9. 一种宿主机,其特征在于,虚拟机运行在宿主机上,所述宿主机包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述宿主机包括:A host machine, characterized in that a virtual machine runs on a host machine, the host machine includes a physical memory area with power-down protection, the virtual machine includes a virtual memory area with power-down protection, and the host machine includes :
    确定单元,用于确定所述虚拟机产生缺页中断的虚拟内存地址属于所述有掉电保护的虚拟内存区域;a determining unit, configured to determine that the virtual memory address generated by the virtual machine to generate a page fault interrupt belongs to the virtual memory area with power failure protection;
    分配单元,用于从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址。And an allocating unit, configured to allocate a physical memory address of the host to the virtual memory address from the physical memory area with power failure protection.
  10. 根据权利要求9所述的宿主机,其特征在于,所述宿主机存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息;The host according to claim 9, wherein the host machine stores information that the virtual memory area address is a virtual memory area with power-down protection;
    所述确定单元,具体用于根据所述虚拟内存地址查询所述信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。The determining unit is specifically configured to query the information according to the virtual memory address, and determine that the virtual memory address belongs to the virtual memory area that has the power-down protection.
  11. 根据权利要求10所述的宿主机,其特征在于,所述虚拟机的配置文件中存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息;The host device according to claim 10, wherein the configuration file of the virtual machine stores information that the virtual memory area address is a virtual memory area with power-down protection;
    所述确定单元,具体用于根据所述虚拟内存地址查询所述虚拟机的配置文件中的信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。The determining unit is configured to query the information in the configuration file of the virtual machine according to the virtual memory address, and determine that the virtual memory address belongs to the virtual memory area that has the power-down protection.
  12. 根据权利要求10所述的宿主机,其特征在于,所述宿主机和虚拟机的共享文件中存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息;The host according to claim 10, wherein the shared file of the host machine and the virtual machine stores information that the virtual memory area address is a virtual memory area with power-down protection;
    所述确定单元,具体用于根据所述虚拟内存地址查询所述共享文件中的信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。The determining unit is configured to query the information in the shared file according to the virtual memory address, and determine that the virtual memory address belongs to the virtual memory area that has the power-down protection.
  13. 根据权利要求10-12任一权利要求所述的宿主机,其特征在于,所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息具体为:所述有掉电保护的虚拟内存区域的起始地址以及长度,或者,所述有掉电保护的虚拟内存区域的起始地址和结束地址,或者,有掉电保护的虚拟内存区域的结束地址和长度。The host device according to any one of claims 10 to 12, wherein the information of the virtual memory area address being a virtual memory area with power-down protection is specifically: the virtual memory area with power-down protection The start address and length, or the start address and end address of the virtual memory area with power-down protection, or the end address and length of the virtual memory area with power-down protection.
  14. 根据权利要求9所述的宿主机,其特征在于,所述宿主机存储所述有虚拟机中的进程需要访问的有掉电保护的虚拟内存地址的信息;The host according to claim 9, wherein the host machine stores information of a virtual memory address with power-down protection that the process in the virtual machine needs to access;
    所述确定单元,具体用于根据所述虚拟内存地址查询所述信息,确定所述虚拟内存地址为所述进程访问的虚拟内存地址。The determining unit is specifically configured to query the information according to the virtual memory address, and determine that the virtual memory address is a virtual memory address accessed by the process.
  15. 根据权利要求9至14任一所述的宿主机,其特征在于,所述分配单元具体用于建立所述虚拟内存地址与所述宿主机的物理内存地址的映射关系。 The host according to any one of claims 9 to 14, wherein the allocating unit is specifically configured to establish a mapping relationship between the virtual memory address and a physical memory address of the host.
  16. 根据权利要求9至14任一所述的宿主机,其特征在于,所述分配单元具体用于建立所述虚拟机的物理内存地址与所述宿主机的物理内存地址的映射关系;其中,所述虚拟内存地址映射到所述虚拟机的物理内存地址。The host device according to any one of claims 9 to 14, wherein the allocating unit is specifically configured to establish a mapping relationship between a physical memory address of the virtual machine and a physical memory address of the host; The virtual memory address is mapped to the physical memory address of the virtual machine.
  17. 一种宿主机,其特征在于,宿主机包括处理器和内存,虚拟机运行在所述宿主机上,所述宿主机的内存包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述处理器与所述内存通信,所述处理器用于执行如权利要求1-8中任一权利要求的方法。A host machine, characterized in that the host machine comprises a processor and a memory, the virtual machine runs on the host machine, the memory of the host machine comprises a physical memory area with power-down protection, and the virtual machine includes An electrically protected virtual memory area, the processor in communication with the memory, the processor for performing the method of any of claims 1-8.
  18. 一种宿主机,其特征在于,所述宿主机包括内存管理单元MMU和内存,虚拟机运行在所述宿主机上,所述宿主机的内存包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述MMU与所述内存通信,所述MMU用于执行如权利要求1-8中任一权利要求的方法。 A host machine, comprising: a memory management unit MMU and a memory, the virtual machine running on the host machine, the memory of the host machine comprises a physical memory area with power failure protection, the virtual machine The machine includes a virtual memory area with power down protection, the MMU is in communication with the memory, and the MMU is configured to perform the method of any of claims 1-8.
PCT/CN2017/071928 2016-02-03 2017-01-20 Virtual machine memory address assigning method and device WO2017133493A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17746813.9A EP3401792A4 (en) 2016-02-03 2017-01-20 Virtual machine memory address assigning method and device
US16/054,636 US10817432B2 (en) 2016-02-03 2018-08-03 Memory address assignment method for virtual machine and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610077690.X 2016-02-03
CN201610077690.XA CN107038121B (en) 2016-02-03 2016-02-03 Memory address allocation method and device for virtual machine

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/054,636 Continuation US10817432B2 (en) 2016-02-03 2018-08-03 Memory address assignment method for virtual machine and apparatus

Publications (1)

Publication Number Publication Date
WO2017133493A1 true WO2017133493A1 (en) 2017-08-10

Family

ID=59500948

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/071928 WO2017133493A1 (en) 2016-02-03 2017-01-20 Virtual machine memory address assigning method and device

Country Status (4)

Country Link
US (1) US10817432B2 (en)
EP (1) EP3401792A4 (en)
CN (1) CN107038121B (en)
WO (1) WO2017133493A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038121B (en) * 2016-02-03 2020-11-17 华为技术有限公司 Memory address allocation method and device for virtual machine
CN111158863B (en) * 2019-12-31 2024-03-08 龙芯中科技术股份有限公司 Interrupt controller processing method and device and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158924A (en) * 2007-11-27 2008-04-09 北京大学 Dynamic EMS memory mappings method of virtual machine manager
US20100241785A1 (en) * 2006-04-27 2010-09-23 Vmware, Inc. Management of host physical memory allocation to virtual machines with a balloon application
CN102662869A (en) * 2012-04-01 2012-09-12 龙芯中科技术有限公司 Method and device for access to memory of virtual machine and finders

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296759B1 (en) * 2006-03-31 2012-10-23 Vmware, Inc. Offloading operations to a replicate virtual machine
US8745311B2 (en) * 2008-03-31 2014-06-03 Spansion Llc Flash memory usability enhancements in main memory application
KR101562973B1 (en) * 2009-05-22 2015-10-26 삼성전자 주식회사 Memory apparatus and method for operating thereof
US20120047313A1 (en) * 2010-08-19 2012-02-23 Microsoft Corporation Hierarchical memory management in virtualized systems for non-volatile memory models
CN101937321B (en) * 2010-09-15 2013-08-21 中兴通讯股份有限公司 Method and device for realizing mixed buffer
KR101713051B1 (en) * 2010-11-29 2017-03-07 삼성전자주식회사 Hybrid Memory System and Management Method there-of
US9684529B2 (en) * 2013-02-21 2017-06-20 Red Hat Israel, Ltd. Firmware and metadata migration across hypervisors based on supported capabilities
CN104750623B (en) * 2013-12-31 2017-11-24 华为技术有限公司 A kind of method and device of internal memory virtualization
CN105159742A (en) * 2015-07-06 2015-12-16 北京星网锐捷网络技术有限公司 Unvarnished transmission method and system for PCI device of virtual machine
CN105117285B (en) * 2015-09-09 2019-03-19 重庆大学 A kind of nonvolatile memory method for optimizing scheduling based on mobile virtual system
CN107038121B (en) * 2016-02-03 2020-11-17 华为技术有限公司 Memory address allocation method and device for virtual machine
US10671542B2 (en) * 2016-07-01 2020-06-02 Intel Corporation Application execution enclave memory method and apparatus
US10761996B2 (en) * 2018-09-28 2020-09-01 Intel Corporation Apparatus and method for secure memory access using trust domains

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100241785A1 (en) * 2006-04-27 2010-09-23 Vmware, Inc. Management of host physical memory allocation to virtual machines with a balloon application
CN101158924A (en) * 2007-11-27 2008-04-09 北京大学 Dynamic EMS memory mappings method of virtual machine manager
CN102662869A (en) * 2012-04-01 2012-09-12 龙芯中科技术有限公司 Method and device for access to memory of virtual machine and finders

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3401792A4 *

Also Published As

Publication number Publication date
US10817432B2 (en) 2020-10-27
CN107038121B (en) 2020-11-17
EP3401792A1 (en) 2018-11-14
EP3401792A4 (en) 2019-01-23
CN107038121A (en) 2017-08-11
US20180341595A1 (en) 2018-11-29

Similar Documents

Publication Publication Date Title
US9785597B2 (en) Mapping device addresses to physical memory addresses
JP6728419B2 (en) Multiple sets of attribute fields in a single page table entry
US9720717B2 (en) Virtualization support for storage devices
US20210216453A1 (en) Systems and methods for input/output computing resource control
US20130013889A1 (en) Memory management unit using stream identifiers
EP3757782A1 (en) Data accessing method and apparatus, device and medium
US8984255B2 (en) Processing device with address translation probing and methods
US8954707B2 (en) Automatic use of large pages
WO2015180598A1 (en) Method, apparatus and system for processing access information of storage device
US9584628B2 (en) Zero-copy data transmission system
US8521919B2 (en) Direct memory access in a computing environment
US10310759B2 (en) Use efficiency of platform memory resources through firmware managed I/O translation table paging
EP3163451B1 (en) Memory management method and device, and memory controller
US8751724B2 (en) Dynamic memory reconfiguration to delay performance overhead
WO2017133493A1 (en) Virtual machine memory address assigning method and device
US9772776B2 (en) Per-memory group swap device
US20230281113A1 (en) Adaptive memory metadata allocation
WO2016119618A1 (en) Remote memory allocation method, device and system
US10891239B2 (en) Method and system for operating NAND flash physical space to extend memory capacity
JP2018502379A5 (en)
US20190102321A1 (en) Techniques to provide access protection to shared virtual memory
CN107329790B (en) Data processing method and electronic equipment
WO2016197947A1 (en) Paging address space management method and controller
US8719466B2 (en) Direct data transfer for device drivers
JP2022541059A (en) Unified Kernel Virtual Address Space for Heterogeneous Computing

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: 17746813

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017746813

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017746813

Country of ref document: EP

Effective date: 20180809