System for using always in-memory data structures in a heterogeneous memory pool
AssigneeLemon Inc.
InventorsViacheslav Dubeyko, Jian Wang
Life of this patent
Estimating the term…
Abstract
A storage system includes a host device and a heterogeneous memory pool. The host device includes an application and a memory allocator stored thereon. The heterogeneous memory pool includes a volatile or non-volatile memory component, a persistent memory component, and a computational component. The computational component is in communication with the persistent memory component and the volatile or non-volatile memory component. The host device is in communication with the heterogeneous memory pool, via the memory allocator, to offload computations from the host device to the heterogenous memory pool.
Claims20
A storage system comprising:
- a host device comprising an application and a memory allocator stored thereon;
- and
- a heterogenous memory pool comprising at least one of a volatile or non-volatile memory component, a persistent memory component, and a computational component, the computational component being in communication with the persistent memory component and the at least one of the volatile or non-volatile memory component,
- wherein the host device is in communication with the heterogenous memory pool, via the memory allocator, to offload computations from the host device to the heterogenous memory pool.
A method of allocating persistent memory, the method comprising:
- preparing, at an application of a first device, a request;
- writing the request into a stream;
- extracting the request, via a computational component of a second device;
- processing the request, via the computational component;
- preparing a status of the processed request;
- and
- reading the status of the processed request, via the application.
A storage system comprising:
- a first device comprising a computational component;
- a second device comprising a computational component;
- and
- memory storing instructions that, when executed by the computational component of at least one of the first device or the second device, causes the system to perform a set of operation, the set of operations comprising:
- preparing, at an application of the first device, a request;
- writing the request into a stream;
- extracting the request, via the computational component of the second device;
- processing the request, via the computational component of the second device;
- preparing a status of the processed request;
- and
- reading the status of the processed request, via the application.
Dependencies are inferred from the claim text.