ITMI952726A1 - Dispositivo di memorizzazione fifo e di commutazione a buffer condiviso per reti di connessione in tecnica atm - Google Patents

Dispositivo di memorizzazione fifo e di commutazione a buffer condiviso per reti di connessione in tecnica atm Download PDF

Info

Publication number
ITMI952726A1
ITMI952726A1 IT95MI002726A ITMI952726A ITMI952726A1 IT MI952726 A1 ITMI952726 A1 IT MI952726A1 IT 95MI002726 A IT95MI002726 A IT 95MI002726A IT MI952726 A ITMI952726 A IT MI952726A IT MI952726 A1 ITMI952726 A1 IT MI952726A1
Authority
IT
Italy
Prior art keywords
cell
sections
memory
section
output
Prior art date
Application number
IT95MI002726A
Other languages
English (en)
Inventor
Angelo Celant
Dario Balzarotti
Original Assignee
Italtel Spa
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 Italtel Spa filed Critical Italtel Spa
Priority to IT95MI002726A priority Critical patent/IT1277692B1/it
Publication of ITMI952726A0 publication Critical patent/ITMI952726A0/it
Priority to PCT/EP1996/005745 priority patent/WO1997023968A2/en
Priority to EP96944036A priority patent/EP0870414B1/en
Priority to DE69611841T priority patent/DE69611841T2/de
Priority to ES96944036T priority patent/ES2155635T3/es
Publication of ITMI952726A1 publication Critical patent/ITMI952726A1/it
Application granted granted Critical
Publication of IT1277692B1 publication Critical patent/IT1277692B1/it

Links

Classifications

    • 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
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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/5629Admission control
    • H04L2012/563Signalling, e.g. protocols, reference model
    • 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/564Connection-oriented
    • H04L2012/5642Multicast/broadcast/point-multipoint, e.g. VOD
    • 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/5651Priority, marking, classes
    • 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/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

Campo di applicazione dell'Invenzione
La presente invenzione riguarda in generale sistemi di comunicazione che impiegano una tecnica numerica denominata commutazione veloce di celle o ATM (Asynchronous Transfer Mode), per il trasporto di segnali vocali, video e dati.
Più in particolare, l'invenzione riguarda un dispositivo di memorizzazione FIFO e di commutazione a buffer condiviso per celle di tipo ATM.
La tecnica ATM assume un ruolo di importanza sempre maggiore nella commutazione integrata di flussi di segnali numerici appartenenti a servizi per la trasmissione di segnali vocali, video e dati, con requisiti di larghezza di banda diversi e caratteristiche di traffico differenziate.
La tecnica ATM prevede in particolare che le informazioni relative ai vari servizi siano organizzate in unità contigue con una lunghezza fissa di 53 Bytes (424 bits), denominate celle. Tali celle contengono, oltre ai dati veri e propri, un campo di intestazione (header) che porta tra l'altro le informazioni necessarie all'instradamento della cella attraverso ia rete geografica.
Gli apparati di connessione, che hanno il compito di commutare spazialmente le celle da una porta d'ingresso ad una porta d'uscita, devono essere in grado di smaltire elevati volumi di traffico dell'ordine delle centinaia di Gbitys.
All'interno degli apparati di connessione realizzati in tecnica ATM sono molteplici i punti ove occorre prevedere funzioni di memorizzazione temporanea delle celle che, provenienti da più ingressi, debbano essere inviate in modo controllato ed ordinato verso uscite diverse.
Ad esempio, all'interno di un nodo di commutazione può verificarsi che due o più celle, giunte da ingressi diversi, debbano confluire contemporaneamente alla stessa porta d'uscita. La funzione di memorizzazione temporanea delle celle risulta in questo caso necessaria per mantenere tali celle in attesa della disponibilità della porta d'uscita. In questo caso risulta necessario gestire, per ciascuna porta d'uscita, una rispettiva coda d'attesa all'interno della quale le celle occupano una posizione in funzione dell'ordine d'arrivo.
Ancora, aH'intemo di una rete di connessione PON (Passive Optical Network) realizzate con tecnica ATM, esistono nodi di terminazione (ONU Optical Network Unit) nei quali il flusso di celle giunge, trasportato da un vettore ad alta velocità, per essere ripartito tra uscite a minore velocità. La funzione di memorizzazione temporanea delle celle risulta in questo caso necessaria per adattare la velocità delle celle in arrivo alla capacità dei vettori su cui i flussi di celle vanno a ripartirsi.
Anche in questo caso risulta necessario gestire, per ciascuna interfaccia d'uscita, una rispettiva coda nella quale le celle occupano una posizione ordinata.
La soluzione di queste problematiche basata sull'utilizzo di memorie tampone contrasta con la necessità di ridurre al minimo il tempo di attraversamento dei nodi della rete al fine di minimizzare sia il ritardo con cui le celle raggiungono ('utilizzatore finale sia la variazione del ritardo stesso. Tale variazione di ritardo, chiamata CDV (Celi Delay Variation), costituisce un parametro di caratterizzazione della rete.
Altra caratteristica di rilievo nella valutazione di una struttura di commutazione è la modularità. Con esclusione del caso della rete di commutazione PON, in cui la struttura di commutazione ha un solo ingresso ad alta frequenza di cifra ed uscite multiple a frequenza inferiore, i dispositivi di commutazione hanno una struttura simmetrica n x m con n ingressi ed m uscite alla stessa frequenza di cifra, dove risultano rilevanti i valori n ed m, la frequenza e la possibilità di utilizzo del commutatore n x m come elemento modulare da utilizzare per la realizzazione di strutture di commutazione più complesse.
Rassegna dell ‘arte nota
Per tentare di risolvere il problema della memorizzazione temporanea delle celle ATM sono noti vari metodi consistenti nel trattenere le celle in memorie temporanee prima di inoltrarle in uscita sulla rete di commutazione spaziale. Le memorie utilizzate presentano generalmente strutture di tipo FIFO, al fine di evitare inversioni dell'ordine delle celle. Ciò comporta, tuttavia, inconvenienti qualora una cella entrata nella memoria non potesse essere commutata a causa di un conflitto in uscita. Infatti essa bloccherebbe tutte le celle arrivate successi vam ente anche se quest'ulime fossero dirette verso uscite disponibili. A questi inconvenienti è possibile ovviare, come descritto in "Considerations on thè structure of an ATM switch in thè frame work of a hybrid BB ISDN concept", di Karl Anton Lutz, apparso negli atti del IEEE COMSOC International Wokshop, 22-24 Novembre 1987, Osaka Giappone, utilizzando uh algoritmo di accesso alla memoria non puramente FIFO.
Ciò richiede però un considerevole aumento della complessità negli organi di controllo.
Secondo un altro metodo, descritto nella memoria dal titolo "The Knockout Swithc: a simple modular architecture for high performance packet switching", di Y. S. Yeh e altri, pubblicata alla sezione B1 0.2.1 degli atti della conferenza ISS 1987, 15-20 Marzo 1987, Phoeniz, Arizona, USA, le celle vengono commutate verso l'uscita voluta attraverso una rete di tipo cross-point realizzata mediante dei bus. Tale rete ha un funzionamento ad una velocità più elevata di quella nominale e sufficiente a permettere, nel caso peggiore, la ricezione da parte di un'uscita di una cella proveniente da uno qualunque tra gli ingressi. La caratteristica di avere velocità di funzionamento che aumenta proporzionalmente con il numero di ingressi e uscite può dar luogo a difficoltà crescenti all'aumentare della complessità della rete di connessione.
Un terzo metodo, descritto nella memoria dal titolo “Prelude: an asynchronous 'time-division switched network”, di J. Coudreuse e altri, pubblicata alla sezione 22.2.1 degli atti della conferenza ICC 1987, 8 Giugno 87, Seattle, USA, prevede che tutte le celle in arrivo vengano inserite in un'unica memoria comune e che da essa le celle vengano prelevate, tramite un opportuno algoritmo di controllo, già commutate per essere inviate all 'uscita opportuna. La memoria viene quindi vista come un'area alia quale ciascuna porta di uscita può accedere in modo completamente libero. Tale memoria è quindi condivisa completamente da tutte le porte di uscita
Ciascuna porta d'ingresso, però, riesce ad accedere soltanto ad -un'area ad essa dedicata. Qualora quest'area si riempia, le celle successive in arrivo sul corrispondente ingresso non possono occupare altre aree di memoria libere assegnate ad altri ingressi. Pertanto la capacità della memoria comune non può essere sfruttata integralmente.
Si può sottolineare che, a parità di prestazioni in termini di probabilità di perdita e a parità di condizioni di traffico, i tipi di memorizzazione realizzati nelle prime due soluzioni richiedono una quantità di memoria globalmente superiore a quella necessaria nella terza soluzione, in quanto la memoria non è per nulla condivisa nè i ingresso nè in uscita.
Si possono inoltre prendere in esame le strutture proposte neN'articolo "A shared buffer memory switch for an ATM exchange", di Hiroshi Kuwahara e altri, apparso alla sez. 4.4.1 degli atti del congresso ICC89, 11-14 Giugno 1989, Boston USA e in "Switching ATM in a Broadband ISDN", A. J. Wilwey, apparso a pag. 115 degli atti del congresso Networks 89, Birmingham, Gran Bretagna, nelle quaii la memorizzazione delle celle è tale da permettere l'accesso ad una medesima area di memoria da parte di tutti i flussi d'ingresso e d'uscita, con un conseguente risparmio nella quantità di memoria totale necessaria. La realizzazione dell'accesso condiviso all'area di memoria è inoltre tale da svincolare completamente il numero di ingressi e di uscite dell'elemento dalla lunghezza della cella. L'accesso è gestito da un organo dicontrollo che sfrutta una seconda area di memoria, in cui vengono realizzate delle liste concatenate di puntatori alla memoria dei dati.
Queste soluzioni richiedono tuttavia una velocità operativa nella seconda area di memoria che è almeno doppia di quella necessaria nella memoria dei dati,
Nel Brevetto Europeo No. 502873 a nome della stessa Richiedente viene descritto un elemento base per una rete di connessione in un nodo di commutazione veloce di cella (ATM) utilizzante una memoria di tipo associativo (condivisa), indirizzabile attraverso il contenuto, in cui viene memorizzata una frazione dell'etichetta di instradamento insieme ad un codice che indica la sequenza temporale d'arrivo delle celle.
Tale elemento base, pur presentando numerosi vantaggi e consentendo un uso molto efficiente della memoria, richiede, per il suo funzionamento, organi di controllo per la gestione degli indirizzi delle locazione delle memorie condivise al 'interno delle quali vengono memorizzate le celle. Tali organi di controllo appesantiscono la circuiteria dell'elemento stesso e contribuiscono ad aumentare il costo e le difficoltà di realizzazione dell'elemento.
Tale elemento base non è inoltre in grado di implementare in modo diretto funzioni di replicazione di celle su diverse uscite. Come descrìtto nella successiva domanda di brevetto n. MI93A001550 depositata il 14-07-1993 a nome della stessa Richiedente, per lo svolgimento di tali funzioni si rendono necessarie aggiunte circuitali.
Inoltre tale elemento base non è in grado di implementare in modo diretto funzioni di segnalazione di overflow verso dispositivi trasmissivi a monte (segnali di backpressure). Come descritto nella successiva domanda di brevetto n. MI92A001231 depositata il 21-05-1992 a nome della stessa Richiedente, per lo svolgimento di tali funzioni si rendono necessarie ulteriori aggiunte circuitali.
Tutte queste aggiunte circuitali, per quanto semplici, aumentano le difficoltà di realizzazione dell'elemento.
Scopi dell'invenzione
Un primo scopo della presente invenzione è quello di realizzare un dispositivo di memorizzazione FIFO per celle di tipo ATM che consenta un uso efficiente della memoria condivisa di semplice ed economica implementazione.
Altro scopo delia presente invenzione è quello di implementare in modo diretto funzioni di segnalazione di overflow verso dispositivi di trasmissione a monte emettendo i cosiddetti segnali di backpressure.
Ulteriore scopo della presente invenzione è quello di realizzare un dispositivo di memorizzazione che sia anche in grado di commutare sulle proprie uscite le celle ricevute sui propri ingressi.
Particolare scopo dell'invenzione è quello di realizzare un dispositivo che consenta una gestione efficiente delle funzioni di replicazione delle celle richieste dalle connessioni ATM di tipo multipunto.
Questi ed altri scopi vengono raggiunti mediante l'invenzione che consiste in un dispositivo di memorizzazione FIFO a buffer condiviso per reti di connessione in tecnica ATM comprendente una pluralità di sezioni d'ingresso sulle quali transitano flussi di celle ATM in ingresso ed associati segnali di servizio e una pluralità di sezioni di uscita sulle quali transitano rispettivi flussi di celle ATM in uscita e rispettivi, associati segnali di servizio, caratterizzato dal fatto di comprendere un blocco di memoria costituito da una serie di sezioni di memoria destinate a memorizzare le celle ATM che pervengono a dette sezioni di ingresso ed in cui le abilitazioni alla trasmissione delle celle sono organizzate secondo catene di priorità, ciascuna corrispondente ad una diversa sezione di uscita in’ modo da realizzare all'interno del suddetto blocco di memoria più FIFO, una per ciascuna sezione di uscita, dì profondità variabile e contenenti code di celle ATM.
Ulteriori vantaggiose caratteristiche formano oggetto delle rivendicazioni dipendenti.
Breve descrizione delle figure
Le caratteristiche strutturai! e funzionali ed ulteriori vantaggi di un dispositivo secondo la presente invenzione risulteranno meglio comprensibili dalla descrizione esemplificativa e non limitativa, con riferimento alle allegate figure di cui:
la Fig. 1 mostra le connessioni di collegamento di un dispositivo secondo la presente invenzione;
la Fig. 2 mostra uno schema a blocchi strutturale di massima del dispositivo secondo l'invenzione;
la Fig. 3 mostra in dettaglio la struttura di una tra le sezioni di memoria del dispositivo secondo l'invenzione.
Descrizione dettagliata di un esempio preferenziale di realizzazione
La struttura d'interfaccia del dispositivo secondo la presente invenzione, complessivamente indicato con Cell^Fifo, è rappresentata in Fig. 1.
li dispositivo Cell_FifQ di Fig. 1 comprende, secondo una descrizione esemplificativa e non limitativa, quattro interfacce d'ingresso e quattro d'uscita realizzanti una struttura di commutazione 4x4. Nella descrizione il pedice iesimo caratterizza le sezioni d'ingresso mentre il pedice j-esimo quelle d'uscita. Le quattro sezioni d'ingresso del dispositivo Ce!l_Fifo sono rispettivamente indicate con ln_secti , In_sect2, In_sect3 e In_sect4. La generica sezione d'uscita ln_sectj è costituita da da un bus Celi _inj(p_in:1 ), da un bus Cell_rout_tagj(j:1) di dimensioni pari al numero delle interfacce d'uscita e dai segnali Cell_st_inj , Cell_enjn[ e Ck_inj.
Sul bus Cell_inj(pjn:1) il dispositivo riceve le celle ATM, costituite da 53 ottetti, organizzate con un parallelismo p_in legato principalmente all'esigenza di ridurre la frequenza di lavoro dell'interfaccia ottimizzando il numero delle interconnessioni.
Sul bus Cell_rout_tagj(j;1) il dispositivo Cell_Fifo riceve le selezioni d'instradamento relative alla cella che transita sul bus d'ingresso Celi _ inj (p Jn: 1 ) . Tali selezioni d'instradamento vengono generate, da elementi non oggetto di rivendicazioni, in base alle mappe di connessione e agli identificativi di cella estratti dalPheader" delle celle ATM che definiscono il percorso delle celle all'interno dei singoli elementi di commutazione.
Sul filo Ceil_str_inj il dispositivo Cell_Fifo riceve un segnale di start delle celle in arrivo sul bus Celi _ inj(p_in:1 ).
Sul filo Cell_en_inj il dispositivo Cell_Fifo riceve o invia un segnale d'abilitazione delle celle in arrivo sul bus Celi _ inj(p_in:1 ). La direzione della segnalazione è legata alla caratteristica codirezionale o contradirezionale delle interfacce.
Sul filo CKJnj il dispositivo Cell_Fifo riceve o invia un segnale di temporizzazione.
Vantaggiosamente ciascuna sezione d'ingresso del dispositivo Cell_Fifo può includere un'uscita Bakw_fullj per l'emissione di un segnale di overflow. Tale segnalazione, denominata backpressure, è diretta agli elementi che trasmettono celle verso il dispositivo Cell_Fifo e rappresenta una richiesta di momentanea sospensione dell'invio di celle verso la rispettiva sezione d'ingresso.
Le quattro sezioni d'uscita del dispositivo Cell_Fifo sono rispettivamente indicate con Out_sect1, Out_sect2, Out_sect3 e OuTsectj. La generica sezione d'uscita Out^sectj è costituita da un bus Ce!l_outj (p_out:1), dai segnali Cell_st_outj, Cel1_en_outj, e Cell_avj. La sezione d'uscita Out_sectj comprende anche un ingresso En_outj ed un ingresso CK_outj nel caso di interfaccia contradirezionale, che diviene uscita nel caso di interfaccia codirezionale.
Il numero di sezioni d'ingresso e d'uscita, che nella forma di realizzazione di Fig. 1 è pari a quattro, rappresenta solo una forma esemplificativa di realizzazione, il che non esclude un diverso numero di sezioni d'ingresso e d'uscita.
Sul bus Cell_outj(p_out:1) il dispositivo Cell_Fifo trasmette celle ATM con un grado di parallelismo p_out che può essere a priori qualunque e, in generale, diverso dal grado di parallelismo pjn delle celle in ingresso.
Sul filo Cell_en_outj il dispositivo trasmette un segnale d'abilitazione delle celle trasmesse sul bus Cell_outj(p_out:1).
Sul filo Cell_st_outj il dispositivo trasmette un segnale di start delle celle trasmesse sul bus Cell_outj(p_out:1).
Sul filo Cell_av_outj il dispositivo Cell_Fifo trasmette un segnale di disponibilità a trasmettere celle sul bus Cell_outj(p_out:1).
Sul filo En_outj il dispositivo Cell_Fifo riceve, dai dispositivi a valle, un segnale di permesso alla trasmissione di celle su! bus Cell_outj(p_out:1), segnale non presente nel caso di interfaccia codirezionale.
Sul filo CK_outj il dispositivo Cell_Fifo riceve il segnale di temporizzazione dai dispositivi a valle nel caso di interfaccia contradirezionale, trasmette la temporizzazione nel caso di interfaccia codirezionale.
Con riferimento all'allegata Fig. 2, verrà illustrata in maggiore dettaglio la struttura del dispositivo Cell_Fifo di Fig. 1 .
A ciascuna sezione d'ingresso è associato un blocco d'interfaccia Interfacejnj che, utilizzando i segnali di controllo della sezione, riorganizza il flusso entrante sul bus Celi Jnj(p_in:1 ). Tale flusso viene memorizzato su un buffer di supporto SupportJbufJnj.
Alla cella che si è presentata all'ingresso, il blòcco d'interfaccia Interfacejni associa un byte di supporto estendendo la cella a 54 bytes. Nel byte aggiuntivo vengono inseriti i contenuti presenti sui bus Cell_rout_tagi(j:1) che costituiscono le abilitazioni di autoinstradamento (routing_tags) della cella stessa.
Nella realizzazione descritta l'inserzione dei tags d'instradamento utilizza quattro degli otto bits aggiunti. I quattro restanti possono essere impiegati per inserire un controllo sull'integrità del contenuto delia cella nel trasferimento attraversò il dispositivo sino all'interfaccia di destinazione. A tale scopo può essere utilizzata una codifica di parità o una codifica mediante CRC.
I blocchi Interfacejnj trasferiscono i contenuti dei loro buffer di supporto Support_bufJnj a ciclo di cella in forma parallela ad un blocco Mem_array su rispettivi bus Celi Joadj abilitati da rispettivi segnali Loadj.
II blocco Mem_array comprende un numero k di sezioni di memorizzazione, Cell_memk con k che assume i valori da 1 a ]< . Tutte le sezioni di memorizzazione Celjmem^ sono uguali tra di loro ad esclusione di quelle ad indice inferiore in numero pari alle interfacce d'ingresso Interfacejni (in Fig. 2 tali sezioni sono indicate con Celjmem-i, Celljnenriz, Cell_mem3, Cell_mem4).
Ciascuna delle sezioni di memorizzazione Cell_memk ha una capacità di memorizzazione pari alle dimensioni delle celle estese create dai blocchi Interfacejnj.
Gli ingressi delle sezioni di memorizzazione Céll_memk (Celljmemi, Cell__mem2, Celljnem3, Cell_mem4) di ordine inferiore sono collegate, tramite i bus Celljoadj, ai rispettivi blòcchi d'interfaccia Interfacejni. Mediante tale connessione, le celle memorizzate nei blocchi d'interfaccia ' Interfacejnj possono essere contemporanemente caricate nel blocco Mem_array.
Ciascuna sezione di memorizzazione Cell_memk è connessa alla precedente Cell_memk.i ed alla successiva Cell_memk+i in modo tale da realizzare una connessione di tipo registro a scorrimento.
Tutte le sezioni di memorizzazione Cell_memk che compongono il buffer sono in grado, se abilitate, di scaricare le celle in esse contenute su dei bus Bus_òutj che convogliano sulle interfacce d'uscita lnterface_outj le celle ordinate in funzione dell'ordine d'arrivo in ingresso al dispositive Cell_Fifo.
Nella rappresentazione di Fig. 2 i bus Bus_outj (Bus_out-| , Bus_out2, Bus_out3, Bus_out4) sono connessi alle quattro sezioni d'uscita lnterface_outj. Ciascuna sezione d'uscita lnterface_outj comprende un registro di memorizzazione della cella convogliata in uscita e un ulteriore registro che funge sia da supporto alle funzioni di verifica dell ‘integrità delle celle ricevute e del loro corretto instradamento come pure di adattamento rispetto alle due temporizzazioni de! blocco Mem_array e di interfaccia nel caso quest'ultima sia costituita da una connessione contradirezionale.
Le interfacce d'uscita lnterface_outj del dispositivo Cell_Fifo privano le celle del byte aggiuntivo contenente gli indicatori d'instradamento e le codifiche di rivelazione d'errore e riorganizzano il flusso di celle con un parallelismo conforme alle caratteristiche d'interfaccia del bus Cell_outj(p_out:1).
Con riferimento all'allegata Fig. 3 verranno descritte in maggiore dettaglio la struttura del blocco di memoria MEM_Array e le connessioni tra le sezioni di memoria Celljnemk che realizzano la funzione di gestione delle code d'arrivo delle celle per ciascuna sezione d'uscita.
Iri Fig. 3 è rappresentata una generica sezione k del blocco Mem_Array e le sue interconnessioni con le sezioni contigue, indicate rispettivamente con Cell_memk-1 e Cell_memk+1.
La descrizione delle sezioni di memoria verrà effettuata con riferimento alla generica sezione k-esima di memoria, indicata con Cell_memk.
La sezione di memoria Cell_memk comprende un registro parallelo Cell_sdffk della capacità di 53 byte.
Gli ingressi del registro Cell_sdffk sono collegati, tramite il bus Cel!_datak-1, alle uscite del registro Cel^sdff^ appartenente alla sezione di memoria precedente Celi_memk-1.
Le uscite del registro Cell_sdffk sono collegate, tramite il bus Cell_datak, agli ingressi del registro Cell_sdffk+1 appartenente alla successiva sezione di memoria Cell_memk+1.
Il bus Cell_datak è anche collegato attraverso delle porte di abilitazione ai bus che convogliano le celle alle sezioni d'uscita, Bus_outj. ! circuiti di abilitazione AND|k possono essere realizzati mediante semplici porte logiche AND dotate di un numero di ingressi ed uscite pari al numero di bit del bus Cell_data.
Le uscite delle porte di abilitazione ANDik per valori di k da 1 a K sono connesse a formare i bus Bus_outj. Ciascuno dei bus Cell_data1f Cell_data2, Cel^datafc risulta collegato a tutti e quattro i bus d'uscita: Bus_out1t Bus_out2, Bus_out3, Bus_out4- La forma di tale connessione è legata all 'implementazione tecnologica.
Gli elementi che memorizzano i bits di indicazione d'instradamento (routing tags), sono dei Flip-flop con possibilità di reset sincrono del contenuto (LO). Tali Flip-flop, indicati in Fig. 3 con FF]k, sono connessi, con segnali Rout_tagik-1, ai Flip-flop degli stadi precedenti, e con segnali Rout_tagik+1, ai Fiip-flop degli stadi a formare dei registri a scorrimento in numero pari alle sezioni d'uscita del dispositivo Cell_Fifo.
I registri a scorrimento costituiti dagli elementi di memorizzazione FF, rappresentano la struttura di gestione delle code verso le interfacce d'uscita. I Flip-flop FFjk contengono complessivamente lo stato della coda relativa all 'interfacci a d'uscita !nterface_outj.
Nel blocco di memoria Mem_array le celle provenienti dalle interfacce d'ingresso vengono inserite nelle sezioni Cell_memk di ordine inferiore.
Come apparirà più chiaro nel seguito le celle vengono fatte avanzare, insieme ai propri routing_tags, attraverso tutte le sezione del blocco Mem_array.
I Flip-flop FFjk con i pedici k di ordine maggiore che presentano memorizzato un routing _tag attivo (settato) identificano, per ciascuna coda, le celle che hanno avuto la maggiore latenza nel buffer. Tali celle sono le prime ad essere estratte ed instradate in uscita sulle rispettive interfacce d’uscita lnterface_outj.
II segnali Bak_out_chainjk provenienti dalla sezione seguente Cell_memk+1 sono attivi ( 1 in notazione booleana ) se non vi é alcuna cella nelle sezioni di ordine superiore destinata alla corrispondente j-esima coda.
In tal caso, se il contenuto del flip-flop FFjk é attivo, l'AND logico dei due segnali Bak_out_chainjk e Rout_tagjk sul gate ENAND^ genera l'abilitazione sulla porta AND]k che connette il bus Cell_datak al bus Bus_out,· che convoglia le celle alle sezioni d'uscita.
Lo stesso segnale Bak_out_chainjk della sezione seguente, posto in AND logico sul gate BEANDjk con il negato del contenuto del Flip-flop FF^, costituisce l'abilitazione Bak_out_chainjk_i destinata alla sezione precedente.
Mentre la sezione Cell_mamk stà instradando la cella in essa contenuta, il segnale Bak^ut^hain^.-i risulta rìon attivo ( 0 in notazione booleana). In questo modo viene impedito che sezioni di ordine inferiore con contenuti dei FFjy, con y<k , instradino a loro volta ie celle in esse contenute sul bus Bus_outj.
Nel caso in cui il segnale. Bak_out_chainjk non fosse attivo ciò starebbe ad indicare che nelle sezioni di ordine superiore esiste una cella con latenza superiore destinata alla corrispondente coda.
In tal caso i contenuti della sezione Cell_memk e delle sezioni di ordine inferiore non vengono instradati e giacciono nel buffer in attesa dell'esaurimento della corrispondente coda.
Nel caso in cui dalla successiva sezione Cell_memk+1 giungesse un segnale Bak_out_chainJk di abilitazione ed il contenuto di FFjk fosse nullo, il gate ENANDjk non abiliterebbe l'instradamento del contenuto della sezione Cell_memk perchè destinato ad altra interfaccia d'uscita o perchè nullo (nessun routing_tag attivo). Il gate BEANDjk estenderebbe, in questo caso, l'abilitazione inviando un segnale Ba^ou^chain^.·! e così via per tutte ie la sezioni precedenti sino alla sezione di ordine maggiore con Flip-flop contenente un bit d'instradamento.
I segnali Routjtagjn di abilitazione aH'instradamento della sezione Cell_memk relativa vengono utilizzati, ad instradamento avvenuto, per resettare il contenuto dei Flip-flop FFjk, agendo sull'ingresso di reset LO dei Flip-flop stessi.
Azzerando il contenuto del j-esimo Flip-flop FFjk la cella contenuta nella sezione Celi _memk viene rimossa dalla coda j-esima.
Una logica OR ( SHORk ) rileva la presenza di contenuti nulli nei Flip-flop FFp, e predispone il registro di cella Cell_sdffk al caricamento del contenuto del registro precedente Cell_sdffk-1 cui è connesso tramite il bus Cell_datak-i.
Pertanto, se tutti i Flip-flop FFjk della sezione Cell_memk presentano routing_tag non attivi, ovvero se la cella in essa contenuta è già stata indirizzata su tutte le interfacce a cui era destinata, la cella contenuta nella sezione Cell_memk viene rimossa dal buffer.
Questa operazione di abilitazione alla funzione scorrimento dei registri viene estesa a tutte le sezioni di indice inferiore rispetto a quella in cui si sono annullati i routing_tags realizzando così un ricompattamento del buffer e . una traslazione dei contenuti verso le sezioni ad indice superiore.
II segnale Ba^shif^ è il segnale fornito dalla sezione Cell_memk alla precedente sezione Celljnemn che pone quest'ultima in scorrimento.
Analogamente il segnale Bak_shiftk+i è il segnale, trasmesso dalla sezione successiva Cell_memk+1 che pone la stessa sezione Cell_memk in scorrimento.
Considerando la generica sezione di memoria k e la j-esima coda, fa logica che governa l'instradamento è costituita dai Flip-flop FFjk e dai gates ENANDjk, BEAND^ e AND,* mentre la logica di ricompatazione della memoria è costituita dal solo gate SHORk.
Il numero di shift che risultano abilitati contemporaneamente in un ciclo è pari al numero di locazioni di memoria cancellate durante il ciclo precedente.
Poiché all'interno di un ciclo di memoria possono essere cancellate un numero massimo di locazioni di memoria pari al numero di sezioni d'uscita, il numero massimo di shift che possono avvenire durante un ciclo è pari al numero di sezioni d'uscita.
Si potrà apprezzare che ciò corrisponde, in uno schema normale di gestione di una memoria, a riallocare in un solo ciclo le locazioni resesi disponibili.
Se ciò non avvenisse, la mancata ricompatazione della memoria all'interno di un ciclo di accesso farebbe crescere la parte occupata del blocco Mem_Array fino a degenerare con il riempimento dì tuta la memoria.
Le sezioni Cell_memk di indice inferiore, caraterizzate da routing_tag bits nulli, sono in condizione di shift abilitato, pertanto le celle ATM inserite nel blocco Mem_Array vengono propagate rapidamente verso sezioni ad indice superiore, pur essendo sempre disponibili per l'instradamento fin dal loro ingresso nel blocco Mem_Array.
La descrizione che è stata fatta relativamente alla sezione di memoria Cell_memk vale, a condizione di variare l'indice k, per tute le sezioni del blocco di memoria Mem_Array, ad eccezione dell'ultima sezione e delle prime sezioni con k= 1 ,2....;i.
L'ultima sezione, con k=_k è, in quanto a strutura, uguale alle precedenti. La connessione d'ingresso Bak_shift è permanentemente disabilitata mentre gii ingressi di abilitazione Bak_out_chainj dell'ultima sezione sono invece permanentemente abilitati. Il bus CelMata^ è connesso unicamente alle porte ANDjjj come pure le indicazioni d'instradamento relative alia sezione memorizzate nei Flip-flop FF^ sono connesse unicamente ai gates ΕΝΑΝ3⁄4 e BEANDO
Le prime i sezioni Cell_memk presentano, come illustrato in Fig. 2, due bus di connessione in ingresso, uno è il bus Cell_datak che connette' le varie sezioni in una struttura di registro scorrimento, l'altro è un bus che connette la sezione k= i con il buffer Support_buf| della sezione d'ingresso Interfacejnj.
Questi bus CelIJoadj consentono, in un solo periodo di cella, il caricamento nel buffer Mem_array delle celle che dovessero . presentarsi contemporaneamente sulle i interfacce d'ingresso del dispositivo CeILFifo.
La temporizzazione di tutti i registri Gell_sdffk e di tutti i flip-flop FFj|< di tutte le sezioni Cel^mem^ è data dallo stesso segnale di clock (non mostrato in figura), come pure comuni sono le abilitazioni che.temporizzano le operazioni di scorrimento dei registri e di cancellazione dèi routing_tags in funzione del rapporto esistente tra il segnale di clock principale ed il periodo di cella, ovvero del grado di parallelismo, indicato con pjn, sulle interfacce d'ingresso.
Il dispositivo Cell_Fifo funziona come segue.
Il dispositivo Cell_Fifo acquisisce sulle proprie sezioni d'ingresso Interfacejnj celle di 53 bytes corredate dai rispettivi vettori contenenti i bits d'indicazione d'instradamento. Tali indicazioni d’instradamento vengono memorizzate, congiuntamente alla cella, a formare la cella estesa che transita attraverso il dispositivo.
A ciclo di cella, la cella estesa ricevuta dalla sezione d'ingresso Interfacejni e ivi memorizzata viene trasferita attraverso il bus CelIJoadj alla sezione Celljnerrik relativa (k=i) tra quelle ad indice inferiore del blocco Mem_array, accompagnata da un'abilitazione Loadj.
Sempre all'interno di un periodo di cella, oltre al caricamento della nuova cella giunta dalia sezione d'ingresso, vengono abilitate operazioni di trasferimento dei contenuti da una sezione di memorizzazione alla successiva in numero pan al maggiore tra il numero delle sezioni d'interfaccia d'ingresso e d'uscita.
Memorizzata nel blocco Mem_array la cella viene inserita all'interno della code d'attesa delle celle memorizzate verso le interfacce d'uscita, i bits di indirizzamento settati individuano, nel caso la cella sia una cella di multicasting, le code in cui la cella stessa viene inserita.
All'esaurirsi delle code, per effetto della cancellazione delle celle ornite in uscita e della ri compattazione realizzata mediante lo scorrimento dei contenuti all'interno del blocco Mem_array, la cella scorre attraverso tutte le sezioni Cell_memk sino a raggiungere il termine della coda ed essere convogliata alla sezione d'uscita.
Le abilitazioni alla trasmissione delle celle sono organizzate in una pluralità di catene di priorità (del tipo daisy-chain) ciascuna corrispondente ad una diversa uscita.
Per ciascuna uscita, l'unica abilitazione ad essere attuata è quella relativa alla sezione di memoria di indice maggiore, relativa cioè alla cella che ha accumulato la latenza maggiore nel blocco Mem_Array.
Γη questo modo vengono realizzate, all'interno di una stessa memoria condivisa più Fifo, una per ciascuna uscita, di profondità variabile e contenenti celie ATM.
I contenuti che vengono indirizzati in successione su di una stessa sezione d'uscita sono relativi a sezioni di memoria che, pur non essendo necessariamente contigue in senso fisico, sono invece contigue nel sottoinsieme costituito dalle celle da indirizzare verso quella stessa sezione d'uscita.
Grazie ad una simile struttura anche la replicazione di una stessa cella su più uscite avviene in modo molto semplice.
Nel caso di connessioni multipoint la cella ATM, al momento della memorizzazione, viene associata a routing_tag con i bits attivati relativi ai vari canali verso cui viene indirizzata. Tale cella, anche se viene memorizzata in una sola sezione di memoria, risulta inserita in un numero di code pari alle sezioni di uscita verso cui è indirizzata e la sua latenza all'interno del blocco Mem_Array è determinata dall'esaurirsi delle code stesse.
Ulteriormente apprezzabile risulta poi il fatto che una cella diretta verso più uscite può accedere simultaneamente a tutte le uscite senza alcuna variazione nei tempi di accesso alla sezione di memoria.
In una forma preferita di realizzazione, non mostrata, il dispositivo Cell_Fifo comprende mezzi per l'analisi dello stato di riempimento istantaneo del blocco Mem_Array a partire da analisi sullo stato dei flip-flop di indicazione d'instradamento del blocco Mem_Array.
Tali mezzi possono facilmente fornire indicazioni sullo stato d'occupazione globale del blocco Mem_Array, oppure possono fornire anche lo stato di occupazione delle singole code.
Vantaggiosamente tali mezzi possono essere utilizzati per fornire, in caso di superamento di una soglia di occupazione, un segnale di backpressure verso i dispositivi che trasmettono verso il dispositivo Cell_Fifo
Preferibilmente il dispositivo Ceil_Fifo può essere dotato di logica aggiuntiva, non mostrata, che calcola un codice CRC sui 53 byte della cella ATM e sui bit di routing-tag.
Tale codice di CRC può vantaggiosamente essere inserito nei bit rimanenti che costituiscono il contenuto della cella estesa memorizzata. Il ri calcolo di tale codice CRC fatto sulle celle estratte in ogni sezione d'uscita verifica, oltre alla correttezza del contenuto della cella, il corretto funzionamento di tutte le sezioni di memoria attraversate dalla cella prima del suo instradamento.
Viene in questo modo realizzata una logica di Built-in-self-test sempre attiva che controlla tutte le sezioni di memoria durante il funzionamento d'esercizio. Sono evidenti i vantaggi dell'invenzione.
I circuiti di controllo delle sezioni di memoria non comprendono registri di puntamento o macchine a stato, ma sono costituiti da porte logiche elementari.
Ciò comporta un costo implementativo notevolmente ridotto rispetto alle soluzioni descritte nella citata tecnica nota.
Inoltre non vi è alcuna criticità nel tempo di accesso ai registri poiché, in ogni condizione, le temporizzazioni sono legate al periodo di cella relativo all'interfaccia a maggior velocità. All'interno di tale periodo il blocco Mem_Anray attua operazioni elementari (shift ) in numero pari ai massimo tra numero d'ingressi e d'uscite.
La struttura del dispositivo secondo la presente invenzione si presta a realizzare dispositivi Celi _ Fifo dotati dei più diversi numeri d'ingressi e di uscite. Ad esempio, per realizzare un dispositivo a 16 ingressi ed ad altrettante uscite sarebbe bastato semplicemente utilizzare 16 blocchi lnterface_in/out ciascuno con 16 flip-flop per la logica di controllo d'indirizzamento ed aumentare da 54 (53+1) ad almeno 55 byte (53+2, 2byte=16bits) le dimensioni delle cella estese memorizzate nei buffer di supporto e di ciascuna sezione della memoria Mem_Array.
Un altro notevole vantaggio del dispositivo secondo l'invenzione consiste nel fatto che la profondità del buffer non è legata a potenze di 2, ma può essere qualsiasi. Ciò può consentire spesso notevoli risparmi nell'utilizzo della memoria. Tutti i dispositivi descritti nella citata tecnica nota sottostanno invece a questo vincolo.
Nel caso di connessioni multipoint il dispositivo Cell_Fifo non prevede ricopiatura delle celle: lo stesso contenuto viene semplicemento instradato verso le interfacce d'uscita in tempi diversi o simultaneamente in seguito all'esaurimento delle singole code. L'unica variazione rispetto ad una connessione point-to-point si ha nella eventuale maggiore latenza delle celle all'interno del dispositivo.
Qualora non si implementasse una logica di Built-in-self-test, la struttura del tipo registro a scorrimento del buffer Mem_Array si presterebbe all'applicazione di metodologie di testing con scan-insertion.
Sia l'analisi dello stato di occupazione dei buffer, sia l'emissione di segnalazioni di backpressure (anche distinte per ciascun singolo instradamerrto) possono essere gestite con un incremento di logica contenuto.
È evidente che quanto descritto è stato dato a titolo di esempio non ' limitativo. Varianti e modifiche sono possibili senza per questo uscire dal campo di protezione delle seguenti rivendicazioni.

Claims (13)

  1. RIVENDICAZIONI . 1. Dispositivo di memorizzazione FIFO a buffer condiviso per reti di connessione in tecnica ATM comprendente una pluralità di sezioni d'ingresso (Interfacejnj) sulle quali transitano flussi di celle ATM in ingresso (Cell_inj(pjn:1)) ed associati segnali di servizio (Cell_en_inj, Cell_str_inj, Cell_rout_tagj, Ck_inj) e una pluralità di sezioni di uscita (lnterface_outj) sulle quali transitano rispettivi flussi di celle ATM in uscita (Out_sectj(p_out:1)) e rispettivi associati segnali di servizio (Cell_en_outj, Cell_str_outj, Cell_avj, En_outj e Ck_outj), caratterizzato dal fatto di comprendere un blocco di memoria (Mem_array) costituito da una serie di sezioni di memoria destinate a memorizzare le celle ATM che pervengono a dette sezioni di ingresso (Interface Jn) ed in cui le abilitazioni alla trasmissione delle celle sono organizzate secondo catene di priorità, ciascuna corrispondente ad una diversa sezione di uscita (lnterface_out) in modo da realizzare al l'interno del suddetto blocco di memoria (Mem-array) più FIFO, una per ciascuna sezione di uscita, di profondità variabile e contenenti code di celle ATM.
  2. 2. Dispositivo secondo la rivendicazione 1 , caratterizzato dal fatto che detto blocco di memoria (Mem_array) è costituito da una serie di sezioni di memoria ciascuna delle quali comprende un'unità di memorizzazione di cella (Cell_sdffk) in grado di memorizzare una cella ATM, ed una unità di memorizzazione d'indirizzamento (FFJk) in grado di memorizzare l'indicazione delle sezioni d'uscita verso le quali la cella ATM è diretta, essendo le uscite (Cell_datak) di ciascuna di dette sezioni di memoria di cella (Cell_memk) collegate agli ingressi della successiva sezione di memoria (Cell_memk+1), nonché (Cell_datak) collegate a tutte le sezioni d'uscita (lnterface_outj) tramite circuiti logici (ANDjk, ENAND]k) che permettono la trasmissione di detta cella verso una sezione d'uscita solo in presenza di un'indicazione all'interno di detta unità di memorizzazione d'indirizzamento (FFjk) e di segnali di abilitazione (Bak_out_chainjk) indicanti l'assenza di celle ATM direttè verso la stessa sezione d'uscita sia all'interno della successiva sezione di memoria (Cell_memk+·!), sia all'interno di tutte le successive sezioni di memoria.
  3. 3. Dispositivo secondo la rivendicazione 2, caratterizzato dal fatto , che ciascuna di dette sezioni d'ingresso (Interfacejnj) è collegata direttamente (Celljoadj, Load,) ad una rispettiva sezione di memoria (Cell_memj) tra le prime i sezioni di memoria di detto blocco di memoria (Mem_array).
  4. 4. Dispositivo secondo la rivendicazione 2, caratterizzato dal fatto che ciascuna di dette sezioni di memoria (Cell_memk) comprende mezzi (ENAND^) per aggiornare il contenuto di detta unità di memorizzazione d'indirizzamento (FFjk) ad ogni trasmissione della cèlla memorizzata all'interno di detta unità di memorizzazione di cella (Cell_sdffk) verso una sezione d'uscita.
  5. 5. Dispositivo secondo la rivendicazione 2, caratterizzato dal fatto che ciascuna di dette sezioni di memoria (CelljmemO comprende circuiti logici {SHORk) collegati a detta unità di memorizzazione d'indirizzamento (FFjk) e collegati, tramite un segnale di shift (Bak_shiftk+1), alla successiva sezione di memoria (Cell_sdffk+1), e che detti circuiti logici (SHORk) causano il trasferimento (Cell_datak-1, Rout_tag]k-1) dei contenuti della sezione di memoria precedente (Cell_memk_i) all'interno di detta sezione di memoria (Cel^mem^ quando detta unità di memorizzazione d'indirizzamento (FFjk) indica che la cella ATM memorizzata in detta sezione di memoria (Cell_memk) è già stata trasmessa verso tutte le sezioni d'uscita verso le quali era diretta oppure quando detto segnale di shift (Bak_shiftk+1) indica che la successiva sezione di memoria (Cell_memk+i) ha ricopiato al proprio interno il contenuto della sezione di memoria (Celi _memk) in questione.
  6. 6. Dispositivo secondo la rivendicazione 2, caratterizzato dal fatto che ciascuna di dette sezioni di memoria (Cell_memk) comprende anche mezzi (BEANDO per estendere l'abilitazione aH'istradamento (Bakjsutjshain^) verso le sezioni di memoria precedenti sino alla sezione di ordine maggióre la cui unità di memorizzazione d'indirizzamento (FFk) contiene una indicazione di instradamento.
  7. 7. Dispositivo secondo la rivendicazione 2, caratterizzato dal fatto che ciascuna di dette sezioni d'ingresso (Interfacejn;) comprende mezzi per associare byte aggiuntivi di supporto a ciascuna cella di detto flusso di celle ATM in ingresso, detti byte aggiuntivi di supporto comprendendo indicazioni (routing_tags) relative alle sezioni d'uscita (lnterface_out,) verso le quali ciascuna cella ATM deve essere trasmessa.
  8. 8. Dispositivo secondo la rivendicazione 7, caratterizzato dal fatto che ciascuna di dette sezioni d'uscita (lnterface_outj) comprende mezzi per rimuovere detti byte aggiuntivi di supporto inseriti da dette sezioni d'ingresso (Interfacejn,).
  9. 9. Dispositivo secondo la rivendicazione 2, caratterizzato dal fatto che detta unità di memorizzazione di cella di detta sezione di memoria (CelÌ_memk) è costituita da un registro parallelo (Cell_sdffk) della capacità di 53 byte.
  10. 10. Dispositivo secondo la rivendicazione 2, caratterizzato dal fatto che detta unità di memorizzazione d'indirizzamento di detta sezione di memoria (Celljmemk) è costituita da un numero di Flip-flop (FFjk) pari al numero di sezioni di uscita (InterfacejDutj), ciascuno di detti Flip-flop (FFjk) essendo dotato di un ingresso (LO) per il reset sincrono del contenuto.
  11. 11. Dispositivo secondo le rivendicazioni precedenti, caratterizzato dal fatto che comprende anche mezzi per l'analisi dello stato di riempimento istantaneo del suddetto blocco di memoria (Mem_array).
  12. 12. Dispositivo secondo la rivendicazione 11, caratterizzato dal fatto che detti mezzi per l'analisi dello stato di riempimento istantaneo del suddetto blocco di memoria sono altresì idonei a fornire un segnale di backpressure quando il suddetto stato di riempimento eccede una soglia predeterminata.
  13. 13. Dispositivo di commutazione a buffer condiviso realizzato conformemente a quanto, illustrato nelle rivendicazioni da 1 a 12.
IT95MI002726A 1995-12-22 1995-12-22 Dispositivo di memorizzazione fifo e di commutazione a buffer condiviso per reti di connessione in tecnica atm IT1277692B1 (it)

Priority Applications (5)

Application Number Priority Date Filing Date Title
IT95MI002726A IT1277692B1 (it) 1995-12-22 1995-12-22 Dispositivo di memorizzazione fifo e di commutazione a buffer condiviso per reti di connessione in tecnica atm
PCT/EP1996/005745 WO1997023968A2 (en) 1995-12-22 1996-12-14 Fifo storage and shared buffer switching device for connection networks in atm architectural and applications
EP96944036A EP0870414B1 (en) 1995-12-22 1996-12-14 Fifo storage and shared buffer switching device for connection networks in atm architectural and applications
DE69611841T DE69611841T2 (de) 1995-12-22 1996-12-14 Fifo speicher und vermittlungsstelle mit gemeinsamem puffer in atm architektur und anwendungen
ES96944036T ES2155635T3 (es) 1995-12-22 1996-12-14 Dispositivo de almacenamiento fifo y memoria tampon compartida para redes de conexion de arquitectura atm y aplicaciones.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT95MI002726A IT1277692B1 (it) 1995-12-22 1995-12-22 Dispositivo di memorizzazione fifo e di commutazione a buffer condiviso per reti di connessione in tecnica atm

Publications (3)

Publication Number Publication Date
ITMI952726A0 ITMI952726A0 (it) 1995-12-22
ITMI952726A1 true ITMI952726A1 (it) 1997-06-22
IT1277692B1 IT1277692B1 (it) 1997-11-11

Family

ID=11372792

Family Applications (1)

Application Number Title Priority Date Filing Date
IT95MI002726A IT1277692B1 (it) 1995-12-22 1995-12-22 Dispositivo di memorizzazione fifo e di commutazione a buffer condiviso per reti di connessione in tecnica atm

Country Status (5)

Country Link
EP (1) EP0870414B1 (it)
DE (1) DE69611841T2 (it)
ES (1) ES2155635T3 (it)
IT (1) IT1277692B1 (it)
WO (1) WO1997023968A2 (it)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2736092B2 (ja) * 1989-01-10 1998-04-02 株式会社東芝 バッファ装置
JP3178949B2 (ja) * 1993-09-30 2001-06-25 富士通株式会社 Atmスイッチ方式
JP2699872B2 (ja) * 1994-06-01 1998-01-19 日本電気株式会社 データ受信装置およびバッファ管理方法

Also Published As

Publication number Publication date
ES2155635T3 (es) 2001-05-16
ITMI952726A0 (it) 1995-12-22
EP0870414A2 (en) 1998-10-14
DE69611841D1 (de) 2001-03-29
DE69611841T2 (de) 2001-08-16
IT1277692B1 (it) 1997-11-11
EP0870414B1 (en) 2001-02-21
WO1997023968A3 (en) 1997-08-21
WO1997023968A2 (en) 1997-07-03

Similar Documents

Publication Publication Date Title
US6876629B2 (en) Rate-controlled multi-class high-capacity packet switch
US6947433B2 (en) System and method for implementing source based and egress based virtual networks in an interconnection network
US6907041B1 (en) Communications interconnection network with distributed resequencing
JP4080888B2 (ja) 別々の出力を有するスイッチング機構及び方法
KR0155554B1 (ko) 가변 길이 셀을 전송하기 위한 통신 스위칭장치 및 방법
JP4006205B2 (ja) 別々の出力バッファを備えたスイッチング構成および方法
JP3443264B2 (ja) 多段式ネットワークにおける改良されたマルチキャスト・ルーティング
US7039058B2 (en) Switched interconnection network with increased bandwidth and port count
US7046633B2 (en) Router implemented with a gamma graph interconnection network
US7633861B2 (en) Fabric access integrated circuit configured to bound cell reorder depth
EP1625757B1 (en) Time-division multiplexing circuit-switching router
US7969985B1 (en) Method and system for scheduling, transporting, and receiving inbound packets efficiently in networks with cyclic packet scheduling
US7400629B2 (en) CAM based system and method for re-sequencing data packets
ITTO940615A1 (it) Procedimento per l&#39;allocazione ottimale delle risorse per il trasporto di flussi informativi a banda variabile su reti in tecnica atm, e nodo
JPH10224377A (ja) デジタル信号の双方向伝送のための経路指定スイッチ
JPH022767A (ja) パケット交換装置
JPH0879264A (ja) 帯域規制装置及びパケット通信装置
JPH10215260A (ja) デジタル信号の双方向伝送のための経路指定スイッチ
US6721309B1 (en) Method and apparatus for maintaining packet order integrity in parallel switching engine
US8706896B2 (en) Guaranteed bandwidth memory apparatus and method
US6359885B1 (en) Multi-channel packet switching apparatus having traffic flow controlling and checking functions
US6046982A (en) Method and apparatus for reducing data loss in data transfer devices
US20040156383A1 (en) Multicasting in a high-speed switching environment
US20020099915A1 (en) Buffer apparatus with data insertion control function, insertion data controlling method, and data insertion apparatus with data insertion control function
ITMI952726A1 (it) Dispositivo di memorizzazione fifo e di commutazione a buffer condiviso per reti di connessione in tecnica atm

Legal Events

Date Code Title Description
0001 Granted