Patents Assigned to MEMVERGE, INC.
  • Patent number: 11907081
    Abstract: A memory image can be captured by generating metadata indicative of a state of volatile memory and/or byte-addressable PMEM at a particular time during execution of a process by an application. This memory image can be persisted without copying the in-memory data into a separate persistent storage by storing the metadata and safekeeping the in-memory data in the volatile memory and/or PMEM. Metadata associated with multiple time-evolved memory images captured can be stored and managed using a linked index scheme. A linked index scheme can be configured in various ways including a full index and a difference-only index. The memory images can be used for various purposes including suspending and later resuming execution of the application process, restoring a failed application to a previous point in time, cloning an application, and recovering an application process to a most recent state in an application log.
    Type: Grant
    Filed: October 9, 2020
    Date of Patent: February 20, 2024
    Assignee: MEMVERGE, INC.
    Inventors: Ronald S. Niles, Yue Li, Jun Gan, Chenggong Fan, Robert W. Beauchamp, Dahong Li
  • Publication number: 20240045804
    Abstract: This disclosure provides methods, devices, and systems for memory management. The present implementations more specifically relate to techniques for providing shared memory services over a Compute Express Link (CXL) fabric. In some aspects, a memory management system may include a shared memory (SM) manager and multiple SM libraries each associated with a respective host device coupled to a shared memory via a CXL fabric. In some implementations, an SM library may negotiate read or write “locks” with the SM manager for an object in shared memory, where a read-lock grants the associated host device read access to the object and a write-lock grants the associated host device write access to the object. In some implementations, the SM manager may grant any number of read-locks, but only one write-lock, to any object in shared memory so that the object becomes immutable once the host device relinquishes its write-lock for the object.
    Type: Application
    Filed: July 25, 2023
    Publication date: February 8, 2024
    Applicant: MemVerge, Inc.
    Inventors: Shu Wang, Robert W. Beauchamp, Chenggong Fan
  • Publication number: 20240037026
    Abstract: This disclosure provides methods, devices, and systems for memory management. The present implementations more specifically relate to techniques for providing memory services over a CXL fabric. In some aspects, a memory management system may include an orchestration component, one or more host agents, and one or more endpoint controllers. Each host agent manages one or more memory services for a respective host computing device of a CXL system (or subsystem) and each endpoint controller manages one or more memory resources attached to a respective CXL device of the CXL system. The orchestration component coordinates with each host agent and endpoint controller to configure a CXL fabric to support the memory services provided to each host device. The memory management system receives updates associated with the memory services from each host device or CXL device and may dynamically reconfigure the CXL fabric based on the updates.
    Type: Application
    Filed: July 25, 2023
    Publication date: February 1, 2024
    Applicant: MemVerge, Inc.
    Inventors: Gregory Price, Steve Scargall, Ryan Willis, Chenggong Fan
  • Patent number: 11593186
    Abstract: A technique is introduced for applying multi-level caching to deploy various types of physical memory to service captured memory calls from an application. The various types of physical memory can include local volatile memory (e.g., dynamic random-access memory), local persistent memory, and/or remote persistent memory. In an example embodiment, a user-space page fault notification mechanism is used to defer assignment of actual physical memory resources until a memory buffer is accessed by the application. After populating a selected physical memory in response to an initial user-space page fault notification, page access information can be monitored to determine which pages continues to be accessed and which pages are inactive to identify candidates for eviction.
    Type: Grant
    Filed: November 27, 2019
    Date of Patent: February 28, 2023
    Assignee: MEMVERGE, INC.
    Inventors: Ronald S. Niles, Yue Li
  • Patent number: 11573865
    Abstract: A memory image can be captured by generating metadata indicative of a state of volatile memory and/or byte-addressable PMEM at a particular time during execution of a process by an application. This memory image can be persisted without copying the in-memory data into a separate persistent storage by storing the metadata and safekeeping the in-memory data in the volatile memory and/or PMEM. Metadata associated with multiple time-evolved memory images captured can be stored and managed using a linked index scheme. A linked index scheme can be configured in various ways including a full index and a difference-only index. The memory images can be used for various purposes including suspending and later resuming execution of the application process, restoring a failed application to a previous point in time, cloning an application, and recovering an application process to a most recent state in an application log.
    Type: Grant
    Filed: October 9, 2020
    Date of Patent: February 7, 2023
    Assignee: MEMVERGE, INC.
    Inventors: Ronald S. Niles, Yue Li, Jun Gan, Chenggong Fan, Robert W. Beauchamp, Dahong Li
  • Patent number: 11537479
    Abstract: A memory image can be captured by generating metadata indicative of a state of volatile memory and/or byte-addressable PMEM at a particular time during execution of a process by an application. This memory image can be persisted without copying the in-memory data into a separate persistent storage by storing the metadata and safekeeping the in-memory data in the volatile memory and/or PMEM. Metadata associated with multiple time-evolved memory images captured can be stored and managed using a linked index scheme. A linked index scheme can be configured in various ways including a full index and a difference-only index. The memory images can be used for various purposes including suspending and later resuming execution of the application process, restoring a failed application to a previous point in time, cloning an application, and recovering an application process to a most recent state in an application log.
    Type: Grant
    Filed: October 9, 2020
    Date of Patent: December 27, 2022
    Assignee: MEMVERGE, INC.
    Inventors: Ronald S. Niles, Yue Li, Jun Gan, Chenggong Fan, Robert W. Beauchamp
  • Patent number: 11531600
    Abstract: A memory image can be captured by generating metadata indicative of a state of volatile memory and/or byte-addressable PMEM at a particular time during execution of a process by an application. This memory image can be persisted without copying the in-memory data into a separate persistent storage by storing the metadata and safekeeping the in-memory data in the volatile memory and/or PMEM. Metadata associated with multiple time-evolved memory images captured can be stored and managed using a linked index scheme. A linked index scheme can be configured in various ways including a full index and a difference-only index. The memory images can be used for various purposes including suspending and later resuming execution of the application process, restoring a failed application to a previous point in time, cloning an application, and recovering an application process to a most recent state in an application log.
    Type: Grant
    Filed: October 9, 2020
    Date of Patent: December 20, 2022
    Assignee: MEMVERGE, INC.
    Inventors: Ronald S. Niles, Yue Li, Jun Gan, Chenggong Fan, Robert W. Beauchamp
  • Patent number: 11392428
    Abstract: A technique is described for handling forks in operations mapped to direct access persistent memory (PMEM). In an example embodiment, access by a parent operation of an allocated portion of PMEM is monitored to determine a portion of the allocated PMEM that is in use by the parent operation. In response to a fork call indicating that the parent operation will copy itself to create a child operation, a clone of the portion of allocated PMEM is created to facilitate processing of the child operation. The cloned portion of PMEM can be created just before the child operation is created (i.e., pre-fork) or after the child operation is created (i.e., post-fork). To create the clone post-fork, a user-space page fault notification mechanism can be implemented to detect a next buffer access by the child operation and create the clone in response to the detected access.
    Type: Grant
    Filed: November 27, 2019
    Date of Patent: July 19, 2022
    Assignee: MemVerge, Inc.
    Inventors: Ronald S. Niles, Yue Li
  • Patent number: 11150962
    Abstract: A technique is introduced for intercepting memory calls from a user-space application and applying an allocation policy to determine whether such calls are handled using volatile memory such as dynamic random-access memory (DRAM) or persistent memory (PMEM). In an example embodiment, memory calls from an application are intercepted by a memory allocation capture library. Such calls may be to a memory function such as malloc( ) and may be configured to cause a portion of DRAM to be allocated to the application to process a task. The memory allocation capture library then determines whether the intercepted call satisfies capture criteria associated with an allocation policy. If the intercepted call does satisfy the capture criteria, the call is processed to cause a portion of PMEM to be allocated to the application instead of DRAM.
    Type: Grant
    Filed: November 27, 2019
    Date of Patent: October 19, 2021
    Assignee: MemVerge, Inc.
    Inventors: Ronald S. Niles, Yue Li
  • Patent number: 11134055
    Abstract: Disclosed herein is an apparatus and method for a naming service in a distributed memory object system. In one embodiment, a name service method includes electing a primary node for the master key value store from a plurality of name service nodes, the primary node to receive master key value requests, a master key value store containing an entry for each directory within the distributed memory object, wherein the master key value store is configured for associating a directory pathname to a uniform unique identifier, and replicating the master key value store across the plurality of name service nodes.
    Type: Grant
    Filed: April 1, 2019
    Date of Patent: September 28, 2021
    Assignee: MEMVERGE, INC.
    Inventors: Jiajie Sun, Kunwu Huang, Yuanjie Wu, Ning Xu, Yue Li, Jie Yu, Robert W Beauchamp
  • Patent number: 10909072
    Abstract: Disclosed herein is an apparatus and method for a key value store snapshot for a distributed memory object system.
    Type: Grant
    Filed: April 1, 2019
    Date of Patent: February 2, 2021
    Assignee: MemVerge, Inc.
    Inventors: Jiajie Sun, Robert W Beauchamp, Yue Li, Jie Yu
  • Patent number: 10846007
    Abstract: Disclosed herein is an apparatus and method for a shuffle manager for a distributed memory object system. In one embodiment, a method includes forming a system cluster comprising a plurality of nodes, wherein each node includes a memory, a processor and a network interface to send and receive messages and data, wherein the network interface operates on remote direct memory access; creating a plurality of sharable memory spaces having partitioned data, wherein each space is a distributed memory object having a compute node, wherein the sharable memory spaces are at least one of persistent memory or DRAM cache; and storing data in an in-memory data structure when there is available memory in a compute node; and if there is an out of memory condition, serializing at least some of the in-memory data and spilling it to a distributed memory object system to persist shuffled data outside the compute node.
    Type: Grant
    Filed: April 1, 2019
    Date of Patent: November 24, 2020
    Assignee: MEMVERGE, INC.
    Inventors: Peiyu Zhuang, Kunwu Huang, Yue Zhao, Wei Kang, Haiyan Wang, Yue Li, Jie Yu