Method and apparatus for providing remote memory access in a distributed memory multiprocessor system
First Claim
1. In a massively parallel data processing system having a plurality of nodes, with the nodes connected together through a network, wherein each node includes a processor;
- a memory for storing data;
a processor bus coupling the processor to the memory for facilitating communication and data transfer to and from the processor and the memory; and
a remote memory access controller, coupled to the bus, for detecting and processing remote memory access requests, said remote memory access controller comprising;
(a) a remote memory access request mapping module coupled to the processor bus for detecting a remote memory access request;
(b) a processor bus interface coupled to the processor bus and the remote memory access request mapping module for providing an interface between the processor and the remote memory access controller;
(c) a packet generator coupled to the processor bus interface, said processor bus interface receiving a remote memory request, accessing a route table for network route information, and generating a request packet having said network route information, said request packet suitable for transmission on the network;
(d) a packet decoder coupled to the processor bus interface for decoding response packets and request packets into a corresponding response and request;
(e) a bus master module coupled to the packet decoder and to the packet generator, for implementing a remote memory access protocol; and
(f) a network protocol interface coupled to the network, said network protocol interface having at least two lanes, said network protocol interface receiving request packets from the network and sending response packets to the network and detecting network errors in the response and request packets, said network protocol interface adapted to handle multiple outstanding requests and responses.
1 Assignment
0 Petitions
Accused Products
Abstract
A massively parallel data processing system is disclosed. This data processing system includes a plurality of nodes, with each node having at least one processor, a memory for storing data, a processor bus that couples the processor to the memory, and a remote memory access controller coupled to the processor bus. The remote memory access controller detects and queues processor requests for remote memory, processes and packages the processor requests into request packets, forwards the request packets to the network through a router that corresponds to that node, receives and queues request packets received from the network, recovers the memory request from the request packet, manipulates local memory in accordance with the request, generates an appropriate response packet acceptable to the network and forwards the response packet to the requesting node.
201 Citations
12 Claims
-
1. In a massively parallel data processing system having a plurality of nodes, with the nodes connected together through a network, wherein each node includes a processor;
- a memory for storing data;
a processor bus coupling the processor to the memory for facilitating communication and data transfer to and from the processor and the memory; and
a remote memory access controller, coupled to the bus, for detecting and processing remote memory access requests, said remote memory access controller comprising;(a) a remote memory access request mapping module coupled to the processor bus for detecting a remote memory access request; (b) a processor bus interface coupled to the processor bus and the remote memory access request mapping module for providing an interface between the processor and the remote memory access controller; (c) a packet generator coupled to the processor bus interface, said processor bus interface receiving a remote memory request, accessing a route table for network route information, and generating a request packet having said network route information, said request packet suitable for transmission on the network; (d) a packet decoder coupled to the processor bus interface for decoding response packets and request packets into a corresponding response and request; (e) a bus master module coupled to the packet decoder and to the packet generator, for implementing a remote memory access protocol; and (f) a network protocol interface coupled to the network, said network protocol interface having at least two lanes, said network protocol interface receiving request packets from the network and sending response packets to the network and detecting network errors in the response and request packets, said network protocol interface adapted to handle multiple outstanding requests and responses. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- a memory for storing data;
-
10. A method of mapping a global address to a corresponding physical address at a remote node comprising the steps of:
-
a) defining a route table at a local node including a number of entries in local physical memory, said route table pointed to by a route-base register holding a start address of the route table; wherein a node-field in the global address is an offset for determining the location in the route table from the address in the route-base register; b) forming a base field in the physical address by an entry identified by the node-field; c) mapping the address field of the global address directly to the offset field of the physical address; and d) mapping the entry directly into the base field of the physical address. - View Dependent Claims (11, 12)
-
Specification