US2022326859A1PendingUtilityA1

Object memory interfaces across shared links

Assignee: ULTRATA LLCPriority: Dec 8, 2015Filed: Mar 18, 2022Published: Oct 13, 2022
Est. expiryDec 8, 2035(~9.4 yrs left)· nominal 20-yr term from priority
G06F 15/167G06F 3/0667G06F 12/0223G06F 3/067G06F 3/061G06F 3/0649G06F 11/3485G06F 11/14G06F 11/3037G06F 3/0619G06F 3/0608G06F 11/3034G06F 12/04G06F 12/0815G06F 3/065G06F 11/00
72
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
What 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.