-
公开(公告)号: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.
-
公开(公告)号:US20220334774A1
公开(公告)日:2022-10-20
申请号:US17371704
申请日:2021-07-09
申请人: VMware, Inc.
发明人: Emmanuel Amaro Ramirez , Marcos Kawazoe Aguilera , Pratap Subrahmanyam , Rajesh Venkatasubramanian
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
-
公开(公告)号:US20220012139A1
公开(公告)日:2022-01-13
申请号:US16926520
申请日:2020-07-10
申请人: VMware, Inc.
IPC分类号: G06F11/14 , G06F11/07 , G06F9/30 , G06F9/46 , G06F12/0815
摘要: 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).
-
公开(公告)号:US11099991B2
公开(公告)日:2021-08-24
申请号:US16256562
申请日:2019-01-24
申请人: VMware, Inc.
IPC分类号: G06F12/08 , G06F12/0817 , G06F12/0864
摘要: 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.
-
公开(公告)号:US10929233B2
公开(公告)日:2021-02-23
申请号:US15881379
申请日:2018-01-26
申请人: VMware, Inc.
发明人: Pratap Subrahmanyam , Rajesh Venkatasubramanian , Kiran Tati , Qasim Ali , Marcos Aguilera , Irina Calciu , Venkata Subhash Reddy Peddamallu , Xavier Deguillard , Yi Yao
摘要: Techniques for achieving application high availability via application-transparent battery-backed replication of persistent data are provided. In one set of embodiments, a computer system can detect a failure that causes an application of the computer system to stop running. In response to detecting the failure, the computer system can copy persistent data written by the application and maintained locally at the computer system to one or more remote destinations, where the copying is performed in a manner that is transparent to the application and while the computer system runs on battery power. The application can then be restarted on another computer system using the copied data.
-
公开(公告)号:US20200042413A1
公开(公告)日:2020-02-06
申请号:US16584857
申请日:2019-09-26
申请人: VMware, Inc.
IPC分类号: G06F11/20 , G06F12/0804 , G06F1/30 , G06F11/14
摘要: 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.
-
公开(公告)号:US20190179794A1
公开(公告)日:2019-06-13
申请号:US15836577
申请日:2017-12-08
申请人: VMware, Inc.
发明人: Michael Wei , Marcos Aguilera , Irina Calciu , Stanko Novakovic , Lalith Suresh , Jayneel Gandhi , Nadav Amit , Pratap Subrahmanyam , Xavier Deguillard , Kiran Tati , Rajesh Venkatasubramanian
IPC分类号: G06F15/173 , G06F17/30
CPC分类号: G06F15/17331 , G06F16/183
摘要: Exemplary methods, apparatuses, and systems include a distributed memory agent within a first node intercepting an operating system request to open a file from an application running on the first node. The request includes a file identifier, which the distributed memory agent transmits to a remote memory manager. The distributed memory agent receives, from the remote memory manager, a memory location within a second node for the file identifier and information to establish a remote direct memory access channel between the first node and the second node. In response to the request to open the file, the distributed memory agent establishes the remote direct memory access channel between the first node and the second node. The remote direct memory access channel allows the first node to read directly from or write directly to the memory location within the second node while bypassing an operating system of the second node.
-
公开(公告)号:US10223026B2
公开(公告)日:2019-03-05
申请号:US14042288
申请日:2013-09-30
申请人: VMware, Inc.
摘要: Updates to nonvolatile memory pages are mirrored so that certain features of a computer system, such as live migration of applications, fault tolerance, and high availability, will be available even when nonvolatile memory is local to the computer system. Mirroring may be carried out when a cache flush instruction is executed to flush contents of the cache into nonvolatile memory. In addition, mirroring may be carried out asynchronously with respect to execution of the cache flush instruction by retrieving content that is to be mirrored from the nonvolatile memory using memory addresses of the nonvolatile memory corresponding to target memory addresses of the cache flush instruction.
-
公开(公告)号:US20170344475A1
公开(公告)日:2017-11-30
申请号:US15192946
申请日:2016-06-24
申请人: VMware, Inc.
IPC分类号: G06F12/06
CPC分类号: G06F12/0646 , G06F9/4493 , G06F11/00 , G06F2212/1008
摘要: 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.
-
公开(公告)号:US09740637B2
公开(公告)日:2017-08-22
申请号:US14048515
申请日:2013-10-08
申请人: VMware, Inc.
CPC分类号: G06F12/1408 , G06F12/1491 , G06F21/6218 , G06F2212/151
摘要: A virtual-machine-based system that may protect the privacy and integrity of application data, even in the event of a total operating system compromise. An application is presented with a normal view of its resources, but the operating system is presented with an encrypted view. This allows the operating system to carry out the complex task of managing an application's resources, without allowing it to read or modify them. Different views of “physical” memory are presented, depending on a context performing the access. An additional dimension of protection beyond the hierarchical protection domains implemented by traditional operating systems and processors is provided.
-
-
-
-
-
-
-
-
-