Link and discovery protocols for a ring interconnect architecture
First Claim
1. In a system including a first node coupled to a second node by means of a point to point packet-based communication system, the second node having addressable locations, a method for transferring, as a transaction, a variably determined quantity of data from a source location starting at a starting address at the second node to the first node, comprising the steps of:
- using the point to point packet-based communication system to send a packet of a first type from the first node to the second node, the packet of the first type comprising a command symbol encoded to designate a first predetermined command, an address symbol encoded to designate the starting address at the second node, and a buffer length symbol encoded to designate the variably determined quantity;
at the second node, responding to the receipt of the first predetermined command by retrieving the variably determined quantity of data from the source location; and
using the point to point packet-based communication system to send one or more packets of a second type from the second node to the first node, each of the one or more packets of the second type comprising a subset of the retrieved data.
2 Assignments
0 Petitions
Accused Products
Abstract
A protocol for use in a system including a first node, a second node and, in some instances, a third node, each of the first, second and third nodes coupled to each other of the first, second and third nodes by means of a point to point packet-based communication system defines transactions for transferring variable amounts of data from one node to another. A GET transaction allows an instigator node to send a packet to a partner node. The packet specifies data length, and an address in the partner node'"'"'s resource. The partner node returns a packet to the instigator node, the packet containing the data. A PUT transaction similarly allows an instigator node to send a packet specifying a response port identifier, a data length and an address in a partner node'"'"'s resource to which data is to be written. The partner returns a packet containing the response port identifier and a data port identifier. The instigator node includes the data port identifier in a packet containing the data. A PROXY transaction is disclosed which allows an instigator node to cause a source partner node to send data to a target (destination) partner node. Other transactions are also disclosed. In each instance, port identifiers accompany packets in order to associate received data with a particular transaction. A discovery protocol allows an instigator node to use the data transfer protocol to determine the topology of the ring architecture to which it is coupled. The ring architecture includes bridge nodes.
-
Citations
28 Claims
-
1. In a system including a first node coupled to a second node by means of a point to point packet-based communication system, the second node having addressable locations, a method for transferring, as a transaction, a variably determined quantity of data from a source location starting at a starting address at the second node to the first node, comprising the steps of:
-
using the point to point packet-based communication system to send a packet of a first type from the first node to the second node, the packet of the first type comprising a command symbol encoded to designate a first predetermined command, an address symbol encoded to designate the starting address at the second node, and a buffer length symbol encoded to designate the variably determined quantity; at the second node, responding to the receipt of the first predetermined command by retrieving the variably determined quantity of data from the source location; and using the point to point packet-based communication system to send one or more packets of a second type from the second node to the first node, each of the one or more packets of the second type comprising a subset of the retrieved data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a system including a first node coupled to a second node by means of a point to point packet-based communication system, the second node having addressable locations, a method for transferring, as a transaction, a variably determined quantity of data from the first node to a target location starting at a starting address at the second node, comprising the steps of:
-
using the point to point packet-based communication system to send a packet of a first type from the first node to the second node, the packet of the first type comprising a command symbol encoded to designate a predetermined command, an address symbol encoded to designate the starting address at the second node, and a buffer length symbol encoded to designate the variably determined quantity; at the second node, responding to the receipt of the predetermined command by allocating a data port identifier for identifying the transaction, and using the point to point packet-based communication system to send a packet of a second type from the second node to the first node, the packet of the second type comprising the allocated data port identifier; at the first node, responding to receipt of the packet of the second type by using the point to point packet-based communication system to send one or more packets of a third type from the first node to the second node, each of the one or more packets of the third type comprising the allocated data port identifier and a subset of the variably determined quantity of data; and at the second node, responding to receipt of the one or more packets of the third type by storing, to the target location, the variably determined quantity of data contained therein. - View Dependent Claims (7, 8, 9)
-
-
10. In a system including a first node, a second node and a third node, each of the first, second and third nodes coupled to each other of the first, second and third nodes by means of a point to point packet-based communication system, each of the second and third nodes having addressable locations, a method for transferring, as a transaction, a variably determined quantity of data from a source location starting at a first address at the second node to a target location starting at a second address at the third node, comprising the steps of:
-
using the point to point packet-based communication system to send a packet of a first type from the first node to the third node, the packet of the first type comprising a command symbol encoded to designate a first predetermined command, an address symbol encoded to designate the second address at the third node, and a buffer length symbol encoded to designate a quantity of third node data units corresponding to the variably determined quantity; at the third node, responding to the receipt of the first predetermined command by allocating a data port identifier for identifying the transaction, and using the point to point packet-based communication system to send a packet of a second type from the third node to the first node, the packet of the second type comprising the allocated data port identifier; at the first node, responding to receipt of the packet of the second type by using the point to point packet-based communication system to send a packet of a third type from the first node to the second node, the packet of the third type comprising a command symbol encoded to designate a second predetermined command, a data symbol encoded to provide information for routing a packet from the second node to the third node, the allocated data port identifier, an address symbol encoded to designate the first address at the second node, and a buffer length symbol encoded to designate the variably determined quantity; at the second node, responding to receipt of the second predetermined command by retrieving the variably determined quantity of data from the source location and using the point to point packet-based communication system to send one or more packets of a fourth type from the second node to the third node, each of the one or more packets of the fourth type comprising the allocated data port identifier and a subset of the retrieved variably determined quantity of data; and at the third node, responding to receipt of the one or more packets of the fourth type by storing, to the target location, the variably determined quantity of data contained therein. - View Dependent Claims (11, 12, 13, 14)
-
-
15. In a system including a first node coupled to a second node by means of a point to point packet-based communication system, the second node having addressable locations, an apparatus for transferring, as a transaction, a variably determined quantity of data from a source location starting at a starting address at the second node to the first node, comprising:
-
instigator means located at the first node, the instigator means comprising; input means for connection to a receive port of a data stream controller interface; output means for connection to a transmit port of a data stream controller interface; and first packet generating means, coupled to the output means, for generating a packet of a first type comprising a head symbol for routing the packet of the first type from the first node to the second node, a command symbol encoded to designate a predetermined command, an address symbol encoded to designate the starting address at the second node, and a buffer length symbol encoded to designate the variably determined quantity; and partner means located at the second node, the partner means comprising; output means for connection to a transmit port of a data stream controller interface; input means for connection to a receive port of a data stream controller interface; retrieving means, responsive to receipt of the packet of the first type, for retrieving the variably determined quantity of data from the source location; and second packet generating means, coupled to the input means, to the retrieving means and to the output means, for generating one or more packets of a second type, each comprising a head symbol for routing the one or more packets of the second type from the second node to the first node. - View Dependent Claims (16, 17, 18, 19)
-
-
20. In a system including a first node coupled to a second node by means of a point to point packet-based communication system, the second node having addressable locations, an apparatus for transferring, as a transaction, a variably determined quantity of data from the first node to a target location starting at a starting address at the second node, comprising:
-
instigator means located at the first node, the instigator means comprising; input means for connection to a receive port of a data stream controller interface; output means for connection to a transmit port of a data stream controller interface; first packet generating means, coupled to the output means, for generating a packet of a first type comprising a head symbol for routing the packet of the first type from the first node to the second node, a command symbol encoded to designate a predetermined command, an address symbol encoded to designate the starting address at the second node, and a buffer length symbol encoded to designate the variably determined quantity; and third packet generating means, coupled to the input means and to the output means, and responsive to receipt of a packet of a second type for generating one or more packets of a third type, each of the one or more packets of the third type comprising a head symbol for routing the packet of the third type from the first node to the second node, an allocated data port identifier received in a packet of the second type, and a subset of the variably determined quantity of data; and partner means located at the second node, the partner means comprising; input means for connection to a receive port of a data stream controller interface; output means for connection to a transmit port of a data stream controller interface; second packet generating means, coupled to the input means and to the output means, the second packet generating means being responsive to receipt of the packet of the first type for allocating the data port identifier for identifying the transaction, and generating the packet of the second type comprising a head symbol for routing the packet of the second type from the second node to the first node, and the allocated data port identifier; and storing means, coupled to the input means, and responsive to receipt of the one or more packets of the third type for storing, to the target location, the variably determined quantity of data contained therein. - View Dependent Claims (21, 22, 23)
-
-
24. In a system including a first node, a second node and a third node, each of the first, second and third nodes coupled to each other of the first, second and third nodes by means of a point to point packet-based communication system, each of the second and third nodes having addressable locations, an apparatus for transferring, as a transaction, a variably determined quantity of data from a source location starting at a first address at the second node to a target location starting at a second address at the third node, comprising:
-
instigator means located at the first node, the instigator means comprising; input means for connection to a receive port of a data stream controller interface; output means for connection to a transmit port of a data stream controller interface; first packet generating means, coupled to the output means, for generating a packet of a first type comprising a head symbol for routing the packet of the first type from the first node to the third node, a command symbol encoded to designate a predetermined command, an address symbol encoded to designate the second address at the third node, and a buffer length symbol encoded to designate a quantity of third node data units corresponding to the variably determined quantity; and third packet generating means, coupled to the input means and to the output means, and responsive to receipt of a packet of a second type for generating a packet of a third type, the packet of the third type comprising a head symbol for routing the packet of the third type from the first node to the second node, a command symbol encoded to designate a second predetermined command, a data symbol encoded to provide information for routing a packet from the second node to the third node, an allocated data port identifier received in the packet of the second type, an address symbol encoded to designate the first address at the second node, and a buffer length symbol encoded to designate the variably determined quantity; target partner means located at the third node, the target partner means comprising; input means for connection to a receive port of a data stream controller interface; output means for connection to a transmit port of a data stream controller interface; second packet generating means, coupled to the input means and to the output means, the second packet generating means being responsive to receipt of the packet of the first type for allocating the data port identifier for identifying the transaction, and generating the packet of the second type comprising a head symbol for routing the packet of the second type from the third node to the first node, and the allocated data port identifier; and storing means, coupled to the input means, and responsive to receipt of one or more packets of a fourth type for storing, to the target location, the variably determined quantity of data contained therein; and source partner means located at the second node, the source partner means comprising; input means for connection to a receive port of a data stream controller interface; output means for connection to a transmit port of a data stream controller interface; retrieving means coupled to the input means and responsive to receipt of the packet of the third type, for retrieving the variably determined quantity of data from the source location; and fourth packet generating means, coupled to the input means, to the retrieving means and to the output means, for generating the one or more packets of the fourth type, each of the one or more packets of the fourth type comprising a head symbol for routing the packet of the fourth type from the second node to the third node, the allocated data port identifier and a subset of the retrieved variably determined quantity of data. - View Dependent Claims (25, 26, 27, 28)
-
Specification