Shared buffer switching module
AssigneeIPC Information Systems, Inc.
InventorJohn M. Cotton
Life of this patent
Estimating the term…
Abstract
This invention relates to a switch module for use in an asynchronous transfer mode (ATM) system incorporating a shared buffer memory where incoming data cells are stored and subsequently transferred to exit ports. An incoming data cell is stored at a vacant buffer memory address on an interleaved, word-by-word basis and the address is placed in an appropriate priority queue in the appropriate exit port for the data cell. When time is available for transmission from the exit port, the data cell corresponding to the address at the head of the highest priority queue is sent to the exit port and transmitted.
Claims55
A buffered communication switch for switching data cells between input ports and selected output ports, comprising:
- one or more input ports for receiving incoming data cells;
- a plurality of output ports;
- a shared buffer memory for storing data cells received via said one or more input ports while awaiting transmission via one or more of said output ports;
- a common bus interconnecting said input ports, said output ports, and said shared buffer memory;
- means for examining said incoming data cells to select one or more of said output ports appropriate for transmission of the cell;
- means for selecting a vacant address in said shared buffer memory for storing one of said incoming data cells;
- means for storing said one of said incoming data cells to provide a stored data cell at said vacant address and for storing the address thereof at one or more of said output ports selected for transmission of said stored data cell;
- means for retrieving said stored data cell when time is available for transmission thereof via said selected one or more output ports;
- and
- wherein the transfer of an incoming data cell from said input ports to said shared buffer memory is interleaved via said common bus with the transfer of data cells from said shared buffer memory to said output ports.
A buffered communication switch for the priority switching of data cells between input ports and selected output ports, said data cells each having a data cell priority, comprising:
- one or more input ports for receiving incoming data cells;
- a plurality of output ports each including a plurality of priority address queues associated therewith;
- a shared buffer memory for storing said incoming data cells received via said one or more input ports while awaiting transmission via one or more of said output ports;
- a translator for examining said incoming data cells
- to determine the data cell priority, and
- to select one or more of said output ports for subsequent transmission of said incoming data cells;
- an address selector for selecting a vacant address in said shared buffer memory for storing an incoming data cell;
- means for storing said incoming data cell to provide a stored data cell at said vacant address determined by said address selector and for storing said vacant address in a selected priority queue at said one or more output ports selected by said translator for subsequent transmission of said stored data cell;
- and
- means for retrieving coupled to said shared memory to receive said stored data cell at said address in said shared memory for transmission of said stored data cell via said selected output port when said address is at the head of the highest occupied priority queue at said selected port.
A buffered communication switch for switching multi-word data cells between input ports and selected output ports, comprising:
- a plurality of input ports for receiving incoming data cells;
- a plurality of output ports;
- a shared buffer memory for storing said incoming data cells received via said input ports while awaiting transmission via one or more of said output ports;
- a translator for examining said incoming data cells to designate one or more of said output ports for transmission of said incoming data cells;
- an address selector for selecting a vacant address in said shared buffer memory for storing an incoming data cell;
- means for storing said incoming data cell at said vacant address to provide a stored data cell and for storing the address thereof at said one or more output ports selected for transmission of said stored data cell;
- and
- means for retrieving coupled to said shared memory to receive said stored data cell at said address in said shared memory when time is available for transmission of said data cell via said selected one or more output ports;
- said means for storing and said means for retrieving being operable to transfer data cells to and from said shared buffer memory on a word-by-word basis.
A buffered communication switch for the priority switching of multiword data cells between input ports and selected output ports, said data cells each having a data cell priority, comprising:
- one or more input ports for receiving incoming data cells;
- a plurality of output ports each including a plurality of priority address queues associated therewith;
- a shared buffer memory for storing said incoming data cells received via said one or more input ports while awaiting transmission via one or more of said output ports;
- a translator for examining said incoming data cells
- to determine the data cell priority, and
- to select one or more of said output ports for subsequent transmission of said incoming data cell;
- an address selector for selecting a vacant address in said shared buffer memory for storing an incoming data cell;
- means for storing said incoming data cell to provide a stored data cell at said vacant address and for storing the address thereof in a selected priority queue at each of said one or more output ports selected according to said cell priority;
- and
- means for retrieving coupled to said shared buffer memory to receive said stored data cell at a retrieval address in said shared memory when said retrieval address is at the head of the highest occupied priority queue at said selected port;
- said means for storing and said means for retrieving being operable to transfer data cells to and from said shared buffer memory on an interleaved word-by-word basis.
A method of telecommunication switching of multi-word data cells between input ports and selected output ports, comprising the steps of:
- receiving an incoming data cell via an input port;
- examining said incoming data cell to select one or more output ports appropriate for retransmission of the cell;
- using a shared buffer memory for storing incoming data cells received via the input ports while awaiting transmission via one or more of the output ports;
- selecting a vacant address in the shared buffer memory for storing said incoming data cell;
- storing said incoming data cell at said vacant address to provide a stored data cell;
- storing said address at one or more output ports selected for re-transmission of said stored data cell;
- and
- retrieving said stored data cell in the shared memory when time is available for re-transmission of said stored data cell via each of said one or more selected output ports;
- and
- wherein the transfer of incoming data cells for storage in said shared buffer memory is interleaved with the transfer of stored data cells from said shared buffer memory to said output ports.
A method of telecommunication priority switching of data cells between input ports and selected output ports, each data cell including a data cell priority and each output port having a plurality of priority queues, including the steps of:
- receiving an incoming data cell via one of the input ports;
- using a shared buffer memory for storing said incoming data cells received via the input ports while awaiting transmission via one or more of the output ports;
- examining said incoming data cell
- to determine the data cell priority, and
- to select one or more of the output ports for retransmission of the incoming data cell;
- selecting a vacant address in said shared buffer memory for storing said incoming data cell;
- storing said incoming data cell to provide a stored data cell at said vacant address and storing said address in a priority queue selected according to said data cell priority at each of the one or more output ports selected for retransmission of said stored data cell;
- and
- retrieving said stored data cell in the shared memory for retransmission of said stored data cell via each of the one or more selected output ports when said address is at the head of the highest occupied priority queue at each of the one or more selected ports.
A method of telecommunication switching multi-word data cells between input ports and selected output ports, comprising the steps of:
- receiving an incoming data cell at one of the input ports;
- using a shared buffer memory for storing said incoming data cell received via the input ports while awaiting retransmission via one or more of the output ports;
- examining said incoming data cell to designate one or more of the output ports for retransmission of said incoming data cell;
- selecting a vacant address in said shared buffer memory for storing said incoming data cell;
- storing said incoming data cell to provide a stored data cell at said vacant address and storing the address of said stored data cell at the one or more output ports selected for retransmission of said cell;
- and
- retrieving said stored data cell at said address in said shared memory when time is available for retransmission of said stored data cell via each of the one or more selected output ports;
- the storing and retrieving of data cells to and from said shared buffer memory being on an interleaved word-by-word basis.
A method of telecommunication priority switching of multi-word data cells between input ports and selected output ports, each output port having a plurality of priority queues and each of said data cells including a data cell priority, including the steps of:
- receiving an incoming data cell via one the input ports;
- using a shared buffer memory for storing incoming data cells received via the input ports while awaiting transmission via one or more of the output ports;
- examining the incoming data cell
- to determine the data cell priority, and
- to select one or more of the output ports appropriate for retransmission of the cell;
- selecting a vacant address in said shared buffer memory for storing said incoming data cell;
- storing said incoming data cell at said vacant address to provide a stored data cell and storing said address in a priority queue selected according to said data cell priority at each of the one or more output ports selected for retransmission of said stored data cell;
- and
- retrieving said stored data cell at said address in the shared memory for retransmission of said stored data cell via each of the one or more selected output ports when said address is at the head of the highest occupied priority queue at the selected ports;
- the storing and retrieving of data cells to and from said shared buffer memory being on an interleaved word-by-word basis.
Dependencies are inferred from the claim text.