IP Library Granted Patent US 9,069,672
Granted Patent B2
US 9,069,672 · App. 12/483,936 · Granted Jun 30, 2015

Extended fast memory access in a multiprocessor computer system

Inventors: Dennis C. Abts (Eleva, WI); Robert Alverson (Seattle, WA); Edwin Froese (Burnaby, CA); Howard Pritchard (Santa Fe, NM); Steven L. Scott (Chippewa Falls, WI)
Assignee: Intel Corporation
G06F12/0813H04L67/00G06F9/3834G06F13/4009G06F12/109
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 9,069,672
App. No.
12/483,936
Granted
Jun 30, 2015
Kind
B2
Abstract

A multiprocessor computer system comprises a first node operable to access memory local to a remote node by receiving a virtual memory address from a requesting entity in node logic in the first node. The first node creates a network address from the virtual address received in the node logic, where the network address is in a larger address space than the virtual memory address, and sends a fast memory access request from the first node to a network node identified in the network address.

Claims (39)

1. A method of a first node accessing memory in a remote node in a multiprocessor computer network, wherein the remote node includes one or more processing elements, the method comprising:

receiving a virtual memory address from a requesting entity in the first node;

creating a network address from the virtual address received in the first node, where the network address is in a larger address space than the virtual memory address, and the network address includes a processing element field, a memory domain handle, and an offset; and

sending a fast memory access request from the first node to the remote node identified in the network address, wherein the fast memory access request includes the network address;

wherein the memory domain handle is associated with the memory in the remote node, and the processing element field is associated with the remote node.

2. The method of accessing memory in a remote node in a multiprocessor computer network of claim 1 , further comprising receiving in the first node a fast memory access reply comprising the result of at least one PUT or GET operation from the remote node identified in the network address.

3. The method of accessing memory in a remote node in a multiprocessor computer network of claim 1 , wherein the requesting entity is a processor local to the first node.

4. The method of accessing memory in a remote node in a multiprocessor computer network of claim 1 , wherein the virtual memory address comprises:

a fast memory access (FMA) descriptor; and

an offset window used to generate network endpoint and offset components of the network address.

5. The method of accessing memory in a remote node in a multiprocessor computer network of claim 1 , wherein the network logical address comprises:

a protection tag.

6. The method of accessing memory in a remote node in a multiprocessor computer network of claim 1 , wherein fast memory access is used to provide load/store access to remote memory, and a block transfer engine is used to copy remote memory.

7. The method of accessing memory in a remote node in a multiprocessor computer network of claim 1 , wherein creating a network address from the virtual address comprises looking up at least a portion of the virtual address in a fast memory access table.

8. A multiprocessor computer system, comprising a first node, including one or more processing elements, operable to access memory local to a remote node by:

receiving a virtual memory address from a requesting entity in the first node;

creating a network address from the virtual address received in the first node, where the network address is in a larger address space than the virtual memory address, and the network address includes a processing element field, a memory domain handle, and an offset; and

sending a fast memory access request from the first node to the remote node identified in the network address, wherein the fast memory access request includes the network address;

wherein the memory domain handle is associated with the memory in the remote node, and the processing element field is associated with the remote node.

9. The multiprocessor computer system of claim 8 , the first node further operable to receive a fast memory access reply comprising the result of at least one PUT or GET operation from the remote node identified in the network logical address.

10. The multiprocessor computer system of claim 8 , wherein the requesting entity is a processor local to the first node.

11. The multiprocessor computer system of claim 8 , wherein the physical memory address comprises:

a fast memory access (FMA) descriptor; and

an offset window used to generate network endpoint and offset components of the network address.

12. The multiprocessor computer system claim 8 , wherein the network address comprises:

a protection tag.

13. The multiprocessor computer system of claim 8 , wherein fast memory access is used to provide load/store access to remote memory, and a block transfer engine is used to copy remote memory.

14. The multiprocessor computer system of claim 8 , wherein creating a network address from the virtual address comprises looking up at least a portion of the virtual address in a fast memory access table.

15. A multiprocessor computer node operable to access memory local to a remote node by:

receiving a virtual memory address from a requesting entity in the multiprocessor computer node;

creating a network address from the virtual address received, where the network address is in a larger address space than the virtual memory address, and the network address includes a processing element field, a memory domain handle, and an offset; and

sending a fast memory access request from the multiprocessor computer node to the remote node identified in the network address, wherein the fast memory access request includes the network address;

wherein the memory domain handle is associated with the memory in the remote node, and the processing element field is associated with the remote node.

16. The multiprocessor computer node of claim 15 , the first node further operable to receive a fast memory access reply comprising the result of at least one put or get operation from the remote node identified in the network logical address.

17. The multiprocessor computer node of claim 15 , wherein the requesting entity is a processor local to the first node.

18. The multiprocessor computer node of claim 15 , wherein the physical memory address comprises: a fast memory access (FMA) descriptor; and an offset window used to generate network endpoint and offset components of the network address.

19. The multiprocessor computer node claim 15 , wherein the network logical address comprises: a protection tag.

20. The multiprocessor computer node of claim 15 , wherein fast memory access is used to provide load/store access to remote memory, and a block transfer engine is used to copy remote memory.

21. The multiprocessor computer node of claim 15 , wherein creating a network address from the virtual address comprises looking up at least a portion of the virtual address in a fast memory access table.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2012
From: CRAY INC.
To: INTEL CORPORATION
Reel/Frame 028545/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2009
From: ABTS, DENNIS C.; ALVERSON, ROBERT; FROESE, EDWIN; PRITCHARD, HOWARD; SCOTT, STEVEN L.
To: CRAY INC.
Reel/Frame 023493/0048 →
Continuity (1)
Related Publication 20100318626A1 · Dec 16, 2010