Coherence-based cache-line Copy-on-Write

    公开(公告)号:US11544194B1

    公开(公告)日:2023-01-03

    申请号:US17488028

    申请日:2021-09-28

    申请人: VMware, Inc.

    IPC分类号: G06F12/00 G06F12/084

    摘要: A method of performing a copy-on-write on a shared memory page is carried out by a device communicating with a processor via a coherence interconnect. The method includes: adding a page table entry so that a request to read a first cache line of the shared memory page includes a cache-line address of the shared memory page and a request to write to a second cache line of the shared memory page includes a cache-line address of a new memory page; in response to the request to write to the second cache line, storing new data of the second cache line in a second memory and associating the second cache-line address with the new data stored in the second memory; and in response to a request to read the second cache line, reading the new data of the second cache line from the second memory.

    LOW LATENCY VIRTUAL MEMORY MANAGEMENT

    公开(公告)号:US20220334774A1

    公开(公告)日:2022-10-20

    申请号:US17371704

    申请日:2021-07-09

    申请人: VMware, Inc.

    IPC分类号: G06F3/06

    摘要: Disclosed are various approaches for decreasing the latency involved in reading pages from swap devices. These approaches can include setting a first queue in the plurality of queues as a highest priority queue and a second queue in the plurality of queues as a low priority queue. Then, an input/output (I/O) request for an address in memory can be received. The type of the I/O request can be determined, and then the I/O request can be assigned to the first queue or the second queue of the swap device based at least in part on the type of the I/O request

    Hardware-Assisted Memory Disaggregation with Recovery from Network Failures Using Non-Volatile Memory

    公开(公告)号:US20220012139A1

    公开(公告)日:2022-01-13

    申请号:US16926520

    申请日:2020-07-10

    申请人: VMware, Inc.

    摘要: Techniques for implementing hardware-assisted memory disaggregation with recovery from network failures/problems are provided. In one set of embodiments, a hardware controller of a computer system can maintain a copy of a “remote memory” of the computer system (i.e., a section of the physical memory address space of the computer system that maps to a portion of the physical system memory of a remote computer system) in a local backup memory. The backup memory may be implemented using a non-volatile memory that is slower, but also less expensive, than conventional dynamic random-access memory (DRAM). Then, if the hardware controller is unable to retrieve data in the remote memory from the remote computer system within a specified time window due to, e.g., a network failure or other problem, the hardware controller can retrieve the data from the backup memory, thereby avoiding a hardware error condition (and potential application/system crash).

    Programming interfaces for accurate dirty data tracking

    公开(公告)号:US11099991B2

    公开(公告)日:2021-08-24

    申请号:US16256562

    申请日:2019-01-24

    申请人: VMware, Inc.

    摘要: Described herein is a method for tracking changes to memory locations made by an application. In one embodiment, the application decides to start tracking and sends a list of virtual memory pages to be tracked to an operating system via an interface. The operating system converts the list of virtual memory pages to a list of physical addresses and sends the list of physical addresses to a hardware unit which performs the tracking by detecting write backs on a coherence interconnect coupled to the hardware unit. After the application ends tracking, the application requests a list of dirty cache lines. In response to the request, the operating system obtains the list of dirty cache lines from the hardware unit and adds the list to a buffer that the application can read. In other embodiments, the operating system can perform the tracking without the application making the request.

    High Availability For Persistent Memory
    6.
    发明申请

    公开(公告)号:US20200042413A1

    公开(公告)日:2020-02-06

    申请号:US16584857

    申请日:2019-09-26

    申请人: VMware, Inc.

    摘要: Techniques for implementing high availability for persistent memory are provided. In one embodiment, a first computer system can detect an alternating current (AC) power loss/cycle event and, in response to the event, can save data in a persistent memory of the first computer system to a memory or storage device that is remote from the first computer system and is accessible by a second computer system. The first computer system can then generate a signal for the second computer system subsequently to initiating or completing the save process, thereby allowing the second computer system to restore the saved data from the memory or storage device into its own persistent memory.

    EFFICIENT POINTER SWIZZLING FOR PERSISTENT OBJECTS

    公开(公告)号:US20170344475A1

    公开(公告)日:2017-11-30

    申请号:US15192946

    申请日:2016-06-24

    申请人: VMware, Inc.

    IPC分类号: G06F12/06

    摘要: 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.