CA2058816C - Common memory switch for routing data signals - Google Patents

Common memory switch for routing data signals

Info

Publication number
CA2058816C
CA2058816C CA002058816A CA2058816A CA2058816C CA 2058816 C CA2058816 C CA 2058816C CA 002058816 A CA002058816 A CA 002058816A CA 2058816 A CA2058816 A CA 2058816A CA 2058816 C CA2058816 C CA 2058816C
Authority
CA
Canada
Prior art keywords
cell
switch
header
atm
stm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA002058816A
Other languages
French (fr)
Other versions
CA2058816A1 (en
Inventor
Ernst August Munter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nortel Networks Ltd
Original Assignee
Northern Telecom Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northern Telecom Ltd filed Critical Northern Telecom Ltd
Publication of CA2058816A1 publication Critical patent/CA2058816A1/en
Application granted granted Critical
Publication of CA2058816C publication Critical patent/CA2058816C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/108ATM switching elements using shared central buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/606Hybrid ATM switches, e.g. ATM&STM, ATM&Frame Relay or ATM&IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0003Switching fabrics, e.g. transport network, control network
    • H04J2203/0005Switching elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly

Abstract

In order to handle a synchronous transfer mode (ATM) cells and synchronous transfer mode (STM) words in a single switch, STM words incoming on a channel are accumulated until a desired data block is available and a switch header is then added thereto in order to form an STM
switch cell. The header includes routing information and a flag indicating the switch cell comprises STM words. In additional, a switch header is added to each ATM cell incoming on a channel in order to form an ATM switch cell.
The header added to ATM cells includes routing information and a flag indicating the cell comprises an ATM cell. The ATM and STM switch cells feed input channels of a common memory switch. An ATM switch cell from a given incoming channel is stored at a memory address and the memory address input to a queue which is assigned to the outgoing channel indicated by the routing information of the switch header of the cell. At the same time, an ATM switch cell intended for an outgoing channel corresponding to the given incoming channel is read out of the switch, stripped of its switch header and passed to the outgoing channel. An STM cell from a given incoming channel is stored at an address indicative of the given incoming channel and, at the same time, a stored STM switch cell from another incoming channel indicated by the routing information of the incoming cell, is read out of the switch.

Description

20a8816 71493-40 COMMO~ MEMORY SWITCH FOR ROUTING DATA SIGNALS
This invention relates to a common memory data switch for routing data signals.
A primary goal in a digital communications network is to connect data sources with desired data destinations. To accomplish this goal, a signal travelling from a source generally must be routed through one or more network switches in order to reach a particular destination. One scheme for realising such network communications involves the creation of digital information cells in the network, each cell comprising a fixed number of bytes comprising a block of data and a header which provides an indication of the destination for the cell. The header of a cell is used by the network switches to appropriately route the cell.
Such cells may propagate asynchronously in the network leading to the designation of "asynchronous transfer mode" or ATM for this scheme.
One type of network switch which may be used in an ATM
network is a common memory switch. For example, U.S Patent No.
4,603,416 to Servel issued~July 29, 1986 discloses a common memory data switch for routing ATM cells. In Servel, the destination specified by a particular header is dependent upon the particular input channel, that is, a header is not uni~ue between channels.
Thus, an indication of the input channel, along with the header, is necessary to completely specify the destination for the cell and, hence, the output channel to which the cell is to be routed in any particular switch.
The switch of Servel has an input circuit coupled to each input channel which collects a serial cell (which may be either a~
2 ~ a ~ ~1 S~ !

information bearing cell or an idle cell) propagating along the channel. A multiplexer cyclically scans consecutive input circuits to port collected cells from consecutive circuits to a serial to parallel converter. Accordingly, during one cycle of the multiplexer, the converter outputs parallel cells from each input channel in consecutive order. The order of the cells leaving the converter during one cycle of operation thus indicates the input channel number of the cell. This implicit input channel number and the header of the cell are applied to a look-up table which returns a destination channel number and a new header for the cell.
The new header is married to the cell and the derived destination channel number is applied to the write enable inputs of a plurality of queues, one of which is assigned to each output channel, in order to write enable the queue assigned to the output channel represented by the destination channel number. The output of a cyclical local clock forms the data input of the queues and, thr,ough a multiplexer, also forms the write address input of a buffer memory whose data input is coupled to the output of the series to parallel converter. Consequently, the address of any cell stored in the buffer memory is also stored in a queue assigned to the output channel for which the cell is destined.
The queues assigned to the output channels are cyclically scanned so that they sequentially transmit read addresses to the buffer memory. This causes the buffer memory to output cells intended for consecutive output channels to a parallel to serial converter which ports the cell to the intended output channel by virtue of the position of the cell in the cycle.
While Servel discloses a system for the routing of AT~-2n5881 6 slgnals, his system wlll not handle slgnals havlng adlfferent format. Thus, Servel cannot handle synchronous transfer mode (STM) slgnals. By way of explanatlon, STM
signals are synchronous slgnals of a fixed length (generally one byte long) havlng no headers. That is, STM slgnals do not lnclude leadlng bytes lndlcating thelr destlnatlon;
lnstead the synchronous nature of these slgnals are explolted to permlt proper routlng of such slgnals, as wlll be explalned herelnafter. The sub~ect lnventlon seeks to overcome drawbacks present ln known data swltchlng systems.
Accordlng to the present lnventlon, there ls provlded a common memory switch for routing digital lnformatlon slgnals on a plurallty of swltch lnput channels to selected ones of a like plurality of switch output channels, sald slgnals comprlslng flxed length dlgltal data cells, each cell comprlslng elther an ATM cell or STM words, a header havlng routlng lnformatlon, and a flag whlch lndlcates the cell lncludes an ATM cell or STM words, said swltch comprlslng reception means coupled to a plurallty of swltch lnput channels for recelving cells on said switch lnput channels and for outputtlng recelved cells to cell handllng means, said cells being output one-by-one, transmlsslon means coupled to a plurallty of swltch output channels llke ln number to said plurallty of switch lnput channels and synchronlsed with sald receptlon means for recelvlng cells from sald cell handllng means, one-by-one, and for transmlttlng each recelved cell to a swltch output 91436-2/PBL/blc channel correspondlng wlth the swltch lnput channel from whlch sald receptlon means has last output a cell, sald cell header means comprlslng (1) header reader means coupled to the output of sald receptlon means for reading the header from each cell output by sald receptlon means, ~ll) flrst cell handllng means, lncludlng flrst common memory means havlng a data lnput responslve to the output of sald receptlon means, for storlng cells whlch comprlse ATM cells at memory addresses, a plurallty of queue means equal ln number to sald plurallty of swltch output channels, each of sald plurality of queue means asslgned to one of sald swltch output channels means responsive to said header reader means for, whenever the flag of the header of a given cell read by said header reader means indicates sald glven cell lncludes an ATM cell, (1) enabllng the one of sald plurallty of queue means whlch ls asslgned to the swltch output channel lndlcated by said routing information of the header of sald glven cell to store an indication of the memory address at which said given cell is stored and (2) interrogating the one of said plurality of queue means which is assigned to the switch output channel to whlch sald transmlsslon means wlll transmlt a cell for a memory address and for readlng from said first common memory means at said memory address, and (lll) second cell handllng means, lncludlng second common memory means havlng a data lnput responslve to the output of sald receptlon means for storing each cell whlch includes STM
words at a memory address indicative of the source swltch 91436-2/PBL/blc lnput channel of sald each cell, means responslve to sald header reader means when the flag of the header of a glven cell read by sald header reader means lndlcates sald glven cell ls a cell whlch lncludes STM words, for readlng from sald second common memory means at a memory address lndlcated by the routlng lnformatlon of the header of sald given cell to sald transmlsslon means.
In another aspect, the present lnventlon comprlses a common memory swltch for routlng dlgltal lnformatlon slgnals on a plurallty of swltch lnput channels to selected ones of a llke plurallty of swltch output channels, sald slgnals comprlslng flxed length dlgltal data cells, each cell comprlslng elther an ATM cell or STM words, each cell lncludlng a header havlng routlng lnformatlon and a flag whlch lndlcates the cell comprlses a collectlon of STM words or lncludes an ATM cell, comprlslng receptlon means coupled to a plurallty of swltch lnput channels for recelved cells on sald swltch lnput channels and for outputtlng recelved cells to cell handllng means, sald cells belng output one-by-one from consecutlve swltch lnput channels, transmlsslon means coupled to a plurallty of swltch output channels llke ln number to sald plurallty of swltch lnput channels and synchronlsed wlth sald receptlon means for recelvlng cells from sald cell handllng means, one-by-one, and for transmlttlng recelved cell to consecutlve swltch output channels, sald cell handllng means comprlslng (1) header reader means coupled to the output of sald receptlon means - 5a -91436-2/PBL/blc for readlng the header from each cell output by sald receptlon means, (11) ATM cell handllng means, lncluding ATM
common memory means havlng a data input responslve to the output of sald reception means, for storlng cells comprislng ATM cells at memory addresses, a plurality of queue means equal in number to said plurality of swltch output channels, each of said plurality of queue means assigned to one of said switch output channels, means responslve to sald header reader means for whenever the flag of the header of a given cell read by said header reader means indicates said glven cell ls a cell comprlslng an ATM cell (1) enabling the one of said plurality of queue means which is assigned to the switch output channel indlcated by sald routlng lnformatlon of the header of said given cell to store an lndlcatlon of the memory address at which sald given cell is stored and (2) interrogatlng the one of sald plurallty of queue means whlch ls asslgned to the swltch output channel to whlch sald transmlsslon means wlll next transmlt a cell for a memory address and for readlng from sald flrst common memory means at sald memory address, and (111) STM cell handllng means, lncludlng STM common memory means havlng a data lnput responslve to the output of sald receptlon means for storlng each cell comprlslng STM words at a memory address lndlcatlve of the source swltch lnput channel of sald each cell, means responslve to sald header reader means when the flag of the header of a glven cell read by sald header reader means lndlcates sald glven cell ls a cell lncludlng STM words for - 5b -91436-2/PBL/blc readlng ~rom said second common memory means at a memory address indlcated by the routing lnformatlon of the header of sald glven cell to sald transmlsslon means.
In another aspect, the present lnventlon comprlses a common memory swltch for routlng dlgltal lnformatlon slgnals on a plurallty of swltch lnput channels to selected ones of a llke plurallty of switch output channels, sald slgnals comprlslng flxed length dlgltal data cells comprlslng a collectlon of STM words or an ATM cell, each cell lncludlng a header havlng routlng lnformatlon and a flag whlch lndlcates the cell comprlses a collectlon of STM
words or an ATM cell, comprlslng receptlon means coupled to a plurallty of swltch lnput channels for recelved cells on sald swltch lnput channels and for outputtlng recelved cells to cell handling means, sald cells belng output one-by-one from consecutlve swltch lnput channels, transmlsslon means coupled to a plurallty of swltch output channels llke ln number to sald plurallty of swltch lnput channels and synchronlsed wlth sald receptlon means for recelvlng cells from sald cell handllng means, one-by-one, and for transmlttlng recelved cells to consecutlve swltch output channels, sald cell handllng means comprlslng (1) header reader means coupled to the output of sald receptlon means for readlng the header from each cell output by sald receptlon means, (11) flrst counter means for provldlng an lncremental count each tlme a cell ls output by sald receptlon means and for overflowlng at a count greater than the number of said plurallty of swltch - 5c -91436-2/PBL~blc input channels, (111) second counter means for provlding an incremental count each tlme a cell ls output by sald receptlon means and for overflowing at a count equal to the number of said plurality of switch output channels, (iv) ATM
cell handling means, includlng ATM common memory means havlng a data lnput coupled to said reception means for storing cells at memory addresses lndicated by said flrst counter means, a plurality of queue means, each of said plurality of queue means assigned to one of sald plurallty of swltch output channels, the data lnput of each of said plurality of queue means responsive to the count indlcated by sald flrst counter means and the data output of said plurality of queue means coupled to the write address input of said ATM common memory means, means responslve to said header reader means for whenever the flag of the header of a given cell read by said header reader means lndlcates sald glven cell ls an ATM
cell for write enabling the one of said plurallty of queue means asslgned to the swltch output channel lndlcated by the routing lnformatlon of the header of sald given cell read by said header reader means, reading means for readlng from the one of sald plurallty of queue means which is asslgned to the swltch output channel to whlch sald transmlsslon means wlll next send a cell ln order to address sald ATM common memory means for initiating read operations from said ATM common memory means to said transmission means, (v) STM cell handling means, including STM common memory means havlng a data lnput coupled to sald reception means, a wrlte address - 5d -91436-2~PBL/blc lnput coupled to sald second counter means for storlng each cell recelved at a memory address indicated by the count on sald second counter means, means responslve to sald header reader means when the flag of the header of a glven cell read by sald header reader means lndlcates sald glven cell ls a cell comprislng STM words, for readlng from sald STM common memory means at a memory address lndlcated by the routlng lnformatlon of the header of said glven cell to sald transmlsslon means.
In another aspect, the present lnventlon comprlses a common memory swltchlng system for routlng dlgltal lnformatlon slgnals on a plurallty of lncomlng channels to selected ones of a plurallty of outgolng channels, sald slgnals comprlslng flxed length dlgltal data cells, each cell comprlsing elther an ATM cell or STM words, sald swltchlng system comprlslng lncomlng ATM perlpheral means for generatlng swltch cells, comprlslng means for recelvlng an ATM cell, means for generatlng a swltch header lncludlng swltch routlng lnformatlon based on the header of the recelved ATM cell and a flag whlch indicates ATM lnformatlon, means for formlng a swltch cell from the received ATM cell and sald swltch header, lncomlng STM perlpheral means for generatlng swltch cells, comprlslng means for recelvlng and accumulatlng a predeflned number of STM words, means for generatlng a swltch header lncludlng swltch routlng lnformatlon based on a preprogrammed routlng lndlcation and a flag whlch lndlcates STM lnformatlon, means for formlng a - 5e -91436-2tPBL/blc swltch cell from the accumulated STM words and sald swltch header outgolng ATM perlpheral means for recelvlng a swltch cell comprislng an ATM cell and for strlpplng the swltch header therefrom and for outputting an ATM cell, outgolng STM perlpheral means for recelvlng a swltch cell comprlslng STM words, for strlpplng the swltch header therefrom and for outputtlng STM words, swltch means, comprlslng receptlon means coupled to a plurality of sald lncomlng ATM and STM perlpheral means for recelvlng cells from sald plurallty of lncomlng ATM or STM perlpheral means and for outputtlng recelved cells to swltch cell handllng means, sald cells belng output one-by-one, transmlsslon means coupled to a plurallty of outgolng ATM or STM perlpheral means llke ln number to sald plurallty of lncomlng ATM or STM
perlpheral means and synchronlsed wlth sald receptlon means for recelvlng cells from sald swltch cell handllng means, one-by-one, and for transmlttlng each recelved cell to an outgolng ATM or STM perlpheral means correspondlng wlth the lncomlng ATM or STM perlpheral means from whlch sald reception means has last output a cell, sald swltch cell handllng means comprlslng (1) header reader means coupled to the output of said receptlon means for readlng the header from each cell output by sald receptlon means, (11) flrst swltch cell handllng means, lncludlng flrst common memory means havlng a data lnput responslve to the output of sald receptlon means, for storlng cells whlch comprise an ATM cell at memory addresses, a plurallty of queue means equal ln - 5f -~1436-2/PBL/blc number to sald plurallty of outgolng ATM and STM perlpheral means, each of sald plurallty of queue means assigned to one of sald outgolng ATM or STM perlpheral means, means responslve to sald header reader means for, whenever the flag of the header of a glven swltch cell read by sald header reader means lndlcates sald glven switch cell includes an ATM
cell, (1) enabling the one of said plurality of queue means which is assigned to the switch output channel indicated by said routlng information of the header of said glven swltch cell to store an lndlcation of the memory address at which sald glven swltch cell ls stored and (2) lnterrogatlng the one of sald plurallty of queue means whlch ls asslgned to the outgolng ATM perlpheral means to whlch sald transmlsslon means wlll transmlt a cell for a memory address and for readlng from sald flrst common memory means at sald memory address, (iil) second swltch cell handling means, including:
second common memory means having a data lnput responsive to the output of sald receptlon means for storing each switch cell whlch lncludes STM words at a memory address indicative of the incoming STM peripheral means which was the source of the swltch cell, means responslve to sald header reader means when the flag of the header of a glven switch cell read by said header reader means indicates said given switch cell is a cell whlch lncludes STM words, for reading from said second common memory means at a memory address indicated by the routlng lnformatlon of the header of sald glven swltch cell to sald transmission means.
- 5g -gl436-2/PF3L/blc In another aspect, the present lnventlon comprlses a method of swltchlng ATM cells and STM words from a plurallty of lncomlng channels to selected ones of a llke plurality of outgoing channels, comprising the steps of, (a) accumulating a pre-deflned number of STM words lncomlng from a channel, (b) addlng a header to an accumulatlon of STM
words under step (a) to form a swltch cell, sald header comprlslng pre-defined routing information and an indicatlon that the cell comprlses STM words, (c) recelvlng an ATM cell incoming from a channel, (d) adding a header to an ATM cell recelved under step (c) to form a swltch cell, sald header comprlsing routing information and an lndlcatlon that the cell comprlses an ATM cell, (e) for each of sald plurallty of lnput channels, determlning a corresponding output channel, (f) presentlng swltch cells one-by-one ln an order such that the lncomlng channel from whlch each swltch cell orlglnates ls apparent, (g) where a presented swltch cell comprlses an ATM cell, (1) storlng sald presented swltch cell ln a flrst common memory means, (11) storlng the address for sald presented swltch cell ln a queue asslgned to an outgolng channel lndlcated by the routlng lnformatlon of the swltch header of sald presented swltch cell and (ill) transmltting to an outgolng channel correspondlng to the lncomlng channel from whlch sald presented cell originates, a swltch cell stored ln said flrst common memory means at an address indlcated by an entry in the queue assigned to sald correspondlng outgolng channel; and (h) where a presented - 5h -91436-2/PBL/blc swltch cell comprlses STM words, (1) storlng sald presented swltch cell ln a second common memory means at an address lndlcatlve of the incomlng channel from whlch sald presented cell orlglnates (11) transmlttlng to an outgolng channel correspondlng to the lncomlng channel from whlch sald presented cell orlglnates, a swltch cell stored ln sald second common memory means at an address lndlcated by the routlng lnformatlon of the swltch header of sald presented swltch cell.
In the flgures which descrlbe example embodiments of the invention, figure 1 is a schematic view of a known data switch for STM slgnals, flgure 2 ls a schematic view of a known data switch for ATM slgnals, flgure 3 is a schematic view of a switching system made in accordance with this invention, flgure 4 comprlses flgure 4a whlch is a schematlc vlew of an lnformatlon cell utilised in thls lnventlon and flgure 4b 91436-2/PBL/blc 2~a8~1~

which is a schematic view of a standard ATM cell.
figure 5 is a schematic view of a data switch made in accordance with this invention, and figure 6 is a schematic view of a portion of a switching system including another data switch made in accordance with this invention.
To facilitate an understanding of the common memory data switch of this invention (which permits switching of both STM and ATM signals), known STM and ATM common memory data switches are first described.
Figure 1 represents a known common memory switch for handling STM signals. Turning to figure 1, switch 10 comprises a plurality of switch input channels 12, coupled to a cyclical multiplexer 14. The multiplexer is coupled to the data input 20 of common memory 22 through data bus 16. Bus 32 is coupled between the data output 23 of the common memory and cyclical demultiplexer 34. The demultiplexer is coupled to a plurality of switch output channels 36 equal in number to the plurality of input channels.
On power-up of the switch, a channel counter 18 is initialised at "ln. The counter overflows after reaching a count equal to the number of switch input channels (and, therefore, output channels).
The counter inputs the write address 24 of the common memory 22 and the read address 26 of programmable storage means 28. The storage means is programmed by control signals on line 29 from a control processor ~not shown). The data output 30 of the storage means inputs the read address input 31 of the common memory. A system clock (not shown) provides clock signals to each of the multiplexer, data memory, demultiplexer, programmable storage-20~8~i~

means, and channel counter. The period between consecutive system clock pulses is referred to herein as a n time slot".
In operation, switch 10 receives fixed length serially propagating STM signals on input channels 12. For illustrative purposes, each STM signal is considered to be a data word one byte lon~. Multiplexing means 14 accumulates a word from each channel and then outputs parallel words from consecutive channels onto bus 16, outputting one parallel word in each time slot. The multiplexer then cyclically repeats this process. Counter 18 increments its count on each pulse from the system clock, and hence increments at the start of a time slot. Conse~uently, since the count starts at n 1 n and the counter overflows when it has counted the last channel, the count output by the counter is always representative of the originating channel of the word on the bus 16. For example, when, say, a parallel word from the third channel is placed on the bus, the current count of the counter is "3n. The current count on the counter 18 inputs the write address input 24 of the common memory 22 so that the word on bus 16 is written to the address indicated by the count on the counter. Thus, words are stored in memory 22 at addresses indicative of the switch input channel of the word.
The addresses of programmable storage means 28 represent each switch output channel number of the switch 10 and the data contents are programmed by a control processor with the number of an input channel at each such address. Thus the storage means 28 is a look-up table indicating the input channel that is to be connected to each output channel. The counter addresses the storage means so that the data stored in the storage means at the-~05~

address represented by the current count inputs the read address input of the common memory 22. In effect, the counter specifies a particular output channel number to the storage means and the storage means returns the input channel number that is to be connected to that output channel. Since the common memory stores words at addresses indicative of their input channel numbers, the common memory 22, in response to the read address from the storage means, outputs a word from the input channel which is to be connected to the output channel represented by the current count.
Furthermore, demultiplexer 34, which ports words output from the common memory 22 to consecutive output channels (after converting the words back to a serial format) is synchronised with the counter by reason of the system clock and appropriate initialisation.
Hence, the input channel words are effectively routed to output channels indicated by the storage means.
It should be noted that it is not possible for words from more than one input channel to bé directed to a single output channel since each output channel is only be associated with one input channel through the storage means 28; furthermore, this STM
switch cannot accommodate channels of different speeds.
Figure 2 illustrates a known switch for routing ATM
signals (which is similar to the aforereferenced switch to Servel).
Each signal is a cell which may be, for example, 64 bytes in length including two bytes of destination information; the header may, optionally, also include other information, such as priority. In figure 2, a plurality of switch input channels 42 input cyclical multiplexer 44 of s~itch 40 to bus 46. Bus 46 inputs data input 50 of common memory 52. Splitter 47 copies the header of any cell 2 ~ ~ 8 8 1 ~
71493-4~

on bus 46 to branch 46a which inputs router 58. A location counter 48 inputs the router 58 and the write address input 54 of the common memory 52. The router outputs to control FIFOs 59 which, in turn, output to cyclical multiplexer 60. The control FIFOs comprise a plurality of FI~O queues 68, one assigned to each output channel. The foot 69 of each queue is input from the router and the head 70 of each queue inputs multiplexer 60. In addition, the router inputs the write enable input of each queue (not shown).
The multiplexer 60 outputs to the read address input 61 of the memory 52. Bus 62 is coupled between the data output 63 of the memory and cyclical demultiplexer 64. The demultiplexer is also coupled to switch output channels 66; the number of output channels equals the number of input channels. Once again, the system clock (not shown) provides cloc~ pulses to each active element of the switch and the period between two clock pulses is again considered a time slot.
In operation, switch 40 receives serially propagating ATM
cells on input channels 42. Multiplexing means 44 accumulates a data cell (or an idle cel~l) fro~ each channel and then outputs parallel cells from consecutive channels onto bus 46 in response to clock pulses from the system clock, one cell being output during each time slot. It will therefore be noted that while the ATM
cells may propagate asynchronously outside of switch 40, the parallel ATM cells in the switch are handled synchronously. On power-up the count on counter 48 is initialised to "1" and the counter is configured to overflow after it has counted some number which is ~reater than the number of input channels (the number being chosen so that unread data in memory 52 is not overwritten, 2~a8~i~

for reasons which will become more apparent hereinafter). The counter increments in response to the system clock and the current count on the counter 48 inputs the write address input 54 of the memory 52 so that the cell on bus 46 is written to the address indicated by the count on the counter.
The header of each cell, which indicates the intended destination for the particular cell currently being stored in memory 52 (at an address represented by the current count), inputs router 58 on branch 46a. The router uses this destination information to write enable the queue assigned to the intended switch output channel so that such queue reads the current count into its foot. Accordingly, the queue assigned to a particular output channel holds data representing the addresses in memory 52 of cells intended for that particular output channel. By virtue of the system clock and appropriate initialisation, multiplexer 60 is synchronised with demultiplexer 64 so that multiplexer 60 reads a data item from the head of the Nth queue when the demultiplexer has connected the Nth output channel to bus 62. Consequently, when a data item is read from-~ queue by the multiplexer 60, the data item inputs the read address of memory 52 so that the memory outputs a cell to bus 62 which is intended for the output channel currently connected to the bus by the demultiplexer.
In the switch configuration of figure 2, cells from more than one input channel could be intended for a sinsle output channel. In such circumstances, if the counter overflowed after counting the number of input channels, a second entry in memory 52 intended for a particular output channel could be overwritten before it was read. It is for this reason that the counter~

2 ~

overflows only after counting a number greater than the number of input channels. The actual number selected for overflow will depend on the maximum anticipated rate of cells queuing for any one output channel.
Idle cells arriving at splitter 47/bus 46, 46a do not contain a valid destination address. One method is to write such idle cells to memory 52 at the write address currently pointed to by the location counter, but this address is not stored in any of the control FIFOs. The location counter is then not incremented, so that the next non-idle cell will overwrite the idle cell in memory 52.
On the output side, it may occur that a control FIFO is empty when MUX 60 is set to retrieve a Read address. In that case, an idle cell should be sent to the channel currently selected by Demux 64. One method of achieving this is to reserve a single location in memory 52 at an address not reached by the location counter (for example, address 0), and store an idle cell there at initialization time. Then, arrange the FI~O logic such that this value (example 0) is output by any FIFO which is empty. This will ensure that an idle cell appears an bus 62 when required.
Figure 3 illustrates a switching system 150 made in accordance with this invention. Referring to figure 3, the switching system comprises switch 80 and peripherals 152. The peripherals include ATM input peripherals 154 coupled between an incoming channel 162 from an ATM signal source/sink 164 and a switch input channel 82 and ATM output peripherals 158 coupled between a switch output channel 97 and an outgoing channel 166 to an ATM signal source/sink 164. Each ATM signal source/sin'~

2~588 1 ~

connected to an ATM input peripheral is also connected to an ATM
output peripheral such that the two peripherals are connected to corresponding switch input and output channels. Thus, for example, if an ATM input peripheral is connected to input channel N, the ATM
output peripheral coupled to the same ATM signal source/sink is connected to switch output channel N.
The peripherals further include STM input peripherals 156 coupled between an incoming channel 168 from an STM signal source/sink 170 and a switch input channel 82 and STM output peripherals 160 coupled between a switch output channel 97 and an outgoing channel 172 to an STM signal source/sink 170. Once again, the STM input peripherals and output peripherals form pairs each of which is coupled to one STM signal source/sink and such pairs are connected to corresponding switch input and output channels.
As will become apparent hereinafter, the conse~uence of this correspondence is that the switch 80 accepts a signal originating from a particular source/sink in the same time slot during which the switch transmits a signal to the particular source/sink. Each ATM signal source/sink 164 and STM signal source/sink i70 could be, for example, a piece of data communications equipment (DCE) or one channel from another switching system.
An ATM input peripheral comprises a splitter 174 which is connected between an incoming channel 162 and paths 176a and 176b. Path 176a terminates in header reader 178 and path 176b in one input of combiner 180. The header reader is coupled to look-up table and switch header generator 105 which is coupled to the other input of the combiner 180. The output of the combiner is connected to a switch input channel 82. An ATM output peripheral~

20S8&~

comprise5 a switch header remover coupled between a switch output channel 97 (correspondin~ to the switch input channel of the ATM
input peripheral coupled to the same ATM signal source/sink) and an outgoing channel 166.
An STM input peripheral comprises an accumulator 184 connected between an incoming channel 168 and an input of two input combiner 186 and a header generator 188 which receives an input from a connection processor (not shown) on path 190 and outputs to the other input of combiner 186. The combiner outputs to a switch input channel 82. An STM output peripheral comprises a header remover 190 coupled between a switch output channel 97 (corresponding to the switch input channel of the STM input peripheral coupled to the same STM signal source/sink) and the input of cell dismantler 192. The cell dismantler is connected to an outgoing channel 172.
With reference to figure 4 as well as figure 3, each ATM
input peripheral 154 receives ATM cells 143 illustrated in figure 4b. These ATM cells comprise a header 144, which includes a connection identifier that~indirectly indicates a destination for the cell and a block of data bytes 146. An ATM cell inputting a peripheral lS4 on an incoming channel 162 is copied by splitter 174 onto path 176a and 176b. ~eader reader 178 passes the header 144 from the incoming cell to the look-up table and switch header generator lOS which looks-up header routing bytes 136 (see figure 4a) for the cell and outputs a switch header 132 to combiner 180.
The switch header includes not only the routing bytes but also a flag byte 134 for indicating the cell is in the nature of an ATM
cell and an error checking byte 138. This switch header 132 is 20a~81~

then combined with the incoming cell in combiner 180 resulting in the modified cell 130 of figure 4a. This modified cell propagates to the switch on switch input channel 82. Header 144 of the incoming ATM cell indicates the destination for the cell; the look-up table translates header 144 to routing bytes for switch 80 which indicate (by number) the output channel of the switch to which the cell should be routed in order for it to propagate toward its intended destination. A modified ATM cell 130 leaving switch 80 on a channel 97 is stripped of its switch header 132 by switch header remover 182 of an ATM output peripheral 158 and the resulting outgoing ATM cell, again in the form of cell 143 of figure 4b, propagates along an outgoing channel 166.
Each STM input peripheral 156 receives STM signals, which may be STM bytes or words, on an incoming channel 168. Accumulator 184 accumulates the STM bytes until a sufficient number are received to make up a data block 140 of the cell 130 of figure 4a then the accumulated block is passed to combiner 186. Header generator 188 generates a header 132 which is also passed to the combiner 186 so as to form an STM cell, having the format of the cell of figure 4a, at the switch input. The header generated by header generator 188 includes a flag byte indicating the cell is in the nature of an STM cell as well as the router bytes which, as will be more apparent hereinafter, identify a switch input channel (by number) from which an STM cell is to be read out from the switch in the time slot in which the newly formed STM cell is read in. The routing bytes 136 are sent to the header generator 188 by a connection processor tnot shown) on path 190. As will become more apparent hereinafter, the connection processor therefore 20588~

controls the routing of STM signals through switch 80.
Header 132 of cell 130 (figure 4a) may be eight bytes long and, as noted, includes a flag byte 134 for indicating whether the cell is in the nature of an ATM cell or an STM cell, routing bytes 136, and an error checking byte 138. The information block 140 of the cell 130 may be fifty-four bytes long. Optionally, the input peripherals may add an error checking byte 142 to the information block of the cell.
Switch 80 is detailed in figure 5. Switch input channels 82 are coupled to a reception means which is a cyclical multiplexer 84. Multiplexer outputs to bus 86 which branches at splitter 88 into buses 86a, 86b, and 86c. Bus 86a inputs the data input 87 of STM common memory g0. The data output 89 of this memory is coupled to bus 92 which inputs combiner 94; the combiner inputs a transmission means, namely, cyclical demultiplexer 96 which is coupled to a plurality of switch output channels 97. Bus 86c inputs the data input 99 of ATM common memory 100. The data output 101 of this memory is coupled to the demultiplexer through bus 102 which inputs the combiner 94. 3ranch 86b of bus 86 inputs header reader 104 which outputs to controller 106. The controller outputs header information either to the write address input 109 of STM
common memory 90 on bus 108 or to router 110 on bus 112.
Additionally, the controller may output a signal on path 111 to the control input of two-position switch 113. Furthermore, the controller may output a disabling signal to ATM counter 114 on path 121 to permit the handling of idle cells, as will become apparent hereinafter.
ATM counter 114 outputs to the write address input 11 20ag~1~

of ATM common memory 100 on bus 115; in addition, the counter outputs to the router 110. The router outputs to the data input and the write enable input of a plurality of gueue means 116, one such queue means being assigned to each of the plurality of destination channels 97. The data output of each of the plurality of queue means outputs to a cyclical multiplexer 118 which, in turn, outputs to the read address input 119 of ATM common memory 100 on bus 120 through the data input of two position switch 113.
STM counter 122 outputs to the write address input 125 of STM common memory 90 on bus 124. As before, a system clock provides clock signals to all active elements with the period between adjacent pulses being considered a time slot.
Cells generally propagate serially outside of switching system 150 (of figure 3), however, the cells must be in parallel format in switch 80. Accordingly, multiplexer 84 may provide a serial to parallel conversion and demultiplexer 96 may provide a parallel to serial conversion in any convenient manner known to those skilled in the art.
In the operation of the switch of figure 5, the switch 80 receives serially propagating cells on switch input channels 82.
Multiplexing means 84 accumulates a data cell (or an idle cell) from each channel and then outputs parallel cells from consecutive channels onto bus 86 in response to clock pulses from the system clock, one cell being output during each time slot. During a time slot, a cell on bus 86 is split by splitter 88 so that the cell appears on each branch, 86a, 86b, and 86c of the bus 86. ATM
counter 114 and STM counter 122 are both initialised to a count of "1" on power-up. Both counters increment at the beginning of each 20~881 ~

71493-4~

time slot. ATM counter 114 is configured to overflow after it has counted some number which is greater than the number of input channels 82 and STM counter 122 is configured to overflow after counting the number of switch input channels. The cell on branch 86c is written to the ATM common memory at the address indicated by counter 114 since the counter inputs the write address input of the ATM common memory 100. The cell on branch 86a is written to the address of STM common memory 90 indicated by the count on STM
counter 122.
The count output by the STM counter 122 is always representative of the originating input channel 82 of the cell on the branch 86a since this counter overflows after reaching a count equal to the number of switch input channels. Thus, cells are stored in memory 90 at addresses indicative of the originating channel of the cell, and, hence, the source STM input peripheral, and STM signal source/sink, for the cell. There is no such correlation in respect of cells stored in the ATM common memory 100.
Header reader 104 reads the switch header 132 (see figure 4a) from the cell on branch 86b and passes the header to the controller 106. Controller 106 interrogates flag byte 134 of the header to determine whether the cell is in the nature of an ATM
cell or an STM cell. If the cell is an ATM cell the routing bytes are passed to router 110 on bus 112. The router uses the routing bytes to write enable the queue means 116 assigned to the indicated switch output channel so that such queue means reads the current count into its foot. Accordingly, the queue means assigned to a particular output channel holds data representing the addresses in 20a-8~1~

memory 1~0 of ATM cells intended for that particular switch output channel. Given an ATM cell, the controller also passes a control signal on path 111 which closes switch 113 thus allowing any signal on bus 120 to input the read address input of common memory 100.
By virtue of the system clock and appropriate initialisation, multiplexer 118 is synchronised with demultiplexer 96 so that multiplexer 118 reads a data item from the head of the Nth queue when the demultiplexer has connected the Nth output channel to bus 102. Consequently, when a data item is read from a queue by the multiplexer 118, the data item inputs the read address of memory 100 so that the memory outputs a cell to bus 102 which is intended for the output channel currently connected to the bus by the demultiplexer.
Recall that, in the case of an STM cell, the routing bytes indicate a switch input channel number and, further, that each switch input channel is represented by a location in the STM
common memory. If the current cell on the bus 86 is an STM cell, the controller opens switch 113 which blocks the multiplexer 118 from initiating a read operation from the ATM common memory 100.
The routing bytes 136 of the header are then passed directly to the read address of common memory 90 on bus 108. This results in the read out of an STM cell from memory 90 which cell originated from the switch input channel indicated by the routin~ bytes. Thus the routing bytes, in effect, identify an STM input peripheral (and hence an STM signal source/sink) from which an STM cell, previously stored in the switch common memory, is to be read out in the time slot in which the newly formed STM cell (which provided the routing bytes) is read in.

2~8~

In the switch of figure 5, both common memories store all cells input to the switch even though only cells of one type are read out from each. The switch of figure 5 could be modified so that only STM cells are stored in the STM common memory and only ATM cells are stored in the ATM common memory, as follows.
Controller 106 could disable STM common memory 90 from writing a cell to memory whenever the cell was an ATM cell; the controller would not, however, interfere with the incrementing of STM counter 122. Furthermore, controller 106 could disable ATM common memory 100 from writing a cell to memory whenever the cell was an STM cell and, additionally, block ATM counter 114 from incrementing in such instances.
The switch of figure 5 could be further modified to function with only a single common memory. In such case, the first portion of the memory could be reserved for STM cells and the STM
counter would address such portion of the memory. The remainder of the memory could be addressed by the ATM counter by simply adding a constant to the count output by the ATM counter before the memory is addressed.
Prior to two signal source/sinks establishing two-way communications, it is necessary for the two to ensure both are free to communicate. Suitable means of accomplishing this are well known to those skilled in the art and are therefore not detailed.
Figure 6 illustrates a portion of a modified switching system including a modified switch 280 made in accordance with this invention which may accommodate STM cells propagating at harmonically related rates. Switch 280 may be used in place of switch 80 in the switching system of figure 3 when the informatio~n 205881~

content of the headers of STM cells is modified as follows. ~or use with switch 280, the routing bytes 136 (figure 4) of the header of each STM cell identify the source channel 282 for the cell as well as the source channel 282 from which another STM cell is to be read out fro~ the switch in the time slot in which the first mentioned STM cell is read in. Switch 280 is similar to switch 80 of figure 3 and, accordingly, like parts have been designated with like reference numerals. Switch 280 has no STM counter. In the example embodiment of figure 6, one of the switch input channels 82a is coupled to the output of cyclical multiplexer 284; the input of multiplexer 284 is coupled to two source channels 282. A
corresponding switch output channel 97a is connected to the input of cyclical demultiplexer 296; the output of the demultiplexer is connected to two destination channels 297. Controller 206 of switch 180 is connected in the same manner as in switch 80 of figure 3, however, this controller functions somewhat differently, as follows.
In the operation of switch 280 of figure 6, source channels 282 which are ~witch input channels 82, carry cells propagating at a primary channel rate. The two source channels coupled to an input port through multiplexer 184 are intended for STM cells and carry STM cells propagating at a rate which is one-half the primary channel rate. Multiplexer 184 multiplexes these two channels so as to provide a stream of cells at the primary channel rate to switch input channel 82a. Incoming cells are split by splitter 88 and appear on buses 86a, 86b, and 86c. ATM cells are handled by switch 180 in the manner as described in connection with switch 80 of figure 5 when modified so that ATM cells are only 20a881~

stored in the ATM common memory and STM cells are only stored in the STM common memory. (This is for the reason that, absent the STM counter, there is no address input to the STM memory when an ATM cell is received and so no way to store ATM cells in the STM
common memory.) In the case of an incoming STM cell, the header inputting controller 206 through header reader 104 includes an identifier of the source channel 282 for the cell which identifier is passed to STM common memory 90 on path 108 as the write address for the STM cell on bus 86a. In this way, an STM cell is stored at an address in the STM common memory indicative of its source channel 282. The controller also isolates from the STM header the indication of the source channel 282 from which a cell is to be read in the current time slot and passes this indication to the read address input for the STM common memory 90 on path 108.
Since cyclical multiplexer 84 reads from each switch input channel once each cycle, a cell from one of the two source channels 282 coupled to multiplexer 184 is read into the switch during a given cycle and a cell from the other of the two source channels coupled to multiplexer 184 is read into the switch during the next cycle. Similarly, due to the synchronisation of multiplexer 84 with demultiplexer 96, in a given cycle, a cell is transmitted to the destination channel 297 connected to demultiplexer 296 which corresponds with the source channel 282 from which a cell was read during that cycle.
Where there are N channels supplying STM cells at a rate of l/N of the primary channel rate, such channels may be accommodated by replacing the two channel multiplexer 284 and demultiplexer 296 with N channel devices, as will be apparent to - 20~81~

one skilled in the art. Of course, the switch 280 of figure 6 may also be employed without multiplexer 284 and demultiplexer 296 where all source STM channels supply cells at the primary switching rate.
It will be noted that, with the switch of figure 6, STM
cells from more than one switch input channel could be directed to the same output channel.
An appropriate manner for the handling of idle ATM cells in the switch of figure 5 or 6 will be apparent to those skilled in the art. For example, if an incoming cell is an idle ATM cell, the ATM counter may be temporarily disabled by a disabling signal on path 121 from the controller so that the cell is not written to the ATM common memory and the ATM counter is not incremented. If a queue for a particular output channel is empty, an idle cell may be created for that channel either directly on the bus 102 or by reading a prestored (initialized) idle cell from memory 100. Idle ST~ cells are handled by routing same through the figure 5 or figure 6 switch.
The links of a data communications network may be optical. This permits the transfer of data between switches at a much greater rate than the speed of data to and from a single device in the network. Thus the optical links between switches may transfer data from a great number of devices in a multiplexed fashion. One standard for such data transfer is known as the SONET
standard (Synchronous Optical Network) by way of which cells from numerous channels headed from one switch to another may be formatted and multiplexed for a synchronous transfer. The present invention is suited to inter-switch transfers utilising the SONET

- 20~8~i~

standard. Of course, further switch peripherals would be necessary to break the SONET format down so that ATM and STM cells appear at the inputs to the switching system of figure 3 and other peripherals would be needed to reconstitute the SONET format at the outputs to the switching system of figure 3.
Other modifications within the spirit of this invention will be apparent to those skilled in the art, accordingly, the invention is defined in the claims.

Claims (10)

1. A common memory switch for routing digital information signals on a plurality of switch input channels to selected ones of a like plurality of switch output channels, said signals comprising fixed length digital data cells, each cell comprising either an ATM cell or STM words, a header having routing information, and a flag which indicates the cell includes an ATM cell or STM words, said switch comprising:
reception means coupled to a plurality of switch input channels for receiving cells on said switch input channels and for outputting received cells to cell handling means, said cells being output one-by-one;
transmission means coupled to a plurality of switch output channels like in number to said plurality of switch input channels and synchronised with said reception means for receiving cells from said cell handling means, one-by-one, and for transmitting each received cell to a switch output channel corresponding with the switch input channel from which said reception means has last output a cell;
said cell header means comprising (i) header reader means coupled to the output of said reception means for reading the header from each cell output by said reception means;
(ii) first cell handling means, including:
first common memory means having a data input responsive to the output of said reception means, for storing cells which comprise ATM cells at memory addresses;
a plurality of queue means equal in number to said plurality of switch output channels, each of said plurality of queue means assigned to one of said switch output channels;
means responsive to said header reader means for, whenever the flag of the header of a given cell read by said header reader means indicates said given cell includes an ATM
cell, (1) enabling the one of said plurality of queue means which is assigned to the switch output channel indicated by said routing information of the header of said given cell to store an indication of the memory address at which said given cell is stored and (2) interrogating the one of said plurality of queue means which is assigned to the switch output channel to which said transmission means will transmit a cell for a memory address and for reading from said first common memory means at said memory address; and (iii) second cell handling means, including:
second common memory means having a data input responsive to the output of said reception means for storing each cell which includes STM words at a memory address indicative of the source switch input channel of said each cell;
means responsive to said header reader means when the flag of the header of a given cell read by said header reader means indicates said given cell is a cell which includes STM
words, for reading from said second common memory means at a memory address indicated by the routing information of the header of said given cell to said transmission means.
2. The common memory switch of claim 1 including a counter for providing an incremental count each time a cell is output by said reception means, for overflowing at a count greater than the number of said plurality of switch input channels and for sending an indication of its current count to the write address of said first common memory means so that cells are stored at the memory addresses indicated by said counter and wherein said counter is also for sending an indication of the current count to said means responsive to said header reader means in order that said means responsive to said header reader means may cause an indication of the current count to be stored in the one of said plurality of queue means assigned to the switch output channel indicated by said routing information of said header.
3. The common memory switch of claim 2 further including a second counter for providing an incremental count each time a cell is output by said reception means, for overflowing at a count equal to the number of said plurality of switch output channels and for sending an indication of its current count to the write address of said second common memory means so that cells are stored at the memory addresses indicated by said second counter and wherein said second counter overflows after counting a number equal to said plurality of switch input channels.
4. The common memory switch of claim 2 wherein the header of a cell, in the case of cells comprising STM words, includes an indication of the source of the cell and including means responsive to the header of a cell comprising STM words for enabling said second common memory means to store such cell at a memory location indicative of the source of such cell comprising STM words.
5. The common memory switch of claim 2 wherein said first common memory means and said second common memory means comprise a single partitioned memory.
6. The common memory switch of claim 1 wherein said reception means includes serial to parallel conversion means for converting incoming cells to parallel format and wherein said transmission means includes parallel to serial conversion means for converting outgoing cells to serial format.
7. A common memory switch for routing digital information signals on a plurality of switch input channels to selected ones of a like plurality of switch output channels, said signals comprising fixed length digital data cells, each cell comprising either an ATM cell or STM words, each cell including a header having routing information and a flag which indicates the cell comprises a collection of STM words or includes an ATM cell, comprising:
reception means coupled to a plurality of switch input channels for received cells on said switch input channels and for outputting received cells to cell handling means, said cells being output one-by-one from consecutive switch input channels;
transmission means coupled to a plurality of switch output channels like in number to said plurality of switch input channels and synchronised with said reception means for receiving cells from said cell handling means, one-by-one, and for transmitting received cell to consecutive switch output channels;
said cell handling means comprising (i) header reader means coupled to the output of said reception means for reading the header from each cell output by said reception means;
(ii) ATM cell handling means, including:
ATM common memory means having a data input responsive to the output of said reception means, for storing cells comprising ATM cells at memory addresses;
a plurality of queue means equal in number to said plurality of switch output channels, each of said plurality of queue means assigned to one of said switch output channels;
means responsive to said header reader means for whenever the flag of the header of a given cell read by said header reader means indicates said given cell is a cell comprising an ATM cell (1) enabling the one of said plurality of queue means which is assigned to the switch output channel indicated by said routing information of the header of said given cell to store an indication of the memory address at which said given cell is stored and (2) interrogating the one of said plurality of queue means which is assigned to the switch output channel to which said transmission means will next transmit a cell for a memory address and for reading from said first common memory means at said memory address;
and (iii) STM cell handling means, including:
STM common memory means having a data input responsive to the output of said reception means for storing each cell comprising STM words at a memory address indicative of the source switch input channel of said each cell;
means responsive to said header reader means when the flag of the header of a given cell read by said header reader means indicates said given cell is a cell including STM words for reading from said second common memory means at a memory address indicated by the routing information of the header of said given cell to said transmission means.
8. A common memory switch for routing digital information signals on a plurality of switch input channels to selected ones of a like plurality of switch output channels, said signals comprising fixed length digital data cells comprising a collection of STM words or an ATM cell, each cell including a header having routing information and a flag which indicates the cell comprises a collection of STM words or an ATM cell, comprising:
reception means coupled to a plurality of switch input channels for received cells on said switch input channels and for outputting received cells to cell handling means, said cells being output one-by-one from consecutive switch input channels;
transmission means coupled to a plurality of switch output channels like in number to said plurality of switch input channels and synchronised with said reception means for receiving cells from said cell handling means, one-by-one, and for transmitting received cells to consecutive switch output channels;
said cell handling means comprising (i) header reader means coupled to the output of said reception means for reading the header from each cell output by said reception means;
(ii) first counter means for providing an incremental count each time a cell is output by said reception means and for overflowing at a count greater than the number of said plurality of switch input channels;
(iii) second counter means for providing an incremental count each time a cell is output by said reception means and for overflowing at a count equal to the number of said plurality of switch output channels;
(iv) ATM cell handling means, including:
ATM common memory means having a data input coupled to said reception means for storing cells at memory addresses indicated by said first counter means;
a plurality of queue means, each of said plurality of queue means assigned to one of said plurality of switch output channels, the data input of each of said plurality of queue means responsive to the count indicated by said first counter means and the data output of said plurality of queue means coupled to the write address input of said ATM common memory means;
means responsive to said header reader means for whenever the flag of the header of a given cell read by said header reader means indicates said given cell is an ATM cell for write enabling the one of said plurality of queue means assigned to the switch output channel indicated by the routing information of the header of said given cell read by said header reader means;
reading means for reading from the one of said plurality of queue means which is assigned to the switch output channel to which said transmission means will next send a cell in order to address said ATM common memory means for initiating read operations from said ATM common memory means to said transmission means;
(v) STM cell handling means, including:
STM common memory means having a data input coupled to said reception means, a write address input coupled to said second counter means for storing each cell received at a memory address indicated by the count on said second counter means;
means responsive to said header reader means when the flag of the header of a given cell read by said header reader means indicates said given cell is a cell comprising STM
words, for reading from said STM common memory means at a memory address indicated by the routing information of the header of said given cell to said transmission means.
9. A common memory switching system for routing digital information signals on a plurality of incoming channels to selected ones of a plurality of outgoing channels, said signals comprising fixed length digital data cells, each cell comprising either an ATM cell or STM words, said switching system comprising:
incoming ATM peripheral means for generating switch cells, comprising:
means for receiving an ATM cell;
means for generating a switch header including switch routing information based on the header of the received ATM
cell and a flag which indicates ATM information;
means for forming a switch cell from the received ATM
cell and said switch header;
incoming STM peripheral means for generating switch cells, comprising:
means for receiving and accumulating a predefined number of STM words;
means for generating a switch header including switch routing information based on a preprogrammed routing indication and a flag which indicates STM information;
means for forming a switch cell from the accumulated STM
words and said switch header;
outgoing ATM peripheral means for receiving a switch cell comprising an ATM cell and for stripping the switch header therefrom and for outputting an ATM cell;
outgoing STM peripheral means for receiving a switch cell comprising STM words, for stripping the switch header therefrom and for outputting STM words;
switch means, comprising, reception means coupled to a plurality of said incoming ATM and STM peripheral means for receiving cells from said plurality of incoming ATM or STM peripheral means and for outputting received cells to switch cell handling means, said cells being output one-by-one;
transmission means coupled to a plurality of outgoing ATM or STM peripheral means like in number to said plurality of incoming ATM or STM peripheral means and synchronised with said reception means for receiving cells from said switch cell handling means, one-by-one, and for transmitting each received cell to an outgoing ATM or STM peripheral means corresponding with the incoming ATM or STM peripheral means from which said reception means has last output a cell;
said switch cell handling means comprising (i) header reader means coupled to the output of said reception means for reading the header from each cell output by said reception means;
(ii) first switch cell handling means, including:
first common memory means having a data input responsive to the output of said reception means, for storing cells which comprise an ATM cell at memory addresses;
a plurality of queue means equal in number to said plurality of outgoing ATM and STM peripheral means, each of said plurality of queue means assigned to one of said outgoing ATM or STM peripheral means;
means responsive to said header reader means for, whenever the flag of the header of a given switch cell read by said header reader means indicates said given switch cell includes an ATM cell, (1) enabling the one of said plurality of queue means which is assigned to the switch output channel indicated by said routing information of the header of said given switch cell to store an indication of the memory address at which said given switch cell is stored and (2) interrogating the one of said plurality of queue means which is assigned to the outgoing ATM peripheral means to which said transmission means will transmit a cell for a memory address and for reading from said first common memory means at said memory address;
(iii) second switch cell handling means, including:
second common memory means having a data input responsive to the output of said reception means for storing each switch cell which includes STM words at a memory address indicative of the incoming STM peripheral means which was the source of the switch cell;
means responsive to said header reader means when the flag of the header of a given switch cell read by said header reader means indicates said given switch cell is a cell which includes STM words, for reading from said second common memory means at a memory address indicated by the routing information of the header of said given switch cell to said transmission means.
10. A method of switching ATM cells and STM words from a plurality of incoming channels to selected ones of a like plurality of outgoing channels, comprising the steps of:
(a) accumulating a pre-defined number of STM words incoming from a channel;
(b) adding a header to an accumulation of STM words under step (a) to form a switch cell, said header comprising pre-defined routing information and an indication that the cell comprises STM words;
(c) receiving an ATM cell incoming from a channel;
(d) adding a header to an ATM cell received under step (c) to form a switch cell, said header comprising routing information and an indication that the cell comprises an ATM
cell;
(e) for each of said plurality of input channels, determining a corresponding output channel;
(f) presenting switch cells one-by-one in an order such that the incoming channel from which each switch cell originates is apparent;
(g) where a presented switch cell comprises an ATM
cell, (i) storing said presented switch cell in a first common memory means, (ii) storing the address for said presented switch cell in a queue assigned to an outgoing channel indicated by the routing information of the switch header of said presented switch cell and (iii) transmitting to an outgoing channel corresponding to the incoming channel from which said presented cell originates, a switch cell stored in said first common memory means at an address indicated by an entry in the queue assigned to said corresponding outgoing channel; and (h) where a presented switch cell comprises STM words, (i) storing said presented switch cell in a second common memory means at an address indicative of the incoming channel from which said presented cell originates (ii) transmitting to an outgoing channel corresponding to the incoming channel from which said presented cell originates, a switch cell stored in said second common memory means at an address indicated by the routing information of the switch header of said presented switch cell.
CA002058816A 1991-01-11 1992-01-06 Common memory switch for routing data signals Expired - Fee Related CA2058816C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/638,872 US5144619A (en) 1991-01-11 1991-01-11 Common memory switch for routing data signals comprising ATM and STM cells
US07/638,872 1991-01-11

Publications (2)

Publication Number Publication Date
CA2058816A1 CA2058816A1 (en) 1992-07-12
CA2058816C true CA2058816C (en) 1998-05-05

Family

ID=24561803

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002058816A Expired - Fee Related CA2058816C (en) 1991-01-11 1992-01-06 Common memory switch for routing data signals

Country Status (3)

Country Link
US (1) US5144619A (en)
JP (1) JP2686872B2 (en)
CA (1) CA2058816C (en)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0468498B1 (en) * 1990-07-26 1998-09-30 Nec Corporation Routing system capable of effectively processing routing information
GB2254980B (en) * 1991-04-16 1995-03-08 Roke Manor Research Improvements in or relating to multicast server apparatus
EP0519563A3 (en) * 1991-06-21 1997-08-27 Koninkl Philips Electronics Nv System for converting synchronous time-division-multiplex signals into asynchronous time-division data packets
EP0528085A1 (en) * 1991-08-19 1993-02-24 Siemens Aktiengesellschaft Communications network for ATM and STM switching
JP2571655B2 (en) * 1991-11-27 1997-01-16 インターナショナル・ビジネス・マシーンズ・コーポレイション Protocol conversion mechanism, switching network and computer system
JPH05244187A (en) * 1992-02-14 1993-09-21 Nippon Telegr & Teleph Corp <Ntt> Intra-device monitoring method
US5357510A (en) * 1992-02-19 1994-10-18 Fujitsu Limited Apparatus and a method for supervising and controlling ATM traffic
JP3064650B2 (en) * 1992-03-27 2000-07-12 株式会社日立製作所 Broadcast communication device
DE59310324D1 (en) * 1992-04-24 2003-02-13 Siemens Ag Method for monitoring virtual connections within a digital telecommunications network
EP0597205B1 (en) * 1992-09-07 2003-04-09 Hitachi, Ltd. Multiprocessor system and method of communication among processors
SE515274C2 (en) * 1992-11-09 2001-07-09 Ericsson Telefon Ab L M Package selector for telecommunication system
SE515275C2 (en) * 1992-12-14 2001-07-09 Ericsson Telefon Ab L M packet data network
US5546391A (en) * 1993-03-04 1996-08-13 International Business Machines Corporation Central shared queue based time multiplexed packet switch with deadlock avoidance
JPH06276214A (en) * 1993-03-18 1994-09-30 Hitachi Ltd Stm/atm signal mixture processing method and switching system
JP3124647B2 (en) * 1993-03-19 2001-01-15 富士通株式会社 Frame relay module control method
EP0637182A3 (en) * 1993-07-30 1995-11-29 At & T Corp A self-routing optical communication node using Sagnac gates.
US5377182A (en) * 1993-08-18 1994-12-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Non-blocking crossbar permutation engine with constant routing latency
US5390184A (en) * 1993-09-30 1995-02-14 Northern Telecom Limited Flexible scheduling mechanism for ATM switches
US5457684A (en) * 1993-12-21 1995-10-10 At&T Ipm Corp. Delay-less signal processing arrangement for use in an ATM network
US5428609A (en) * 1994-01-03 1995-06-27 At&T Corp. STM-to-ATM converters
US5452293A (en) * 1994-01-27 1995-09-19 Dsc Communications Corporation Apparatus and method of transmitting call information prior to establishing a connection path
US5528592A (en) * 1994-01-27 1996-06-18 Dsc Communications Corporation Method and apparatus for route processing asynchronous transfer mode cells
US5453979A (en) * 1994-01-27 1995-09-26 Dsc Communications Corporation Method and apparatus for generating route information for asynchronous transfer mode cell processing
CA2143495A1 (en) * 1994-03-21 1995-09-22 Rasoul M. Oskouy Method and apparatus for reordering incoming interleaved asynchronous transfer mode cells
US6151301A (en) * 1995-05-11 2000-11-21 Pmc-Sierra, Inc. ATM architecture and switching element
US5583861A (en) * 1994-04-28 1996-12-10 Integrated Telecom Technology ATM switching element and method having independently accessible cell memories
US5475682A (en) * 1994-06-10 1995-12-12 At&T Corp. Method of regulating backpressure traffic in a packet switched network
GB2293292B (en) * 1994-09-14 1998-12-02 Northern Telecom Ltd Hybrid cross connect
US5570355A (en) * 1994-11-17 1996-10-29 Lucent Technologies Inc. Method and apparatus enabling synchronous transfer mode and packet mode access for multiple services on a broadband communication network
US5483527A (en) * 1994-12-21 1996-01-09 At&T Corp. Terminal adapter for interfacing an ATM network with a STM network
US6324179B1 (en) 1994-12-21 2001-11-27 Lucent Technologies Inc. ATM network arranged to interface with STM in-band signaling
US5768273A (en) * 1995-04-05 1998-06-16 International Business Machines Corporation Method and apparatus for priority level queueing in processing ATM cell header and payload
FR2732789B1 (en) * 1995-04-07 1997-06-06 Sextant Avionique METHOD AND DEVICE FOR COMMUNICATING BETWEEN A PLURALITY OF TERMINALS, COMPATIBLE WITH THE ARINC 629 STANDARD.
US6188692B1 (en) * 1995-05-11 2001-02-13 Pmc-Sierra Ltd. Integrated user network interface device for interfacing between a sonet network and an ATM network
US5841771A (en) * 1995-07-07 1998-11-24 Northern Telecom Limited Telecommunications switch apparatus and method for time switching
EP1052813A1 (en) * 1995-07-07 2000-11-15 Nortel Networks Limited Telecommunications apparatus and method
US5862136A (en) * 1995-07-07 1999-01-19 Northern Telecom Limited Telecommunications apparatus and method
DE19534754C1 (en) * 1995-09-19 1996-11-07 Siemens Ag Narrowband cable bundle exchange method
US5680425A (en) * 1995-09-28 1997-10-21 Micron Technology, Inc. Self-queuing serial output port
DE59510586D1 (en) 1995-12-21 2003-04-17 Siemens Ag Method for forming routing information in an ATM communication network
US7099316B1 (en) * 1996-02-29 2006-08-29 Tomich John L Photonic home area network
US6081519A (en) * 1996-03-25 2000-06-27 Next Level Communications In-home communication system
JPH09284344A (en) * 1996-04-11 1997-10-31 Fujitsu Ltd Atm/stm coexisting network system
US6041051A (en) * 1996-06-14 2000-03-21 Lucent Technologies, Inc. Method and apparatus enabling multiple access for multiple services and multiple transmission modes over a broadband communication network utilizing an adaptive digital access protocol
US5940415A (en) * 1996-09-17 1999-08-17 Lucent Technologies Inc. Error tolerant addressing system and method for noisy ATM links
US5953330A (en) * 1997-03-24 1999-09-14 Lucent Technologies Inc. Communication switch
US6016315A (en) * 1997-04-30 2000-01-18 Vlsi Technology, Inc. Virtual contiguous FIFO for combining multiple data packets into a single contiguous stream
KR100290999B1 (en) 1997-06-11 2001-07-12 윤종용 Atm(asynchronous transfer mode)switching device and method for voice service
US6157657A (en) 1997-10-02 2000-12-05 Alcatel Usa Sourcing, L.P. System and method for data bus interface
US6259699B1 (en) * 1997-12-30 2001-07-10 Nexabit Networks, Llc System architecture for and method of processing packets and/or cells in a common switch
US7162730B1 (en) 1998-01-07 2007-01-09 Honeywell International, Inc. Information communication systems
US6167041A (en) * 1998-03-17 2000-12-26 Afanador; J. Abraham Switch with flexible link list manager for handling ATM and STM traffic
US6028867A (en) * 1998-06-15 2000-02-22 Covad Communications Group, Inc. System, method, and network for providing high speed remote access from any location connected by a local loop to a central office
JP2000013387A (en) 1998-06-22 2000-01-14 Fujitsu Ltd Synchronous communication network transmitter provided with exchange function of asynchronous communication network
SE513509C2 (en) * 1998-10-07 2000-09-25 Net Insight Ab Device for routing data packets in a DTM network
KR20000044353A (en) * 1998-12-30 2000-07-15 윤종용 Switch port unifying apparatus of asynchronous transfer mode exchange
US6853647B1 (en) 1999-02-17 2005-02-08 Covad Communications Group, Inc. System method and network for providing high speed remote access from any location connected by a local loop to a central office
AU3529500A (en) * 1999-03-17 2000-10-04 Broadcom Corporation Network switch
US7643481B2 (en) * 1999-03-17 2010-01-05 Broadcom Corporation Network switch having a programmable counter
WO2000074315A1 (en) * 1999-05-28 2000-12-07 Fujitsu Limited Message write device, message write method, message read device, message read method, memory address control circuit for write of variable length message, and memory address control circuit for read of variable length message
GB2358764B (en) * 2000-01-28 2004-06-30 Vegastream Ltd Casualty-based memory access ordering in a multriprocessing environment
US6667954B1 (en) 2000-02-10 2003-12-23 Tellabs Operations, Inc. Methods and apparatus for selecting the better cell from redundant streams within a cell-oriented environment
US6778561B1 (en) 2000-02-23 2004-08-17 Cypress Semiconductor Corp. Hybrid data transport scheme over optical networks
US6973084B1 (en) 2000-02-23 2005-12-06 Cypress Semiconductor Corp. Hybrid data transport scheme over optical networks
US6999479B1 (en) 2000-02-23 2006-02-14 Cypress Semiconductor Corp. Hybrid data transport scheme over optical networks
US7006525B1 (en) 2000-02-23 2006-02-28 Cypress Semiconductor Corp. Hybrid data transport scheme over optical networks
US6847644B1 (en) 2000-02-23 2005-01-25 Cypress Semiconductor Corp. Hybrid data transport scheme over optical networks
US6965603B1 (en) 2000-03-20 2005-11-15 Cortina Systems, Inc. Circuits for combining ATM and packet data on an optical fiber
US6810039B1 (en) 2000-03-30 2004-10-26 Azanda Network Devices, Inc. Processor-based architecture for facilitating integrated data transfer between both atm and packet traffic with a packet bus or packet link, including bidirectional atm-to-packet functionally for atm traffic
US6751214B1 (en) 2000-03-30 2004-06-15 Azanda Network Devices, Inc. Methods and apparatus for dynamically allocating bandwidth between ATM cells and packets
US6751224B1 (en) 2000-03-30 2004-06-15 Azanda Network Devices, Inc. Integrated ATM/packet segmentation-and-reassembly engine for handling both packet and ATM input data and for outputting both ATM and packet data
US7012895B1 (en) 2000-11-17 2006-03-14 University Of Kentucky Research Foundation Packet-switching network with symmetrical topology and method of routing packets
US7301956B2 (en) * 2001-05-10 2007-11-27 Brocade Communications Systems, Inc. System and method for storing and retrieving multi-speed data streams within a network switch
DE10122422A1 (en) 2001-05-09 2002-11-21 Siemens Ag Method for adjusting bandwidth in a connection between two communications terminals in a data network allocates a transmission channel to the connection for transmitting data.
US20020191621A1 (en) * 2001-06-14 2002-12-19 Cypress Semiconductor Corp. Programmable protocol processing engine for network packet devices
US20020194363A1 (en) * 2001-06-14 2002-12-19 Cypress Semiconductor Corp. Programmable protocol processing engine for network packet devices
US6966009B1 (en) 2001-08-28 2005-11-15 Tellabs Operations, Inc. System and method for aligning data in a network environment
ATE352150T1 (en) * 2001-08-30 2007-02-15 Tellabs Operations Inc SYSTEM AND METHOD FOR TRANSMITTING DATA USING A COMMON SWITCHING FIELD
US7206287B2 (en) * 2001-12-26 2007-04-17 Alcatel Canada Inc. Method and system for isolation of a fault location in a communications device
US7394806B2 (en) * 2002-04-11 2008-07-01 Nortel Networks Limited Distributed space-time-space switch
DE10219854B4 (en) * 2002-05-03 2007-12-27 Infineon Technologies Ag Layer interface and method for exchanging data about it
CN101610242A (en) * 2008-06-16 2009-12-23 华为技术有限公司 The signal processing method of multi-protocol exchange network and device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2475827B1 (en) * 1980-02-13 1987-05-29 Dauphin Jean Louis TIME DIVISION DIGITAL SWITCHING SYSTEM FOR MICROPHONE VEHICLES SPEAKING AND PACKET DATA
FR2538976A1 (en) * 1982-12-29 1984-07-06 Servel Michel SYSTEM FOR SWITCHING SYNCHRONOUS PACKETS OF FIXED LENGTH
US4731785A (en) * 1986-06-20 1988-03-15 American Telephone And Telegraph Company Combined circuit switch and packet switching system
US4782478A (en) * 1987-03-04 1988-11-01 Bell Communications Research, Inc. Time division circuit switch
FR2618624B1 (en) * 1987-07-24 1992-04-30 Michel Servel HYBRID TIME MULTIPLEX SWITCHING SYSTEM WITH OPTIMIZED BUFFER MEMORY
DE3742939A1 (en) * 1987-12-18 1989-07-06 Standard Elektrik Lorenz Ag METHOD FOR HYBRID PACKING AND DEVICES THEREFOR
NL8801481A (en) * 1988-06-09 1990-01-02 At & T & Philips Telecomm SWITCHING SYSTEM FOR THE FORWARDING OF BOTH PACKET-ORIENTED DATA AND CIRCUIT-ORIENTED DATA.

Also Published As

Publication number Publication date
JP2686872B2 (en) 1997-12-08
US5144619A (en) 1992-09-01
CA2058816A1 (en) 1992-07-12
JPH06261058A (en) 1994-09-16

Similar Documents

Publication Publication Date Title
CA2058816C (en) Common memory switch for routing data signals
CA2153172C (en) Controlled access atm switch
EP0581486B1 (en) High bandwidth packet switch
US5446738A (en) ATM multiplexing system
EP0299473B1 (en) Switching system and method of construction thereof
US4862451A (en) Method and apparatus for switching information between channels for synchronous information traffic and asynchronous data packets
US6002692A (en) Line interface unit for adapting broad bandwidth network to lower bandwidth network fabric
US5513178A (en) Cell multiplexing apparatus in ATM network
US5287349A (en) ATM exchange system
US6052376A (en) Distributed buffering system for ATM switches
EP0703718B1 (en) Controller for ATM segmentation and reassembly
US5119368A (en) High-speed time-division switching system
US6137795A (en) Cell switching method and cell exchange system
EP0537743B1 (en) Switching method for a common memory based switching field and the switching field
RU2134024C1 (en) Device and method of processing of elements of data on mode of asynchronous transmission in system of commutation of mode of asynchronous transmission
US6195333B1 (en) Unframed isochronous shaping method to reduce delay and delay variation in a CBR transmission system
US5910953A (en) ATM interface apparatus for time-division multiplex highways
US5708661A (en) Asynchronous transfer mode cell demultiplexing control apparatus
JP2802400B2 (en) Line switching method
KR100211024B1 (en) Multiplexing apparatus in atm switch
KR970002748B1 (en) Inner cell generator in atm switch
AU724624B2 (en) Controlled access ATM switch
JP2899609B2 (en) Cell sending device
KR100215568B1 (en) Atm cell demultiplexer
JP2814123B2 (en) Line switching method

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed