Triplet architecture in a multi-port bridge for a local area network
First Claim
1. A method of controlling the flow of data packets in a multi-port bridge having a plurality of ports interconnected to a memory device by a communication bus, the multi-port bridge for interconnecting a plurality of segments of a local area network, the method comprising steps of:
- a. receiving a data packet into a receive buffer in a source port for the packet, the packet having a destination address, a source address and a data field and the packet being received from a segment associated with the source port;
b. looking up the destination address in a table for determining a destination port for the packet;
c. assigning a location in the memory device to the packet;
d. forming a triplet for the packet wherein the triplet includes a first field for identifying the source port, a second field for identifying the destination port, and a third field for identifying the location assigned to the packet in the memory device;
e. placing the triplet on the communication bus a first time;
f. loading the packet into the memory device at the location in the memory device assigned to the packet;
g. placing the triplet on the communication bus a second time;
h. storing the triplet in a triplet buffer in the destination port;
i. receiving the packet into a transmit buffer in the destination port from the location assigned to the packet in the memory device; and
j. transmitting the packet to a segment associated with the destination port for the packet.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for controlling the flow of among the ports of a multi-port bridge. The bridge includes a memory for storing packets and a plurality of ports. Each port includes a receive buffer, a transmit buffer and a “triplet” buffer. A data packet is received by the receive buffer of a port. As the packet is still being received, a look-up table is utilized to identify the appropriate destination port for the packet. A result of the look-up is a “triplet” which includes three fields: a first field containing the identification of the source port, a second field containing the identification of the destination port, and a third field containing a starting address assigned to the incoming packet in the memory. The triplet is placed upon the communication bus a first time. If the destination port is available to receive the packet directly from the source port, the destination port receives the packet simultaneously as the packet is stored in the memory. Otherwise, the triplet is placed on the communication bus a second time after the packet is stored in the memory. The destination port stores the triplet in its triplet buffer. Then, when the destination port is available, the destination port retrieves the packet from the memory for transmission.
102 Citations
17 Claims
-
1. A method of controlling the flow of data packets in a multi-port bridge having a plurality of ports interconnected to a memory device by a communication bus, the multi-port bridge for interconnecting a plurality of segments of a local area network, the method comprising steps of:
-
a. receiving a data packet into a receive buffer in a source port for the packet, the packet having a destination address, a source address and a data field and the packet being received from a segment associated with the source port;
b. looking up the destination address in a table for determining a destination port for the packet;
c. assigning a location in the memory device to the packet;
d. forming a triplet for the packet wherein the triplet includes a first field for identifying the source port, a second field for identifying the destination port, and a third field for identifying the location assigned to the packet in the memory device;
e. placing the triplet on the communication bus a first time;
f. loading the packet into the memory device at the location in the memory device assigned to the packet;
g. placing the triplet on the communication bus a second time;
h. storing the triplet in a triplet buffer in the destination port;
i. receiving the packet into a transmit buffer in the destination port from the location assigned to the packet in the memory device; and
j. transmitting the packet to a segment associated with the destination port for the packet. - View Dependent Claims (2, 3, 4)
-
-
5. A multi-port bridge for interconnecting a plurality of segments of a local area network, the multi-port bridge comprising:
-
a. a communication bus;
b. a memory device coupled to the communication bus;
c. a source port coupled to the communication bus, wherein the source port receives a packet from a source node within a segment of the local area network associated with the source port, wherein the source port initiates a look-up cycle upon receiving an address of a destination node for the packet and wherein a product of the look-up cycle is a triplet having a first field for identifying the source port, a second field for identifying a destination port for the packet, and a third field for identifying a location assigned to the packet in the memory device; and
d. the destination port for transmitting the packet to the destination node within a segment of the local area network associated with the destination port wherein if the destination port is not busy, the destination port receives the packet directly from the source port after the triplet is placed on the communication bus a first time, and if the destination port does not receive the packet directly from the source port, the destination port receives the packet from the memory device after the triplet is placed on the communication bus a second time. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A method of controlling flow of packets in a multi-port bridge having a plurality of ports interconnected to a memory device by a communication bus, the multi-port bridge for interconnecting a plurality of segments of a local area network, the method comprising steps of:
-
a. receiving a packet having a destination address from a segment associated with a source port for the packet into a receive buffer in the source port;
b. looking-up the destination address in a table for determining a destination port for the packet;
c. assigning a location in the memory device to the packet;
d. forming a triplet for the packet wherein the triplet comprises a first field for identifying the source port, a second field for identifying a destination port for the packet, and a third field for identifying a location assigned to the packet in the memory device;
e. placing the triplet on the communication bus a first time;
f. loading the packet into the memory device at the location assigned to the packet; and
g. determining whether the destination port is available to receive the packet directly from the source port and, if the destination port is available to receive the packet directly from the source port, performing a step of receiving the packet into a transmit buffer in the destination port simultaneously with loading the packet into the memory device, and if the destination port is not available to receive the packet directly from the source port, receiving the packet into the destination port from the memory after the destination port is available to receive the packet. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification