Brevet FR2821224A1 — publié le 20020823

La présente invention concerne, de manière générale, la transmission de données série et, en particulier, un procédé de fourniture de données destinées à une transmission série par multiplexage temporel, ainsi qu'un transmetteur de données série et un commutateur pour mettre en #uvre ce procédé. Elle concerne plus particulièrement un système de files d'attente pour des transmetteurs de données série utilisant un multiplexage par répartition dans le temps. Le multiplexage par répartition dans le temps ou multiplexage temporel (TDM) est un mécanisme couramment utilisé pour partager des ressources sur une liaison de communication. Si l'on prend comme exemple le cas d'un câble unique reliant de multiples canaux de parole ou de données entre des commutateurs d'appel, la liaison est divisée temporellement en trames successives de durée égale. Chaque trame est encore subdivisée temporellement en une séquence de tranches (numérotées de 0 à n), chaque tranche pouvant recevoir 8 bits. Le nombre de tranches à l'intérieur d'une trame est déterminé par le débit de données de la liaison et la durée de la trame. De multiples canaux sont formés dans un train de données par l'attribution de numéros de tranches respectives aux canaux. Ainsi, un premier canal (CHO) est formé à partir du groupe constitué des premières tranches des trames successives, un second canal (CH1) est formé à partir du groupe constitué des secondes tranches des trames successives, et ainsi de suite. Des données sont fournies à un transmetteur de données série de type TDM à partir d'une source (appelée ci-après une mémoire "externe" car elle ne fait pas partie du transmetteur de données série proprement dit). Les données sont stockées temporairement au niveau du transmetteur de données série dans un ensemble de files d'attente de données, une file d'attente étant prévue pour chaque "contexte". Chaque contexte comprend plusieurs tampons (trois, par exemple). La figure 1 représente schématiquement l'architecture d'une partie d'un transmetteur de données série TDM. Une interface TDM 1 fournit des demandes de données à intervalles réguliers à une table de consultation de contextes 2. La table de consultation .établit une correspondance entre des numéros de canaux TDM et des numéros de "contextes". La table de consultation 2 parcourt en boucle les contextes au fur et à mesure qu'elle reçoit des demandes de données et transmet des numéros de contextes à une antémémoire de données 3. Le bloc de données suivant du contexte identifié est extrait du tampon approprié et est transmis à l'interface TDM. Lorsqu'un tampon appartenant à un contexte est vide, une demande de rechargement est adressée à la mémoire externe 5 par l'intermédiaire d'une interface de mémoire 4. Pour un contexte donné, un, deux ou trois tampons peuvent être vides à un moment donné, auquel cas un nombre correspondant de demandes de rechargement de tampon est en attente. Le tableau suivant représente un exemple de table de consultation pour un train de données série comportant 24 canaux et utilisant 7 contextes. Canal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 TDM Numéro de 1 2 3 4 5 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 contexte Dans cet exemple, les canaux 0 à 5 sont mis en correspondance avec les numéros de contextes 1 à 7, tandis que les canaux 6 à 23 sont tous mis en correspondance avec le contexte 7. On se rend compte que les tampons du contexte 7 vont être vidés à une fréquence beaucoup plus grande que ceux des contextes 1 à 6. Cette situation risque de donner lieu à des problèmes de remplissage des tampons du contexte 7 à un rythme suffisamment rapide. Ceci est dû au fait que l'antémémoire de données 3 et l'interface de mémoire 4 traitent toutes les demandes de rechargement des contextes avec une priorité égale. Dans le scénario le plus défavorable et en référence à l'exemple ci-dessus, les tampons des contextes 1 à 6 seront vides et émettront des demandes de rechargement au moment où un ou plusieurs tampons du contexte 7 vont se vider. Si la demande de rechargement du contexte 7 n'est pas satisfaite suffisamment rapidement, l'ensemble du contexte risque d'être vidé de sorte qu'aucune donnée ne sera disponible pour les canaux 6 à 23. Ceci va entraîner une interruption des données transmises sur la liaison TDM, ce qui n'est pas admissible. La présente invention a précisément pour but de remédier au problème défini ci-dessus de l'art antérieur. Pour atteindre ce but et selon un premier aspect de la présente invention, il est proposé un procédé de fourniture de données destinées à être transmises dans un train de données série à multiplexage temporel (TDM), caractérisé en ce qu'il comprend les étapes qui consistent à: mettre en correspondance des canaux du train TDM avec des contextes, chaque contexte comportant un ensemble de tampons mémoires destinés à stocker des données à transmettre; extraire des données des contextes selon une séquence définie par la mise en correspondance et transmettre les données extraites dans le train TDM; émettre, lorsqu'un ou des tampons d'un contexte se vident, une demande de rechargement de tampon pour faire en sorte que des données soient extraites d'une mémoire afin de recharger le tampon, une priorité étant attribuée à chaque demande de rechargement de tampon; et gérer les demandes de rechargement de tampon en fonction de leurs priorités relatives afin de recharger les tampons des contextes. Grâce à la mise en #uvre de modes de réalisation de l'invention, il est moins probable qu'un contexte se videra complètement, car les demandes de rechargement associées aux contextes presque complètement vides auront tendance à être prioritaires sur celles associées à des contextes présentant encore des niveaux de remplissage importants. Dans l'un des modes de réalisation de la présente invention, la priorité attribuée à une demande de rechargement de tampon dépend du nombre de tampons vides du contexte correspondant. Dans un autre mode de réalisation de l'invention, la priorité attribuée à une demande de rechargement de tampon dépend des priorités de demandes de rechargement de tampon en attente pour d'autres tampons du même contexte. De préférence, des priorités sont attribuées aux demandes de rechargement sur la base du principe premier arrivé, premier servi, une demande se voyant attribuer la priorité non attribuée la plus faible, et une fois qu'une demande de rechargement a été satisfaite, la priorité de cette demande est disponible pour être attribuée à une demande suivante. Un avantage de cette solution réside en ce que, lorsque l'émetteur TDM est activé pour la première fois (cas dans lequel tous les tampons d'un contexte sont vides), l'entité qui gère les demandes de rechargement n'est pas surchargée de demandes à grande priorité. Dans un mode de réalisation préféré de la présente invention, les demandes de rechargement de tampon sont émises par une antémémoire de données qui fournit les contextes, et sont transmises à une interface de mémoire chargée d'extraire des données de la mémoire pour recharger les tampons. De préférence l'interface de mémoire place les demandes de rechargement dans une file d'attente de traitement en fonction de leurs priorités relatives. Selon un deuxième aspect de la présente invention, il est proposé un transmetteur de données série pour transmettre des données dans un train de données série à multiplexage temporel (TDM), caractérisé en ce qu'il comprend: une antémémoire de données conçue pour, en service, fournir un groupe de contextes, chaque contexte comprenant un ensemble de tampons mémoires destinés à stocker des données à transmettre; des moyens destinés à stocker une table de mise en correspondance de canaux TDM avec des contextes; des premiers moyens de traitement destinés à extraire des données des contextes selon une séquence définie par la table de correspondance et à transmettre les données extraites dans le train TDM; des deuxièmes moyens de traitement destinés à émettre une demande de rechargement de tampon afin de faire en sorte que des données soient extraites d'une mémoire pour recharger un tampon, lorsqu'un ou des tampons d'un contexte se vident, et à attribuer une priorité à chaque demande de rechargement de tampon; et des troisièmes moyens de traitement destinés à gérer les demandes de rechargement de tampon et à recharger les tampons des contextes. On comprendra que les moyens destinés à stocker une table de mise en correspondance de canaux TDM avec des contextes peuvent consister en un dispositif de mémoire ou être mis en #uvre sous une forme matérielle. Les premiers, deuxièmes et troisièmes moyens de traitement peuvent être fournis par un processeur unique (un microprocesseur ou un circuit intégré spécifique (ASIC), par exemple), ou comprendre chacun un processeur séparé. Le ou les processeurs peuvent être équipés d'une mémoire. Dans un mode de réalisation préféré de la présente invention, l'antémémoire de données, les moyens destinés à stocker une table de mise en correspondance de canaux TDM avec des contextes, les premiers moyens de traitement, les deuxièmes moyens de traitement et les troisièmes moyens de traitement sont intégrés dans un dispositif unique. Selon un troisième aspect de la présente invention, il est proposé un commutateur destiné à relier un réseau TDM à un réseau commuté par paquets, le commutateur comprenant un transmetteur TDM selon le deuxième aspect ci-dessus de la présente invention. Ce qui précède, ainsi que d'autres buts, caractéristiques et avantages de la présente invention, ressortira plus clairement de la description détaillée suivante d'un mode de réalisation donnée à titre d'exemple nullement limitatif en référence aux dessins annexés dans lesquels: la figure 1 représente schématiquement une partie d'un transmetteur de données série à multiplexage temporel; et la figure 2 est un organigramme d'un procédé de rechargement de contextes au sein d'une antémémoire de données du transmetteur de la figure 1. La partie d'un transmetteur de données série à multiplexage par répartition dans le temps comprenant l'antémémoire de données (destinée à fournir les contextes) et les moyens pour extraire des données de l'antémémoire de données et pour inscrire des données dans cette dernière a été décrite en référence à la figure 1. Pour décrire un mode de réalisation de la présente invention, il va être fait à nouveau référence à cette figure. On suppose que les fonctions de l'interface TDM, de la table de consultation de contextes et de la mémoire externe restent inchangées. Des demandes de données sont transmises par l'intermédiaire de l'interface TDM à la table de consultation de contextes. La table de consultation de contextes parcourt en boucle les contextes en fonction de la correspondance canaux/contextes qui y est définie. Comme il n'est pas possible de prédire à l'avance combien de canaux TDM vont être attribués à un contexte donné, il est nécessaire de prévoir un mécanisme pour traiter de manière souple des changements relatifs aux priorités des contextes. Si l'on considère l'antémémoire de données, celle-ci fournit un certain nombre de tampons pour chaque contexte. Par exemple, chaque contexte peut disposer de trois tampons. Lorsqu'une demande de données est transmise à l'antémémoire de données (demande qui identifie un contexte), le bloc (mot) de données suivant est extrait de l'un des tampons. Un compteur est utilisé pour conserver la trace de l'emplacement "suivant" pour chaque contexte. A l'aide du compteur correspondant, l'antémémoire de données détecte le moment où l'un quelconque des tampons d'un contexte se vide. Pour chaque contexte, il existe un certain nombre de niveaux de priorité pouvant être attribués à des demandes de rechargement de tampon transmises à l'interface de mémoire - le nombre de niveaux de priorité correspondant au nombre de tampons, c'est-à-dire trois dans le cas présent. Les niveaux de priorité sont attribués sur la base du principe premier arrivé, premier servi, une demande de rechargement donnée se voyant attribuer la priorité non attribuée la plus faible. Ainsi, par exemple, lorsqu'un premier tampon d'un contexte se videra, la demande de rechargement correspondante se verra attribuer un niveau de priorité 1 (c'est-à-dire faible). Si un second tampon se vide, tandis que le premier tampon est toujours vide, la seconde demande de rechargement se verra attribuer un niveau de priorité 2 (c'est-à-dire moyen), et ainsi de suite. Il peut arriver, par exemple, que des demandes de rechargement ayant des niveaux de priorité de 1 (faible) et 3 (élevé) soient en attente, auquel cas, lorsque le troisième tampon se videra, la demande de rechargement correspondante se verra attribuer un niveau de priorité 2 (puisque c'est la priorité non attribuée la plus faible). La demande de rechargement de tampon contenant le niveau de priorité est transmise de l'antémémoire de données à l'interface de mémoire. L'interface de mémoire place la demande de rechargement dans une file d'attente correspondant au niveau de priorité de la demande. Les demandes placées dans la file d'attente de niveau 3 sont traitées avant les demandes placées dans les files d'attente de niveaux 1 et 2, tandis que les demandes placées dans la file d'attente de niveau 2 sont traitées avant les demandes placées dans la file d'attente de niveau 1. L'interface de mémoire traite une demande de rechargement en extrayant un bloc de données d'une mémoire externe (ou interne). Le bloc de données extrait est transmis à l'antémémoire de données où il est inscrit dans le tampon approprié. L'antémémoire actualise l'enregistrement de tampon vide correspondant au contexte concerné en supprimant la priorité qui lui a été attribuée. Le niveau de priorité attribué à la demande satisfaite est alors disponible pour être attribué à une demande suivante. La figure 2 représente un organigramme du procédé de rechargement de tampons de contextes décrit ci-dessus. Bien que la description précédente ait porté sur un mode de réalisation particulier de la présente invention, celle-ci n'est bien entendu pas limitée à l'exemple spécifique décrit et illustré ici et l'homme de l'art comprendra qu'il est possible d'y apporter de nombreuses variantes et modifications sans pour autant sortir du cadre de l'invention. A titre d'exemple, le nombre de contextes et de canaux peut être modifié. Le nombre de tampons disponibles pour chaque contexte peut également être modifié. L'invention peut, en outre, être mise en #uvre dans un transmetteur de données série transmettant plusieurs trains de données. Dans ce cas, la table de consultation de contextes établira une correspondance entre les contextes et les canaux de tous les trains de données disponibles. REVENDICATIONS 1. Procédé de fourniture de données destinées à être transmises dans un train de données série à multiplexage temporel (TDM), caractérisé en ce qu'il comprend les étapes qui consistent à: mettre en correspondance des canaux du train TDM avec des contextes, chaque contexte comprenant un ensemble de tampons mémoires destinés à stocker des données à transmettre; extraire des données des contextes selon une séquence définie par la mise en correspondance et transmettre les données extraites dans le train TDM; émettre, lorsqu'un ou des tampons d'un contexte se vident, une demande de rechargement de tampon pour faire en sorte que des données soient extraites d'une mémoire afin de recharger le tampon, une priorité étant attribuée à chaque demande de rechargement de tampon; et gérer les demandes de rechargement de tampon en fonction de leurs priorités relatives afin de recharger les tampons des contextes. 2. Procédé selon la revendication 1, caractérisé en ce que la priorité attribuée à une demande de rechargement de tampon dépend du nombre de tampons vides du contexte correspondant. 3. Procédé selon la revendication 1, caractérisé en ce que la priorité attribuée à une demande de rechargement de tampon dépend des priorités de demandes de rechargement de tampon en attente pour d'autres tampons du même contexte. 4. Procédé selon la revendication 3, caractérisé en ce que des priorités sont attribuées aux demandes de rechargement sur la base du principe premier arrivé, premier servi, une demande se voyant attribuer la priorité non attribuée la plus faible, et en ce qu'une fois qu'une demande de rechargement a été satisfaite, la priorité de cette demande est disponible pour être attribuée à une demande suivante. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les demandes de rechargement de tampon sont émises par une antémémoire de données (3) qui fournit les contextes, et sont transmises à une interface de mémoire (4) chargée d'extraire des données de la mémoire (5) pour recharger les tampons. 6. Procédé selon la revendication 5, caractérisé en ce que l'interface de mémoire (4) place les demandes de rechargement dans une file d'attente de traitement en fonction de leurs priorités relatives. 7. Transmetteur de données série pour transmettre des données dans un train de données série à multiplexage temporel (TDM), caractérisé en ce qu'il comprend: une antémémoire de données (3) conçue pour, en service, fournir un groupe de contextes, chaque contexte comprenant un ensemble de tampons mémoires destinés à stocker des données à transmettre; des moyens (2) destinés à stocker une table de mise en correspondance de canaux TDM avec des contextes; des premiers moyens de traitement (1) destinés à extraire des données des contextes selon une séquence définie par la table de correspondance et à transmettre les données extraites dans le train TDM; des deuxièmes moyens de traitement (3) destinés à émettre une demande de rechargement de tampon afin de faire en sorte que des données soient extraites d'une mémoire (5) pour recharger un tampon, lorsqu'un ou des tampons d'un contexte se vident, et pour attribuer une priorité à chaque demande de rechargement de tampon; et des troisièmes moyens de traitement (4) destinés à gérer les demandes de rechargement de tampon et à recharger les tampons des contextes. 8. Transmetteur selon la revendication 7, caractérisé en ce que l'antémémoire de données (3), les moyens (2) destinés à stocker une table de mise en correspondance de canaux TDM avec des contextes, les premiers moyens de traitement (1), les deuxièmes moyens de traitement (3) et les troisièmes moyens de traitement (4) sont intégrés dans un dispositif unique. 9. Commutateur destiné à relier un réseau TDM à un réseau commuté par paquets, caractérisé en ce qu'il comprend un transmetteur TDM selon la revendication 8.