Brevet FR2635243A1 — publié le 19900209

Commutateur de paquets pour un transfert de données en mode asynchrone dans un réseau de transmiasion numérique L'invention se rapporte au domaine des télécommunications et plus particulièrement à un commutateur de paquets pour un transfert de données en mode asynchrone dans un réseau de transmission numérique, utilisable notamment dans un réseau à intégration de services destiné à transmettre des données d'origines différentes à des débits pouvant être largement différents, les différents services pouvant utiliser des débits de données variant dans une grande plage, "broadband ISDN" dans la terminologie anglo-saxonne. Dans l'option actuellement retenue pour le transfert des données dans de tels réseaux, le transfert s'effectuera en mode asynchrone, les données étant transmises dans des cellules de longueur fixe comportant un en-tête, et une charge utile. Il n'existe pas actuellement de commutateur large bande, c'est-à-dire susceptible d'absorber des débits largement différents, qui fonctionnerait en mode asynchrone. L'invention a donc pour objet un commutateur rapide de paquets adapté au transfert de données en mode asynchrone, qui soit sans blocage, susceptible d'absorber tous les débits des artères entrantes, et donc adapté à un grand nombre de communications. Selon l'invention, un commutateur de paquets pour un transfert de données en mode asynchrone dans un réseau de transmission numérique, destiné à interconnecter des voies appartenant à N artères entrantes dans le commnutateur à des voles appartenant à N artères sortantes du commutateur, est caractérisé en ce qu'il est structuré autour d'un bus de transfert de données multiplexées unique absorbant la totalité du débit, et comporte à cet effet en amont du bus de transfert: - un circuit adaptateur d'entrée, relié aux artères entrantes, qui transforme les données série des artères entrantes en données parallélisées en paquets de n bits, - N piles mémoire à décalage d'entrée associées aux artères d'entrée dont les entrées parallèles sont reliées aux sorties correspondantes du circuit adaptateur d'entrée, et dont les sorties transfèrent les données mémorisées par paquets de rnM bits sur le bus unique à nM bits via un circuit multiplexeur et en aval du bus: - N piles mémoires à décalage, reliées au bus, ayant chacune une sortie parallèle sur n bits, - et un circuit adaptateur de sortie relié aux sorties des piles mémoires et transférant les données sérialisées sur les artères sortantes. L'invention sera mieux comprise et d'autres caractéristi- ques apparaîtront à l'aide de la description qui suit en réfé- rence aux figures annexées. - La figure i est un schéma fonctionnel du commutateur selon l'invention La figure 2 illustre la constitution des cellules transmises; - La figure 3 illustre le transfert sur bus unique multiplexé selon l'invention. Pour résoudre le problème mentionné ci-dessus, le commuta- teur de paquets pour un transfert de données en mode asyn- chrone, à traduction centralisée par l'amont, selon l'invention est structuré autour d'un bus de transfert de données unique, absorbant la totalité du débit, et à vitesse modérée. La figure 1 représente le commutateur selon l'invention destiné à connecter des artères entrantes AEi, i = 1 à 8 par exemple, à des artères sortantes ASi, i = 1 à 8, chacune associée à son horloge HEi ou HSi. Les artères entrantes dans le commutateur, susceptibles de transmettre des données à débit élevé 150 Mbits/s au maximum, sont reliées à un circuit adaptateur d'entrée 10 réalisé en technologie rapide, parallélisant les données séries entrantes pour les transmettre sous forme d'octets en parallèle. Ce circuit prédiffusé effectue également la détection des codes de synchronisation et fournit à partir de l'horloge externe HE1 associée à une artère de transmission une horloge correspondante pour la sortie des octets HEi/8. Enfin ee circuit d'entrée 10 fournit également un bit indicateur de 'cellule vide' lorsqu'aucune donnée n'est transmise. La vitesse est ainsi réduite, et le niveau logique suivant peut être réalisé en technologie à vitesse modérée. Les données parallèles issues du circuit adaptateur d'entrée 10 sont donc transmises à des circuits comportant des piles mémoires, respectivement associés aux différentes artères, 201,... 20i... N, N étant le nombre d'artères entrantes recevant le numéro de l'artère entrante correspondante. Pour conserver cette vitesse modérée sur le bus unique de transfert, 50, les données sont extraites des piles mémoires 201 par paquetq de largeur plus grande, soit 8M, par exemple 64 bits. Pour le transfert sur le bus unique 50, les sorties sur 64 bits de chacune des piles mémoires 201 sont donc reliées aux entrées d'un multiplexeur temporel 30 qui transfère successivement les données issues des différentes mémoires 20i sur le bus unique de transfert. Pour comprendre comment est effectué le transfert sur le bus unique via le multiplexeur, la structure des cellules de données est montrée sur la figure 2. Chaque cellule, qui comporte un nombre entier prédéterminé d'octets, est formée d'un en-tête comportant notamment l'identificateur de voie logique, et d'une charge utile qui comporte les données à transmettre. La longueur de l'en-tête pourra être comprise entre 3 et 8 octets tandis que la longueur de la charge utile pourra être comprise entre 32 et 120 octets par exemple. Mais une fois les caractéristiques du réseau fixées, ces nombres sont les mêmes en tous points du réseau. Sur la figure 2 on a montré un en-tête de 3 octets, et une charge utile de 32 octets. L'en-tête est constitué du code identificateur de la vole logique et d'un code correcteur de voie logique, respectivement ID.VL, et CRC.VL. En conséquence, une cellule dans cette configuration comporte 35 octets. Si l'on revient à la figure 1, les données étant transférées par paquets de 64 bits sur le bus unique de transfert, une cellule sera mémorisée dans la pile mémoire d'entrée 20i dans une zone mémoire comportant cinq fois 8 octets soit 40 octets, 5 octets vides suivis de 3 octets d'en-tête dans la première zone de 64 bits, puis les 32 octets répartis en 4 groupes de 8 octets dans les zones mémoires de 64 bits. Une cellule sera donc transférée sur le bus unique par 5 impulsions d'horloge consécutives à 20 MHz par exemple, avant que le multiplexeur temporel commute sur une autre pile mémoire, 20i+1. En plus de la fonction mémoire, les circuits 20i, réalisent la fonction de contrôle des codes correcteurs de voie logique CRC.VLe et effectuent un forçage à zéro en cas d'erreur. La gestion de ces mémoires d'entrée est également effectuée dans ces circuits, avec élimination des cellules vides (par paquets de 64 bits) et le transfert sur le bus unique de sortie, avec bourrage à zéro pour les cellules vides, c'est-à-dire correspondant à un indicateur de cellule vide à 1. Ce transfert est illustré par la figure 3 qui montre les bus B20i de sortie des piles mémoires 20i et les paquets de données transférés correspondants, et leur succession sur le bus unique 50. La traduction centralisée est effectuée à ce niveau. Pour cela les bits de l'en-tête constituant l'identificateur de voie logique entrante, ID. VLe, soit 18 bits dans la configuration représentée sur la figure 2, sont transmis à un registre 40 commandé par une horloge à la fréquence 20/5 MHz, soit 4 MHz. Ces bits sont transférés à un traducteur 10 qui reçoit également, du micro-contrôleur ou du bus informatique destiné à la commande du commutateur (non représentés), le numéro de l'artère entrante à l'instant considéré. A partir de ces données, le traducteur qui est en fait une table mémoire de capacité 31x2 Mbits fournit, à partir de l'identificateur de voie logique entrante, l'identificateur de voie logique sortante, ID. VLs sur 18 bits, le code correcteur associé, CRC. VL5 sur 5 bits, et l'indicateur de sélection d'artère, un bit actif sur les 8 respectivement associés aux 8 artères sortantes, ou plusieurs bits actifs en cas de diffusion sur plusieurs artères sortantes. Ces 31 bits sont transmis à des circuits comportant des piles mémoires de sortie, 1201... 120 1208, en même temps qu'est relié aux entrées de données de ces mémoires le bus unique 50, via une pile de registres "pipeline" 60 qui permet d'absorber le retard introduit par le traducteur. Le numéro de l'artère de sortie et le code de synchronisation correspondant sont également appliqués à ces piles mémoires de sortie 120i qui reçoivent donc les données destinées à être transmises sur l'artère qui leur est associée. Ces données reçues par paquets de 64 bits, au rythme de MHz, sont restituées sous forme d'octets à 20 MHz sur l'artère correspondante. Les circuits à mémoire de sortie, 120i, disposent donc des fonctions suivantes, également câblées, en plus de leur fonction mémoire: reconnaissance de l'instruction de marquage par l'indicateur de sélection d'artère(s) sur 8 bits; - insertion des identificateurs de voles logiques sortantes ID.VL et des codes correcteurs associés CRC.VLs, dans les cellules à la place des identificateurs, et codes correcteurs associés, des voies logiques entrantes - gestion des zones mémoires de sortie insertion éventuelle des cellules vides - transformation des paquets 64 bits en suite d'octets. Ces octets sont alors transmis à un circuit adaptateur de sortie 110 qui effectue la transformation parallèle 8 bits/série, et transmet donc les données série au rythme de MHz maximum sur l'artère de sortie correspondante. A cet effet l'adaptateur de sortie reçoit les horloges externes HSi des artères sortantes pour la sortie des bits série, et fournit à partir de ces horloges, les horloges correspondantes pour la sortie des octets HSi/8 aux circuits à mémoire de sortie, 120i. La description fonctionnelle faite ci-dessus permet d'in- troduire la description matérielle qui lui est liée: Les circuits adaptateurs d'entrée et de sortie, 10 et 110, peuvent être réalisés sur un circuit prédiffusé unique en technologie rapide, c'est-àdire en technologie ECL 100K ou en technologie BICMOS, qui sont susceptibles de travailler à des débits compatibles avec cette application, c'est-à-dire jusqu'à 150 MHz maximum. Les circuits à piles mémoires d'entrée et de sortie peuvent être réalisées en technologie à vitesse modérée par exemple en technologie CMOS 20 MHz par exemple avec des boîtiers de 90 broches pour les circuits à piles mémoires d'entrée et de 120 broches (ou 2 boitiers 75 broches) pour les circuits à piles mémoires de sortie. La description indiquée ci-dessus a été donnée pour 8 artères d'entrée et 8 artères de sortie, mais un avantage de cet structure est qu'elle peut être adaptée sans changement d'archi- tecture et avec une adaptation optimale (structure homothétique) à des commutateurs de taille plus petite par exemple pour 4 artères entrantes et 4 artères sortantes. La taille du traducteur pourra alors être limitée à 256 K x 31 puisque l'identificateur de voie logique peut être réduit à 15 éléments binaires. Le nombre de piles mémoires est évidemment adapté au nombre d'artères soit 4 pour les piles mémoires d'entrée et 4 pour les piles mémoires de sortie, le multiplexeur effectuant alors un multiplexage de 4 fois 64 bits à 64 bits. L'architecture permet donc de dépeupler facilement en enlevant des artères; conçue pour 8 artères elle s'adapte sans problème à 4. Comme indiqué ci-dessus, cette structure permet également la diffusion: plusieurs voles sortantes appartenant à des artères différentes de sortie (au plus 1 par artère) peuvent recevoir la même vole entrante. Sa modularité est également un avantage pour minimiser les coûts en adaptant exactement la technologie utilisée pour chaque module à ce qui est nécessaire. Bien entendu l'invention n'est pas limitée au mode de réalisation précisément décrit. Il est clair que pour un trans- fert de données en mode asynchrone utilisant des cellules plus longues, le multiplexage des voles correspondant devrait être adapté à la taille des cellules. De même, le transfert en mode asynchrone utilise des cellules constituées d'un nombre entier prédéterminé d'octets. C'est pourquoi le circuit adaptateur d'entrée (et réciproquement en sortie) parallélise les données en octets. Mais la parallélisation pourrait être faite différemment par exemple série/paquets de 16 bits, si pour des raisons technologiques cette forme est mieux adaptée. REVENDICATIONS 1. Commutateur de paquets pour un transfert de données en mode asynchrone dans un réseau de transmission numérique, destiné à interconnecter des voles appartenant à N artères entrantes dans le commutateur à des voies appartenant à N artères sortantes du commutateur, caractérisé en ce qu'il est structuré autour d'un bus de transfert de données multiplexées unique (50) absorbant la totalité du débit, et comporte à cet effet en amont du bus de transfert (50): - un circuit adaptateur d'entrée (10), relié aux artères entrantes, qui transforme les données série des artères entrantes en données parallélisées en paquets de n bits, - N piles mémoire à décalage d'entrée (20i, i = 1 à N) associées aux artères d'entrée dont les entrées parallèles sont reliées aux sorties correspondantes du circuit adaptateur d'entrée, et dont les sorties transfèrent les données mémorisées par paquets de nM bits sur le bus unique à nM bits (50) via un circuit multiplexeur (30) et en aval du bus (50) - N piles mémoires à décalage (120i, i = i à N), reliées au bus (50), ayant chacune une sortie parallèle sur n bits, - et un circuit adaptateur de sortie (110) relié aux sorties des piles mémoires et transférant les données sérialisées sur les artères sortantes. 2. Commutateur selon la revendication 1, caractérisé en ce qu'il comporte un traducteur (100), effectuant une traduction centralisée à commande par l'amont, couplé - à la sortie du multiplexeur (30) sur le bus de transfert pour prélever les bits associés aux identificateurs de voies logiques entrantes et les traduire en Identificateurs de voies logiques sortantes, la sortie correspondante du traducteur étant également reliée aux entrées des N piles mémoires de sortie, une mémoire pipeline (60) étant placée sur le bus de transfert pour introduire le retard sur les données nécessaire au fonctionnement du traducteur. 3. Commutateur selon l'une des revendications précédentes, caractérisé en ce que l'adaptateur d'entrée (10) et l'adaptateur de sortie (110) sont réalisés dans un circuit intégré en technologie rapide, ECL 100K ou BICMOS. 4. Commutateur selon la revendication 3, caractérisé en ce que les piles mémoires à décalage d'entrée et de sortie (20i et i) sont réalisées dans des circuits intégrés prédiffusés, en technologie à vitesse modérée, type CMOS 20 MHZ. 5. Commutateur selon la revendication 1 o le nombre N d'artères, entrantes ou sortantes, est égal à 8. 6. Commutateur selon la revendication 1, caractérisé en ce que les données série sont parallélisées en octets, n = 8, dans l'adaptateur d'entrée, puis transférées en paquets de 64 bits (M = 8), le bus unique de transfert des données étant un bus de 64 bits.