Object memory interfaces across shared links
Abstract
According to one embodiment, a hardware-based processing node of a plurality of hardware-based processing nodes in an object memory fabric can comprise a memory module storing and managing a plurality of memory objects in a hierarchy of the object memory fabric. Each memory object can be created natively within the memory module, accessed using a single memory reference instruction without Input/Output (I/O) instructions, and managed by the memory module at a single memory layer. The object memory fabric can utilize a memory fabric protocol between the hardware-based processing node and one or more other nodes of the plurality of hardware-based processing nodes to distribute and track the memory objects across the object memory fabric. The memory fabric protocol can be utilized across a dedicated link or across a shared link between the hardware-based processing node and one or more other nodes of the plurality of hardware-based processing nodes.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A hardware-based processing node of a plurality of hardware-based processing nodes in an object memory fabric, the hardware-based processing node comprising:
a memory module storing and managing a plurality of memory objects in a hierarchy of the object memory fabric, wherein:
each memory object is created natively within the memory module through a namespace of the object memory fabric, and
each memory object is managed by the memory module through the namespace of the object memory fabric at a single memory layer without distinction between memory and storage and
without distinction between local and remote locations of memory objects on one or more other nodes of the plurality of hardware-based processing nodes.
2 . The hardware-based processing node of claim 1 , wherein a memory fabric protocol is utilized across a dedicated link between the hardware-based processing node and the one or more other nodes of the plurality of hardware-based processing nodes.
3 . The hardware processing node of claim 2 , wherein the dedicated link comprises an Ethernet link.
4 . The hardware-based processing node of claim 1 , wherein the memory fabric protocol is tunneled across a shared link between the hardware-based processing node and the one or more other nodes of the plurality of hardware-based processing nodes.
5 . The hardware-based processing node of claim 4 , wherein the memory fabric protocol provides a dedicated communication link between the hardware-based processing node and the one or more other nodes of the plurality of hardware-based processing nodes and the shared link supports communications other than the memory fabric protocol.
6 . The hardware-based processing node of claim 4 , wherein the shared link comprises an Internet Protocol (IP) link.
7 . The hardware-based processing node of claim 1 , wherein two or more nodes of the plurality of hardware-based processing nodes are remote from each other in a hierarchy of the object memory fabric and wherein the memory objects are distributed and tracked across the object memory fabric using a memory fabric protocol.
8 . The hardware-based processing node of claim 7 , wherein two or more nodes of the plurality of hardware-based processing nodes are each in different physical locations and wherein distributing and tracking the memory objects across the object memory fabric comprises caching and duplicating objects in a plurality of different physical locations.
9 . The hardware-based processing node of claim 7 , wherein tracking the memory objects across the object memory fabric comprises tracking, by the hardware-based processing node, the memory objects and blocks within the memory objects that are present on the hardware-based processing node.
10 . The hardware-based processing node of claim 7 , wherein distributing the memory objects across the object memory fabric is initiated by the hardware-based processing node on a per-object basis.
11 . The hardware-based processing node of claim 7 , wherein tracking the memory objects across the object memory fabric comprises propagating changes to the memory objects from the hardware-based processing node to one or more other nodes of the plurality of hardware-based processing nodes.
12 . The hardware-based processing node of claim 11 , wherein propagating changes to the memory objects from the hardware-based processing node to one or more other nodes of the plurality of hardware-based processing nodes comprises moving only data within the memory objects that has changed and without replicating or copying the memory object.
13 . The hardware-based processing node of claim 1 , wherein the hardware-based processing node comprises a Dual In-line Memory Module (DIMM) card.
14 . The hardware-based processing node of claim 1 , wherein the hardware-based processing node comprises a commodity server and wherein the memory module comprises a Dual In-line Memory Module (DIMM) card installed within the commodity server.
15 . The hardware-based processing node of claim 1 , wherein the hardware-based processing node comprises a mobile computing device.
16 . The hardware-based processing node of claim 1 , wherein the hardware-based processing node comprises a single chip.
17 . An object memory fabric comprising:
a plurality of hardware-based processing nodes, each hardware-based processing node comprising:
a memory module storing and managing a plurality of memory objects in a hierarchy of the object memory fabric, wherein each memory object is created natively within the memory module through a namespace of the object memory fabric and each memory object is managed by the memory module through the namespace of the object memory fabric at a single memory layer without distinction between memory and storage and without distinction between local and remote locations of memory objects one or more other nodes of the plurality of hardware-based processing nodes, and
a node router communicatively coupled with each of the one or more memory modules of the node and adapted to route memory objects or portions of memory objects between the one or more memory modules of the node; and
one or more inter-node routers communicatively coupled with each node router, wherein each of the plurality of nodes of the object memory fabric is communicatively coupled with at least one of the inter-node routers and adapted to route memory objects or portions of memory objects between the plurality of nodes.
18 . The object memory fabric of claim 18 , wherein a memory fabric protocol is utilized across a dedicated link between the hardware-based processing node and one or more other nodes of the plurality of hardware-based processing nodes.
19 . The object memory fabric of claim 18 , wherein the dedicated link comprises an Ethernet link.
20 . The object memory fabric of claim 17 , wherein a memory fabric protocol is tunneled across a shared link between the hardware-based processing node and one or more other nodes of the plurality of hardware-based processing nodes.
21 . The object memory fabric of claim 20 , wherein the memory fabric protocol provides a dedicated communication link between the hardware-based processing node and one or more other nodes of the plurality of hardware-based processing nodes and the shared link supports communications other than the memory fabric protocol.
22 . The object memory fabric of claim 20 , wherein the shared link comprises an Internet Protocol (IP) link.
23 . The object memory fabric of claim 17 , further comprising a virtual link between at least one node router and an inter-node router or between two or more inter-node routers and wherein the virtual link comprises an Internet Protocol (IP) network of one or more routers or switches.
24 . The object memory fabric of claim 17 , wherein two or more nodes of the plurality of hardware-based processing nodes are remote from each other in a hierarchy of the object memory fabric and wherein the memory objects are distributed and tracked across the object memory fabric.
25 . The object memory fabric of claim 24 , wherein two or more nodes of the plurality of hardware-based processing nodes are each in different physical locations and wherein distributing and tracking the memory objects across the object memory fabric comprises caching and duplicating objects in a plurality of different physical locations.
26 . The object memory fabric of claim 24 , wherein tracking the memory objects across the object memory fabric comprises tracking, by the hardware-based processing node, the memory objects and blocks within the memory objects that are present on the hardware-based processing node.
27 . The object memory fabric of claim 24 , wherein distributing the memory objects across the object memory fabric is initiated by one of the hardware-based processing node on a per-object basis.
28 . The object memory fabric of claim 24 , wherein tracking the memory objects across the object memory fabric comprises propagating changes to the memory objects from one of the hardware-based processing node to one or more other nodes of the plurality of hardware-based processing nodes.
29 . The object memory fabric of claim 28 , wherein propagating changes to the memory objects from the hardware-based processing node to one or more other nodes of the plurality of hardware-based processing nodes comprises moving only data within the memory objects that has changed and without replicating or copying the memory object.
30 . The object memory fabric of claim 17 , wherein at least one of the hardware-based processing nodes comprises a Dual In-line Memory Module (DIMM) card.
31 . The object memory fabric of claim 17 , wherein at least one of the hardware-based processing nodes comprises a commodity server and wherein the memory module comprises a Dual In-line Memory Module (DIMM) card installed within the commodity server.
32 . The object memory fabric of claim 17 , wherein at least one of the hardware-based processing nodes comprises a mobile computing device.
33 . The object memory fabric of claim 17 , wherein at least one of the hardware-based processing nodes comprises a single chip.
34 . A method for providing communication links in an object memory fabric comprising a plurality of hardware-based processing nodes, the method comprising:
creating, by the hardware-based processing nodes of the object-based memory fabric, each memory object natively within a memory module of the hardware-based processing node through a namespace of the object memory fabric; and managing, by the hardware-based processing nodes, each memory object within the memory module through the namespace of the object memory fabric at a single memory layer without distinction between memory and storage and without distinction between local and remote locations of the memory objects on one or more other nodes of the plurality of hardware-based processing nodes.
35 . (canceled)
36 . (canceled)
37 . (canceled)
38 . (canceled)
39 . (canceled)
40 . (canceled)
41 . (canceled)
42 . (canceled)
43 . (canceled)
44 . (canceled)
45 . (canceled)Join the waitlist — get patent alerts
Track US2022326859A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.