Multicast and broadcast operations in ethernet switches
First Claim
1. A switching apparatus comprising:
- a first port coupled to receive an input data frame;
a first logic circuit coupled to receive the input data frame from the first port and configured to determine a number of copies of the input data frame to make and to make the number of copies of the input data frame;
a first memory comprising multiple segments, each segment comprising multiple independently addressable channels, the first logic circuit configured to determine a number of channels and segments needed to store the number of copies of the input data frame, the first memory coupled to the first logic circuit and configured to store multiple copies of the input data frame within a single segment of the determined number of segments and to read the multiple copies of the input data frame from the single segment in a single read cycle; and
multiple transmitting ports coupled to the first memory and configured to receive copies of the input data frame from the first memory in parallel and to simultaneously transmit the copies of the input data frame, each of the multiple transmitting ports associated with an output control logic circuit coupled to the first memory and configured to determine when to read at least one copy of the input data frame from the first memory;
wherein the first logic circuit further comprises a third logic circuit configured to determine one or more empty locations in the first memory to store the copies of the input data frame.
1 Assignment
0 Petitions
Accused Products
Abstract
A switch and a process of operating a switch are described where a received data frame is copied one or more times into a memory before being transmitted out of the switch. The switch and method determine how much space in the memory is needed to store all of the copies of the received data frame and then the switch and method determine locations in the memory for storing the copies of the received data frames. The copies of the received data frame are stored until the ports designated as transmitting the copies of the received data frame are ready. When a port is ready, a copy of the received data frame is read out of the memory and the port is instructed where to locate the copy on a bus. When the port has retrieved the copy of the data frame, it transmits the data frame out of the switch.
17 Citations
25 Claims
-
1. A switching apparatus comprising:
-
a first port coupled to receive an input data frame; a first logic circuit coupled to receive the input data frame from the first port and configured to determine a number of copies of the input data frame to make and to make the number of copies of the input data frame; a first memory comprising multiple segments, each segment comprising multiple independently addressable channels, the first logic circuit configured to determine a number of channels and segments needed to store the number of copies of the input data frame, the first memory coupled to the first logic circuit and configured to store multiple copies of the input data frame within a single segment of the determined number of segments and to read the multiple copies of the input data frame from the single segment in a single read cycle; and multiple transmitting ports coupled to the first memory and configured to receive copies of the input data frame from the first memory in parallel and to simultaneously transmit the copies of the input data frame, each of the multiple transmitting ports associated with an output control logic circuit coupled to the first memory and configured to determine when to read at least one copy of the input data frame from the first memory; wherein the first logic circuit further comprises a third logic circuit configured to determine one or more empty locations in the first memory to store the copies of the input data frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A switching apparatus comprising:
-
a first logic circuit coupled to receive an input data frame and configured to determine a number of copies of the input data frame to make and to make the determined number of copies of the input data frame; a memory coupled to the first logic circuit and configured to store and read the copies of the input data frame, the memory being comprised of segments including independently addressable channels with one or more segments being accessible at a given time, the first logic circuit configured to determine a number of channels and segments needed to store the number of copies of the input data frame, the first memory to store multiple copies of the input data frame within a single segment of the determined number of segments and to read the multiple copies of the input data frame from the single segment in a single read cycle; and multiple transmitting ports coupled to the first memory and configured to receive copies of the input data frame from the first memory in parallel and to simultaneously transmit the copies of the input data frame, each of the multiple transmitting ports associated with an output control logic circuit coupled to the memory and configured to determine when to read at least one copy of the input data frame from the memory; wherein the first logic circuit further comprises a third logic circuit configured to determine one or more empty locations in the memory to store the copies of the input data frame. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A switching apparatus comprising:
-
a first port coupled to receive an input data frame; a memory coupled to the first port and configured to store and read a number of copies of the input data frame, the memory comprising multiple segments, each segment comprising multiple independently addressable channels; a processor coupled to the memory and programmed to determine the number of copies of the input data frame to make and to determine when to read at least one copy of the input data frame from the memory, the processor configured to determine a number of channels and segments needed to store the number of copies of the input data frame, the memory to store multiple copies of the input data frame within a single segment of the determined number of segments and to read the multiple copies of the input data frame from the single segment in a single read cycle; and multiple transmitting ports coupled to the memory and configured to receive copies of the input data frame from the first memory in parallel and to simultaneously transmit the copies of the input data frame after being read from the memory; wherein the processor is configured to determine one or more empty locations in the memory to store the copies of the input data frame. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A computer readable medium for use in a switching apparatus that includes a processor, the computer readable medium including instructions for causing the processor to:
-
determine a number of ports a received data frame is to be transmitted out over so as to generate a same number of copies of the received data frame; determine particular locations in a memory that can store the copies of the received data frame; determine a number of channels and segments needed to store the number of copies of the input data frame; forward instructions and the copies of the received data frame to the memory so as to cause the memory to store multiple copies of the received data frame within a single segment of the determined number of segments; forward instructions to the memory to read out the multiple copies of the received data frame from the single segment in parallel and output the copies onto a bus in a single clock cycle; forward instructions to multiple transmitting ports causing the multiple transmitting ports to retrieve and simultaneously transmit the copies of the received data frame from the bus; and determine one or more empty locations in the memory to store the copies of the input data frame. - View Dependent Claims (22, 23, 24, 25)
-
Specification