Switching ethernet controller
Abstract
An Ethernet controller, for use within an Ethernet network of other Ethernet controller connected together by a bus, is provided. The Ethernet controller includes a plurality of ports including at least one bus port associated with ports connected to other switching Ethernet controllers, a hash table for storing addresses of ports within the Ethernet network, a hash table address control, a storage buffer including a multiplicity of contiguous buffers in which to temporarily store said packet, an empty list including a multiplicity of single bit buffers, a packet storage manager, a packet transfer manager and a write-only bus communication unit. The hash table address control hashes the address of a packet to initial hash table location values, changes the hash table location values by a fixed jump amount if the address values stored in the initial hash table location do not match the received address, and provides at least an output port number of the port associated with the received address. The packet storage manager associates the state of the bit of a single bit buffer with the empty or full state of an associated contiguous buffer and generates the address of a contiguous buffer. The packet transfer manager directs the temporarily stored packet to the port determined by said hash table control unit. The write-only bus communication unit is activated by the packet transfer manager, for transferring the packet out of the bus port by utilizing the bus for write only operations.
Claims
exact text as granted — not AI-modified1. A generally full-wire throughput, switching Ethernet controller for use within an Ethernet network of other switching Ethernet controllers connected together by a bus, the controller comprising:
a. a plurality of ports including at least one bus port associated with ports connected to other switching Ethernet controllers; b. a hash table for storing addresses of ports within said Ethernet network; c. hash table address control for hashing the address of a packet to initial hash table location values, for changing the hash table location values by a fixed jump amount if the address values stored in said initial hash table location does not match the received address, and for providing at least an output port number of the port associated with the received address; d. a storage buffer including a multiplicity of contiguous buffers in which to temporarily store said packet; e. an empty list including a multiplicity of single bit buffers; f. a packet storage manager for associating the state of the bit of a single bit buffer with the empty or full state of an associated contiguous buffer and for generating the address of a contiguous buffer through a simple function of the address or number of its associated single bit buffer; g. a packet transfer manager for directing said temporarily stored packet to the port determined by said hash table control unit; and h. a write-only bus communication unit, activated by said packet transfer manager, for transferring said packet out said at least one bus port by utilizing said bus only for write operations.
2. A controller according to claim 1 and wherein said write-only bus communication unit includes a direct memory access controller.
3. A switching Ethernet controller, comprising:
a hash table, wherein the hash table comprises a plurality of hash table locations to store destination addresses; a hash table controller, wherein the hash table controller is configured to hash a destination address from at least one packet, using a hash function, for comparison with the destination addresses stored in at least one of the plurality of hash table locations; and a packet transfer manager, wherein when a destination address stored in one of the plurality of hash table locations matches the destination address from the at least one packet, the packet transfer manager is configured to transfer the at least one packet from a source port to a destination port, and wherein when the destination address stored in the one of the plurality of hash table locations does not match the destination address from the at least one packet, the hash table controller is configured to change an address generated from the hash function by a predetermined amount for lookup of a destination address stored in another one of the plurality of hash table locations.
4. The switching Ethernet controller of claim 3 , further comprising:
a plurality of ports, wherein the plurality of ports comprises: ( i ) at least the source port configured to communicate with a source device, and ( ii ) at least the destination port configured to communicate with a destination device, wherein the source device includes a source address and the destination device includes a destination address, and wherein the source device is configured to transmit the at least one packet to the destination device.
5. The switching Ethernet controller of claim 4 , further comprising:
a memory, wherein the memory includes a plurality of buffers, and wherein each of the plurality of ports corresponds to a respective one of the plurality of buffers.
6. The switching Ethernet controller of claim 3 , wherein the at least one packet comprises at least one of the destination address and a combination of the destination address and data.
7. The switching Ethernet controller of claim 3 , wherein the predetermined amount comprises a prime number.
8. A switching Ethernet controller, comprising:
a plurality of hash table location means for storing destination addresses; a hash table controller means for hashing a destination address from at least one packet, using a hash function, for comparison with the destination addresses stored in at least one of the plurality of hash table location means; and means for transferring packets, wherein when a destination address stored in one of the plurality of hash table, location means matches the destination address from the at least one packet, the means for transferring packets is configured to transfer the at least one packet from a source port means to a destination port means, and wherein when the destination address stored in the one of the plurality of hash table location means does not match the destination address from the at least one packet, the hash table controller means is configured to change an address generated from the hash function by a predetermined amount for lookup of a destination address stored in another one of the plurality of hash table location means.
9. The switching Ethernet controller of claim 8 , further comprising:
a plurality of port means for communicating information, wherein the plurality of port means comprises: ( i ) at least the source port means for communicating with a source means, and ( ii ) at least the destination port means for communicating with a destination means, wherein the source means includes a source address and the destination means includes a destination address, and wherein the source means is configured to transmit the at least one packet to the destination means.
10. The switching Ethernet controller of claim 9 , further comprising:
a plurality of buffer means for storing information, wherein each of the plurality of port means corresponds to a respective one of the plurality of buffer means.
11. The switching Ethernet controller of claim 8 , wherein the at least one packet comprises at least one of the destination address and a combination of the destination address and data.
12. The switching Ethernet controller of claim 8 , wherein the predetermined amount comprises a prime number.
13. A switching Ethernet controller, comprising:
a hash table, wherein the hash table comprises a plurality of hash table locations to store destination addresses; and a hash table address controller, wherein the hash table address controller is configured to hash a destination address from a packet, using a hash function, for comparison with the destination addresses stored in at least one of the plurality of hash table locations, wherein when a destination address stored in one of the plurality of hash table locations matches the destination address from the packet, the hash table address controller is configured to provide information that causes the packet to be transmitted from a source port to a destination port, and wherein when the destination address stored in the one of the plurality of hash table locations does not match the destination address from the packet, the hash table address controller is configured to change an address generated by the hash function by a predetermined amount for lookup of a destination address stored in another one of the plurality of hash table locations.
14. The switching Ethernet controller of claim 13 , further comprising:
a plurality of ports, wherein the plurality of ports comprises: ( i ) at least the source port configured to communicate with a source device, and ( i ) at least the destination port configured to communicate with a destination device, wherein the source device includes a source address and the destination device includes a destination address, wherein the source device is configured to transmit at least one packet to the destination device.
15. The switching Ethernet controller of claim 14 , further comprising:
a memory, wherein the memory includes a plurality of buffers, and wherein each of the plurality of ports corresponds to a respective one of the plurality of buffers.
16. The switching Ethernet controller of claim 13 , wherein the packet comprises at least one of the destination address and a combination of the destination address and data.
17. The switching Ethernet controller of claim 13 , wherein the predetermined amount comprises a prime number.
18. The switching Ethernet controller of claim 13 , further comprising:
a transfer manager, wherein the transfer manager is configured to transfer the packet from the source port to the destination port in accordance with the hash table address controller.
19. The switching Ethernet controller of claim 13 , wherein the hash table address controller is configured to compare the destination address from the packet with the destination addresses stored in at least two of the plurality of hash table locations.
20. The switching Ethernet controller of claim 19 , wherein the hash table address controller is configured to compare the destination address from the packet with the destination addresses stored in at least two of the plurality of hash table locations by continuing to fetch additional destination addresses stored in the plurality of hash table locations, up to a second predetermined amount.
21. A switching Ethernet controller, comprising:
a plurality of hash table location means for storing destination addresses; and a hash table address controller means for hashing a destination address from a packet, using a hash function, for comparison with the destination addresses stored in at least one of the plurality of hash table location means, wherein when a destination address stored in one of the plurality of hash table location means matches the destination address from the packet, the hash table address controller means is configured to provide information that causes the packet to be transmitted from a source port means to a destination port means, and wherein when the destination address stored in the one of the plurality of hash table location means does not match the destination address from the packet, the hash table address controller means is configured to change an address generated by the hash function by a predetermined amount for lookup of a destination address stored in another one of the plurality of hash table location means.
22. The switching Ethernet controller of claim 21 , further comprising:
a plurality of port means for communicating information, wherein the plurality of port means comprises: ( i ) at least the source port means for communicating with a source means, and ( ii ) at least the destination port means for communicating with a destination means, wherein the source means includes a source address and the destination means includes a destination address, wherein the source means is configured to transmit at least one packet to the destination means.
23. The switching Ethernet controller of claim 22 , further comprising:
a plurality of buffer means for storing information, wherein each of the plurality of port means corresponds to a respective one of the plurality of buffer means.
24. The switching Ethernet controller of claim 21 , wherein the packet comprises at least one of the destination address and a combination of the destination address and data.
25. The switching Ethernet controller of claim 21 , wherein the predetermined amount comprises a prime number.
26. The switching Ethernet controller of claim 21 , further comprising:
a transfer manager means for transmitting the packet from the source port means to the destination port means in accordance with the hash table address controller means.
27. The switching Ethernet controller of claim 21 , wherein the hash table address controller means is configured to compare the destination address from the packet with the destination addresses stored in at least two of the plurality of hash table location means.
28. The switching Ethernet controller of claim 27 , wherein the hash table address controller means is configured to compare the destination address from the packet with the destination addresses stored in at least two of the plurality of hash table location means by continuing to fetch additional destination addresses stored in the plurality of hash table location means, up to a second predetermined amount.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.