VIRTUALIZING NVDIMM WPQ FLUSHING WITH MINIMAL OVERHEAD

    公开(公告)号:US20190340133A1

    公开(公告)日:2019-11-07

    申请号:US15971929

    申请日:2018-05-04

    Applicant: VMware, Inc.

    Abstract: Techniques for virtualizing NVDIMM WPQ flushing with minimal overhead are provided. In one set of embodiments, a hypervisor of a computer system can allocate a virtual flush hint address (FHA) for a virtual machine (VM), where the virtual flush hint address is associated with one or more physical FHAs corresponding to one or more physical memory controllers of the computer system. The hypervisor can further determine whether one or more physical NVDIMMs of the computer system support WPQ flushing. If so, the hypervisor can write protect a guest physical address (GPA) to host physical address (HPA) mapping for the virtual FHA in the page tables of the computer system, thereby enabling the hypervisor to trap VM writes to the virtual FHA and propagate those write to the physical FHAs of the system.

    Application High Availability via Crash-Consistent Asynchronous Replication of Persistent Data

    公开(公告)号:US20190129800A1

    公开(公告)日:2019-05-02

    申请号:US15881514

    申请日:2018-01-26

    Applicant: VMware, Inc.

    Abstract: Techniques for achieving application high availability via crash-consistent asynchronous replication of persistent data are provided. In one set of embodiments, an application running on a computer system can, during runtime of the application: write persistent data to a local nonvolatile data store of the computer system, write one or more log entries comprising the persistent data to a local log region of the computer system, and asynchronously copy the one or more log entries to one or more remote destinations. Then, upon detecting a failure that prevents the application from continuing execution, the computer system can copy the local log region or a remaining portion thereof to the one or more remote destinations, where the copying is performed while the computer system runs on battery power and where the application is restarted on another computer system using a persistent state derived from the copied log entries.

    Efficient pointer swizzling for persistent objects

    公开(公告)号:US10198352B2

    公开(公告)日:2019-02-05

    申请号:US15192946

    申请日:2016-06-24

    Applicant: VMware, Inc.

    Abstract: Techniques for efficiently swizzling pointers in persistent objects are provided. In one embodiment, a computer system can allocate slabs in a persistent heap, where the persistent heap resides on a byte-addressable persistent memory of the system, and where each slab is a continuous memory segment of the persistent heap that is configured to store instances of an object type used by an application. The system can further store associations between the slabs and their respective object types, and information indicating the locations of pointers in each object type. At the time of a system restart or crash recovery, the system can iterate through each slab and determine, based on the stored associations, the slab's object type. The system can then scan though the allocated objects in the slab and, if the system determines that the object includes any pointers based on the stored pointer location information, can swizzle each pointer.

    System and method to enhance memory protection for programs in a virtual machine environment
    85.
    发明授权
    System and method to enhance memory protection for programs in a virtual machine environment 有权
    用于增强虚拟机环境中程序的内存保护的系统和方法

    公开(公告)号:US08745308B2

    公开(公告)日:2014-06-03

    申请号:US13693552

    申请日:2012-12-04

    Applicant: VMware, Inc.

    Abstract: In a computer system supporting execution of virtualization software and at least one instance of virtual system hardware, an interface is provided into the virtualization software to allow a program to directly define the access characteristics of its program data stored in physical memory. The technique includes providing data identifying memory pages and their access characteristics to the virtualization software which then derives the memory access characteristics from the specified data. Optionally, the program may also specify a pre-defined function to be performed upon the occurrence of a fault associated with access to an identified memory page. In this manner, programs operating both internal and external to the virtualization software can protect his memory pages, without intermediation by the operating system software.

    Abstract translation: 在支持虚拟化软件的执行和虚拟系统硬件的至少一个实例的计算机系统中,向虚拟化软件提供接口以允许程序直接定义其存储在物理存储器中的程序数据的访问特性。 该技术包括向虚拟化软件提供识别存储器页面及其访问特性的数据,然后从指定的数据导出存储器访问特性。 可选地,程序还可以指定在发生与所识别的存储器页面的访问相关联的故障时执行的预定义功能。 以这种方式,在虚拟化软件内部和外部运行的程序可以保护他的存储器页面,而不受操作系统软件的中介。

Patent Agency Ranking