IP Library Granted Patent US 10,229,024
Granted Patent B2
US 10,229,024 · App. 15/176,185 · Granted Mar 12, 2019

Assisted coherent shared memory

Inventors: Debendra Das Sharma (Saratoga, CA); Mohan J. Kumar (Aloha, OR); Balint Fleischer (Groton, MA)
Assignee: Intel Corporation
G06F11/2094G06F11/1088G06F11/2043G06F11/2087G06F11/2092G06F11/2097G06F12/08G06F12/0837G06F15/16G06F11/108G06F12/0833G06F2201/805G06F2201/82
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,229,024
App. No.
15/176,185
Granted
Mar 12, 2019
Kind
B2
Abstract

An apparatus for coherent shared memory across multiple clusters is described herein. The apparatus includes a fabric memory controller and one or more nodes. The fabric memory controller manages access to a shared memory region of each node such that each shared memory region is accessible using load store semantics, even in response to failure of the node. The apparatus also includes a global memory, wherein each shared memory region is mapped to the global memory by the fabric memory controller.

Claims (31)

1. A node for coherent shared memory, the node comprising:

a central processing unit (CPU);

a node memory, wherein at least a portion of the node memory is mapped to global memory shared between the node and other nodes; and

a fabric memory controller to manage access to the node memory by the other nodes, wherein the fabric memory controller is further to facilitate access to the node memory by the other nodes while the CPU is in a failed state.

2. The node of claim 1 , wherein a power supplied to the node memory is independent of the CPU.

3. The node of claim 1 , wherein the node memory is to receive power while the CPU is in the failed state.

4. The node of claim 1 , wherein the portion of the node memory mapped to the global memory is accessible by the other nodes through the load store semantics.

5. The node of claim 4 , wherein the node memory includes another portion that is inaccessible by the other nodes through load store semantics.

6. The node of claim 1 , wherein the portion of the node memory mapped to the global memory has a first access rights for a first node of the other nodes and second access rights, different from the first access rights, for a second node of the other nodes.

7. The node of claim 1 , wherein the node is assigned to at least one region of the global memory.

8. The node of claim 1 , wherein the fabric memory controller forms a portion of the CPU.

9. A method comprising:

sharing, by a fabric memory controller of a node, at least a portion of a node memory of the node mapped to a global memory with other nodes; and

managing, by the fabric memory controller, access to the node memory by the other nodes, wherein managing access to the node memory comprises facilitating access to the node memory by the other nodes while a central processing unit (CPU) of the node is in a failed state.

10. The method of claim 9 , further comprising powering the node memory with a power supply that is independent of a power supply of the CPU.

11. The method of claim 9 , further comprising supplying power to the node memory while the CPU is in the failed state.

12. The method of claim 9 , wherein the portion of the node memory mapped to the global memory is accessible by the other nodes through load store semantics.

13. The method of claim 12 , wherein the node memory includes another portion that is inaccessible by the other nodes through the load store semantics.

14. The method of claim 9 , wherein the portion of the node memory mapped to the global memory has a first access rights for a first node of the other nodes and second access rights, different from the first access rights, for a second node of the other nodes.

15. The method of claim 9 , wherein the node is assigned to at least one region of the global memory.

16. The method of claim 9 , wherein the fabric memory controller forms a portion of the CPU.

17. One or more machine-readable storage media comprising a plurality of instructions stored thereon that, when executed, cause a node to:

share, by a fabric memory controller of the node, at least a portion of a node memory of the node mapped to a global memory with other nodes; and

manage, by the fabric memory controller, access to the node memory by the other nodes, wherein to manage access to the node memory comprises to facilitate access to the node memory by the other nodes while a central processing unit (CPU) of the node is in a failed state.

18. The one or more machine-readable storage media of claim 17 , wherein the plurality of instructions, when executed, further cause node to power the node memory with a power supply that is independent of a power supply of the CPU.

19. The one or more machine-readable storage media of claim 17 , wherein the plurality of instructions, when executed, further cause node to supply power to the node memory while the CPU is in the failed state.

20. The one or more machine-readable storage media of claim 17 , wherein the portion of the node memory mapped to the global memory is accessible by the other nodes through load store semantics.

21. The one or more machine-readable storage media of claim 20 , wherein the node memory includes another portion that is inaccessible by the other nodes through the load store semantics.

22. The one or more machine-readable storage media of claim 17 , wherein the portion of the node memory mapped to the global memory has a first access rights for a first node of the other nodes and second access rights, different from the first access rights, for a second node of the other nodes.

23. The one or more machine-readable storage media of claim 17 , wherein the node is assigned to at least one region of the global memory.

24. The one or more machine-readable storage media of claim 17 , wherein the fabric memory controller forms a portion of the CPU.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2022
From: INTEL CORPORATION
To: DAEDALUS PRIME LLC
Reel/Frame 060392/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2016
From: DAS SHARMA, DEBENDRA; KUMAR, MOHAN J.; FLEISCHER, BALINT
To: INTEL CORPORATION
Reel/Frame 039266/0152 →
Continuity (2)
Continuation 14142726 · Dec 27, 2013
Related Publication 20170052860A1 · Feb 23, 2017