Infinite memory fabric hardware implementation with memory
First Claim
1. A hardware-based processing node of an object memory fabric, the processing node comprising:
- a memory module storing and managing one or more memory objects, the memory module comprising at least a Field Programmable Gate Array (FPGA), a first memory, and a second memory, wherein the first memory has a lower latency than the second memory, and wherein;
each memory object is created natively within the memory module,each memory object is accessed using a single memory reference instruction without Input/Output (I/O) instructions,a first set of data of the one or more memory objects is stored within the first memory of the memory module and a second set of data of the one or more memory objects is stored within the second memory of the memory module, andthe FPGA of the memory module dynamically determines during execution of one or more applications on the hardware-based processing node at a hardware level of the memory module which of the first subset of data will be transferred to the second memory and dynamically determines during continued execution of the one or more applications which of the second subset of data will be transferred to the first memory based on access patterns associated with the object memory fabric.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention provide systems and methods for managing processing, memory, storage, network, and cloud computing to significantly improve the efficiency and performance of processing nodes. More specifically, embodiments of the present invention are directed to a hardware-based processing node of an object memory fabric. The processing node may include a memory module storing and managing one or more memory objects, the one or more memory objects each include at least a first memory and a second memory, wherein the first memory has a lower latency than the second memory, and wherein each memory object is created natively within the memory module, and each memory object is accessed using a single memory reference instruction without Input/Output (I/O) instructions, wherein a set of data is stored within the first memory of the memory module; wherein the memory module is configured to receive an indication of a subset of the set of data that is eligible to be transferred between the first memory and the second memory; and wherein the memory module dynamically determines which of the subset of data will be transferred to the second memory based on access patterns associated with the object memory fabric.
-
Citations
30 Claims
-
1. A hardware-based processing node of an object memory fabric, the processing node comprising:
a memory module storing and managing one or more memory objects, the memory module comprising at least a Field Programmable Gate Array (FPGA), a first memory, and a second memory, wherein the first memory has a lower latency than the second memory, and wherein; each memory object is created natively within the memory module, each memory object is accessed using a single memory reference instruction without Input/Output (I/O) instructions, a first set of data of the one or more memory objects is stored within the first memory of the memory module and a second set of data of the one or more memory objects is stored within the second memory of the memory module, and the FPGA of the memory module dynamically determines during execution of one or more applications on the hardware-based processing node at a hardware level of the memory module which of the first subset of data will be transferred to the second memory and dynamically determines during continued execution of the one or more applications which of the second subset of data will be transferred to the first memory based on access patterns associated with the object memory fabric. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. An object memory fabric comprising:
a plurality of hardware-based processing nodes, each hardware-based processing node comprising; a memory module storing and managing one or more memory objects, the memory module comprising at least a Field Programmable Gate Array (FPGA), a first memory, and a second memory, wherein the first memory has a lower latency than the second memory, and wherein; each memory object is created natively within the memory module, each memory object is accessed using a single memory reference instruction without Input/Output (I/O) instructions, a first set of data of the one or more memory objects is stored within the first memory of the memory module and a second set of data of the one or more memory objects is stored within the second memory of the memory module, and the FPGA of the memory module dynamically determines during execution of one or more applications on the hardware-based processing node at a hardware level of the memory module which of the first subset of data will be transferred to the second memory and dynamically determines during continued execution of the one or more applications which of the second subset of data will be transferred to the first memory based on access patterns associated with the object memory fabric. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
21. A computer-implemented method, comprising:
-
creating one or more memory objects natively within a memory module of a hardware-based processing node of the object memory fabric, wherein the hardware-based processing node includes a memory module storing and managing one or more memory objects, the memory module comprising at least a Field Programmable Gate Array (FPGA), a first memory, and a second memory, the first memory having lower latency than the second memory; accessing each memory object of the one or more memory objects using a single memory reference instruction without Input/Output (I/O) instructions; and storing, by the hardware-based processing node, a first set of data of the one or more memory objects within the first memory of the memory module; storing, by the hardware-based processing node, a second set of data of the one or more memory objects within the second memory of the memory module; determining, by the FPGA of the memory module at a hardware level of the memory module during execution of one or more applications on the hardware-based processing node, which of the first subset of data will be transferred to the second memory based on access patterns associated with the object memory fabric; and determining, by the FPGA of the memory module at a hardware level of the memory module during continued execution of one or more applications on the hardware-based processing node, which of the second subset of data will be transferred to the first memory based on access patterns associated with the object memory fabric. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification