Brevet FR2700865A1 — publié le 19940729

DISPOSITIF DE GESTION DE MEMOIRE TAMPON DE CELLULES La présente invention concerne un dispositif de gestion de mémoire tampon de cellules. Un tel dispositif trouvera son emploi dans les systèmes de commutation de données organisées en paquets ou cellules, notamment dans de tels systèmes de type ATM (à multiplexage temporel asynchrone), dans lesquels un des aspects critiques des performances en matière d'écoulement du trafic est la nécessité du multiplexage statistique de flux de cellules différents, ce que l'on réalise dans la10 forme la plus simple, à l'aide d'une mémoire tampon recevant des cellules d'entrée de plusieurs sources de cellules et fournissant des cellules de sortie à une seule liaison de sortie Le dispositif de gestion de la mémoire tampon a notamment pour fonction de diriger les cellules d'entrées15 vers les emplacements de mémoire libres dans la mémoire tampon. Quand le flux total des cellules d'entrée dépasse le flux des cellules de sortie, la mémoire tampon se remplit. Lorsqu'elle est pleine, une cellule d'entrée survenant, la20 perte d'une cellule est inévitable Cet évènement est rare, du fait que le débit de cellules de la liaison de sortie est au moins égal à la somme des débits moyens des sources de cellules Il se produit, de façon aléatoire, lors de pointes simultanées du débit de cellules de plusieurs sources Il25 frappe donc les sources de cellules en proportion de leur débit Si la proportion de cellules qu'il est admis de perdre est la même pour toutes les sources, on peut donc l'accepter. Toutefois, les données à multiplexer peuvent correspondre à des services différents et des performances différentes en termes de perte de cellule peuvent leur être assignées. La solution consistant à dimensionner la mémoire tampon de façon à satisfaire la performance de perte la plus élevée vis-à-vis de l'ensemble des services est critiquable en raison de ce que, d'une manière générale, il est toujours souhaitable de limiter la capacité des mémoires tampon, non pas pour en limiter le coût, mais parce que, plus grande est la mémoire tampon, plus long est le temps que peuvent y passer certaines cellules Inversement, pour une mémoire 5 tampon de capacité donnée, il est intéressant de pouvoir augmenter l'intensité du flux de cellules sur la liaison de sortie tout en satisfaisant les objectifs de taux de perte de cellules pour chaque service. Des solutions plus complexes ont été considérées dans l'article "Limiting removal depth in the pushout scheme for ATM networks", de R Beraldi et al, publié dans les ICC'92 de la IEEE. La première, dénommée "Threshold" ou "Partial Buffer Sharing", consiste à définir deux flux de cellules, l'un a priorité de perte élevée, l'autre à priorité de perte faible, et à définir, dans une mémoire tampon de capacité totale K un espace plus réduit de dimension S Quand l'espace S n'est pas rempli, les deux flux de cellules ont librement accès à la mémoire tampon Dès que l'espace S est20 rempli, seules les cellules du flux de cellules de priorité élevée sont enregistrées dans la mémoire tampon, les cellules du flux de cellules de priorité faible sont alors perdues. La deuxième, dénommée "Pushout", consiste à définir deux flux de cellules comme plus haut et, lorsque la mémoire tampon (non partitionnée) est pleine, à y admettre quand même une cellule d'entrée, si la mémoire tampon contient au moins une cellule du flux de cellules de priorité faible et si la cellule d'entrée appartient au flux de cellules de30 priorité élevée Après élimination de cellule de priorité faible, la file d'attente est éventuellement réorganisée et la cellule d'entrée peut alors être acceptée dans la mémoire tampon disposant d'un emplacment libre. Ces deux solutions favorisent le flux de cellules de priorité élevée, au détriment du flux de cellules de priorité faible Elles ne sont toutefois pas satisfaisantes en ce qu'elles n'envisagent que deux classes de flux de cellules, la gestion de la mémoire tampon devenant difficile dès que l'on considère plus de deux classes Par ailleurs, le dimensionnement de la mémoire tampon ne peut se faire 5 qu'à partir d'hypothèses sur la proportion de cellules des deux flux de cellules dans le flux total de cellules d'entrée Bien entendu, de telles hypothèses ne sont possibles que dans la mesure o l'on peut traiter de flux de cellules prédéfinis auxquels ont peut associer des débits10 qui leur sont propres. Cela étant, lorsque ces hypothèses ne sont pas satisfaites, les mesures adoptées ne procurent pas toujours les résultats attendus Ainsi, on peut considérer que ces deux solutions connues sont l'une et l'autre "injustes"15 lorsque le flux de cellules de priorité faible ayant un débit relativement faible, un dépassement persistant de débit du flux de cellules de priorité élevée amène au remplissage complet de l'espace S de la mémoire tampon (solution "Threshold") ou de l'ensemble de la mémoire tampon (solution "Pushout) En effet, à partir de ce moment, un débit d'entrée total excessif va causer la perte de cellules du seul flux de cellules de priorité faible, alors que la cause de la surcharge de la mémoire tampon se trouve dans le débit antérieur excessif du flux de cellules de priorité25 élevé. Il existe toutefois des cas, o l'on souhaite favoriser non pas un flux de cellules prédéfini par rapport aux autres, mais un flux de cellules non prédéfini constitué de cellules individuelles dont l'appartenance à ce flux de30 cellules non prédéfini possède un caractère arbitraire Dans ce cas, il n'est plus permis de faire des hypothèses sur le débit de tels flux de cellules non prédéfinis Les solutions connues que l'on vient de discuter ne sont alors plus applicables.35 Or, dans l'état actuel des études sur les systèmes à large bande employant les techniques ATM, il est justement question d'attribuer aux cellules des connexions individuelles, non seulement une classe de qualité de service valable pour toutes les cellules de la connexion, mais aussi une indication de priorité de perte de cellule5 propre à chaque cellule Cela revient à constituer un flux de cellules non prédéfini pour chaque valeur de l'indication de priorité de perte de cellules, l'appartenance de ces cellules à un tel flux possédant un caractère arbitraire. Il existe donc un besoin pour un dispositif de gestion de mémoire tampon de cellules recevant plusieurs flux de cellules caractérisés par des performances différentes de taux de perte de cellules et comprenant des moyens pour reconnaître qu'une perte de cellule est inévitable lorsque la mémoire tampon est pleine, ainsi que des moyens pour15 décider alors, qu'une cellule incidente doit être enregistrée dans la mémoire tampon en éliminant une autre cellule de la mémoire tampon, qui sera perdue, tandis que la première pourra ainsi être conservée. Ce besoin est satisfait par le disposition de gestion de mémoire tampon de cellules de l'invention qui comprend des moyens pour associer à chaque flux de cellules une indication dynamique de bilan de perte de cellules, qui est une fonction d'une performance de perte de cellules assignée à ce flux et des pertes de cellules effectivement constatées pour ce flux de cellules, et des moyens pour sélectionner un flux de cellules, notamment par comparaison desdites indications dynamiques de perte de cellules, et pour causer en conséquence l'enregistrement de la cellule incidente dans la mémoire tampon disposant d'un emplacement libre après30 l'élimination d'une cellule du flux de cellules sélectionné. Ainsi, l'invention prévoit de mettre en rapport, pour chaque flux de cellules, une performance de perte de cellules, c'est-à-dire un taux de perte de cellules qu'il est souhaitable de ne pas dépasser, et les pertes de35 cellules effectivement constatées, ce qui permet de savoir, pour chaque flux de cellules, si les pertes de cellules qu'il a déjà subi sont relativement faibles ou fortes, c'est-à-dire s'il constitue un bon candidat pouvant supporter sans inconvénient la perte additionnelle d'une cellule, ou, au contraire, un mauvais candidat auquel une 5 telle éventualité doit être épargnée. Avantageusement, dans ce dispositif de gestion de mémoire tampon de cellules des moyens sont prévus pour présélectionner dynamiquement ceux des flux de cellules ayant au moins une cellule enregistrée dans la mémoire10 tampon et les moyens pour sélectionner un flux de cellules sont couplés aux précédents afin que ladite sélection ait lieu parmi les flux de cellules présélectionnés. Selon un mode de réalisation particulièrement simple de l'invention, ladite indication dynamique de bilan de perte de cellules est obtenue par des moyens de comptage associés à chaque flux de cellule et permettant d'établir un taux de perte effectif de cellules du flux de cellules, lequel est mis en relation avec ladite performance de perte de cellules de ce flux pour fournir ladite indication20 dynamique de bilan de perte de cellules. En pratique, lesdits moyens de comptage associés à chaque flux de cellules comprennent un compteur de cellules avançant d'un pas à chaque cellule présentée à la mémoire tampon et fournissant un "jeton" de crédit de perte de25 cellule lorsqu'il a compté un nombre déterminé (Ni) de cellules, ainsi qu'un compteur de jetons avançant d'un pas à chaque jeton et reculant d'un pas chaque fois qu'il se produit une perte de cellule pour le flux de cellules. Ledit nombre déterminé (Ni) de cellules est défini en fonction de ladite performance de perte de cellules du flux de cellules, de sorte que le nombre de jetons comptés par ledit compteur de jetons est une représentation du crédit de perte de cellules, c'est-à-dire du nombre de cellules qui peuvent être perdues par le flux de cellules dans le respect35 de ladite performance de perte de cellules et que le compte positif ou négatif fourni par le compteur de jetons indique à tout instant le bilan créditeur ou débiteur de perte de cellules de ce flux de cellules. Avantageusement, lesdits moyens pour sélectionner un flux de cellules comprennent des moyens exploitant lesdites indications dynamiques de bilan de perte de cellules pour classer les flux de cellules suivant qu'ils sont plus ou moins aptes à faire l'objet d'une perte de cellule et des moyens pour faire un choix parmi ceux qui y sont aptes, ou même seulement parmi ceux qui y sont le plus aptes.10 Ce choix peut être, par exemple, aléatoire ou guidé par un ordre de priorité, modifié cycliquement ou non Il sera de préférence limité à celui ou ceux des flux de cellules ayant l'aptitude la plus élevée à faire l'objet d'une perte de cellule.15 Les différents objets et caractéristiques de l'invention apparaîtront plus clairement à la lumière de la description qui va suivre d'exemples de réalisation de l'invention, faite en se référant à la figure annexée qui représente le diagramme- blocs d'un exemple de réalisation du20 dispositif de gestion de mémoire tampon de cellules de la présente invention. Le dispositif de gestion de mémoire tampon de cellules 1 est associé à une mémoire tampon de cellules 2 recevant plusieurs flux de cellules d'entrée FC 1, F Ci, F Cn, caractérisés par des performances différentes de taux de perte de cellules, et, après multiplexage au moyen d'un multiplexeur MUX, les enregistrant dans un espace de mémoire tampon EMT dont les cellules sont ensuite extraites pour être transmises sous la forme d'un (ou plusieurs) flux de cellules de sortie FS. Le dispositif 1 (ou la mémoire tampon 2) comprend un détecteur de cellules CD couplé aux flux de cellules d'entrée F Cl F Cn, identifiant pour chaque cellule d'entrée (par analyse de son contenu, de façon classique, soit directement, soit par l'intermédiaire d'une fonction de traduction d'étiquette) le flux de cellules auquel elle appartient et fournissant un signal CR 1, C Ri, C Rn indiquant séparément l'arrivée de chaque cellule d'entrée selon le flux de cellules auquel elle appartient. Un dispositif d'adressage de la mémoire tampon DAMT, de type classique, associé à la mémoire tampon 2 ou inclus dans le dispositif 1, fournit les adresses d'emplacements libres dans d'espace de mémoire tampon EMT et liste les emplacements occupés, séparément, pour les différents flux de cellules d'entrée Il fournit par ailleurs un signal MTP10 indiquant l'état de remplissage de la mémoire tampon, une valeur de ce signal MTP indiquant que la mémoire tampon est pleine et qu'une perte de cellule est inévitable, ainsi qu'un signal par flux de cellules CP 1, C Pi,C Pn indiquant la présence ou l'absence d'au moins une cellule,15 séparément, pour chacun des flux de cellules dans la mémoire tampon, ce qui est aisément dérivé de la liste des emplacements occupés par chaque flux de cellules (liste vide ou non-vide). Ces signaux sont transmis à des moyens de sélection SCDA prévus pour décider, lorsque le signal MTP indique que la mémoire tampon de cellules est pleine, si une cellule d'entrée incidente doit être enregistrée dans la mémoire tampon à la place d'une autre cellule qui sera perdue, tandis que la première pourra ainsi être conservée, c'est-à-25 dire, de façon plus générale, pour sélectionner le flux de cellules qui, en pareille circonstance devra supporter le perte d'une cellule. Pour y parvenir, le dispositif 1 comprend encore des moyens CF 1, C Fi, C Fn pour associer à chaque flux de cellules une indication dynamique de bilan de perte de cellules CLF 1, CL Fi, CL Fn, qui est une fonction d'une performance de perte de cellules assignée à ce flux et des pertes de cellules effectivement constatées pour ce flux de cellules, et pour fournir de telles indications auxdits35 moyens de sélection SCDA. D'une façon générale, l'invention prévoit de mettre en rapport, pour chaque flux de cellules, une performance de perte de cellules, c'est-àdire un taux de perte de cellules qu'il est souhaitable de ne pas dépasser, et les pertes de 5 cellules effectivement constatées, ce qui permet de savoir, pour chaque flux de cellules, si les pertes de cellules qu'il a déjà subi sont relativement faibles ou fortes, c'est-à-dire s'il constitue un bon candidat pouvant supporter sans inconvénient la perte d'une cellule, ou, au10 contraire, un mauvais candidat auquel une telle éventualité doit être épargnée. Dans le mode de réalisation de la figure annexée, les moyens de sélection SCDA sont prévus pour présélectionner dynamiquement ceux des flux de cellules ayant au moins une15 cellule enregistrée dans la mémoire tampon par la lecture des signaux CP 1, C Pi, C Pn, de manière que ladite sélection ait lieu parmi les flux de cellules présélectionnés. L'indication dynamique de bilan de perte de cellules CL Fi par exemple, est obtenue par des moyens de comptage associés à chaque flux de cellule, Cci, CLC Ai en l'occurence, et permettant d'établir un taux effectif de perte de cellules du flux de cellules, lequel est mis en relation avec ladite performance de perte de cellules de ce25 flux pour fournir ladite indication dynamique de bilan de perte de cellules. Plus précisément, les moyens de comptage C Fi associés au flux de cellules F Ci, comprennent un compteur de cellules C Ci avançant d'un pas à chaque cellule du flux de cellules30 F Ci présentée à la mémoire tampon et signalée par le signal C Ri Il fournit un "jeton" de crédit de perte de cellules lorsqu'il a compté un nombre déterminé (Ni) de cellules A cette fin, il est dans cet exemple de réalisation complété par un registre Ni contenant la valeur Ni et par un35 comparateur COM Pl qui, lorsque le compteur C Ci indique la valeur Ni, fournit le jeton JE Ti lequel commande la remise en position initiale du compteur C Ci Le jeton JE Ti est transmis à un compteur de jetons CLC Ai avançant d'un pas à chaque jeton et reculant d'un pas chaque fois qu'il se produit une perte de cellule pour le flux de cellules Fci de 5 la manière qui sera exposée un peu plus loin. Ledit nombre déterminé (Ni) de cellules est défini en fonction de ladite performance de perte de cellules du flux de cellules, de sorte que le nombre de jetons comptés par le compteur de jetons CLC Ai, est une représentation du nombre10 de cellules qui peuvent être perdues par le flux de cellules dans le respect de ladite performance de perte de cellules et que le compte positif ou négatif fourni par le compteur de jetons, qui est ladite indication dynamique de bilan créditeur ou débiteur de perte de cellules CL Fi, indique à15 tout instant le bilan de pertes de cellules de ce flux de cellules par rapport à ce nombre. Les moyens de sélection SCDA, comprennent des moyens exploitant lesdites indications dynamiques de bilan de perte de cellules CLF 1, CL Fi, CL Fn pour classer les flux de20 cellules suivant qu'ils sont plus ou moins aptes à faire l'objet d'une perte de cellule et des moyens pour faire un choix parmi ceux qui y sont aptes, ou même seulement parmi ceux qui y sont le plus aptes Le choix ainsi effectué se manifeste sous deux formes: un signal est émis sur l'un des25 conducteurs RT 1, R Ti, R Tn pour retirer une unité (un jeton) du compteur de jetons, CLC An par exemple, associé au flux de cellules sélectionné F Cn, et un signal est émis sur un ensemble de conducteur FCS, qui identifie le flux de cellules sélectionné, afin de provoquer l'enregistrement de30 la cellule incidente du flux de cellules F Ci dans la mémoire tampon Selon la discipline utilisée pour gérer la file d'attente (ce qui sort du cadre de l'invention), par exemple première entrée/première sortie, etc, la cellule est enregistrée soit à l'emplacement libéré, soit à un autre35 emplacement après réorganisation de la file d'attente Il convient de noter que les moyens de sélection SCDA peuvent très bien sélectionner le flux de cellule F Ci L'effet sera le même: ce flux de cellule perdra une cellule Dans ce cas particulier, une solution équivalente consiste à ne pas accepter la cellule d'entrée appartenant au flux F Ci, 5 laquelle sera perdue. L'opération à effectuer dans les moyens de sélection SCDA comprend un choix lorsque plusieurs flux de cellules ont à la fois au moins une cellule dans la mémoire tampon et un même compte de jetons qui est le plus élevé, ou alors qui10 est simplement positif. Ce choix peut être par exemple: aléatoire; guidé par un ordre de priorité modifié cycliquement, guidé par un ordre de priorité non modifiable, c'est-à-dire prédéterminé; ou guidé par les performances de perte de15 cellules assignées au flux de cellules considéré. Les moyens que l'on vient de décrire ne sont évidemment indiqués qu'à titre d'exemple Dans la pratique, il est clair que l'on peut envisager une réalisation sous la forme d'un ensemble de circuits logiques intégrés dans une20 même puce de semi-conducteur Mais aussi, une partie au moins des opérations à accomplir peuvent être confiées à un processeur programmé Selon la technologie employée, le spécialiste pourra être amené à modifier la réalisation que l'on vient de décrire, afin d'atteindre le meilleur25 compromis coût/performances, notamment au stade de la découpe en blocs fonctionnels, du choix des liaisons entre blocs qui peuvent à transmission série ou parallèle, de l'ordre dans lequel les opérations sont accomplies, certaines pouvant être interverties, etc.30 REVENDICATIONS 1 Dispositif de gestion de mémoire tampon de cellules recevant plusieurs flux de cellules caractérisés par des performances différentes de taux de perte de cellules et 5 comprenant des moyens pour reconnaître qu'une perte de cellule est inévitable lorsque la mémoire tampon est pleine, ainsi que des moyens pour décider alors qu'une cellule incidente doit être enregistrée dans la mémoire tampon en éliminant une autre cellule de la mémoire tampon, qui sera perdue, tandis que la première pourra ainsi être conservée, caractérisé en ce que ledit dispositif comprend: des moyens (CF 1, C Fi, C Fn) pour associer à chaque flux de cellules (FC 1, F Ci, Fcn) une indication dynamique de bilan de perte de cellules (CLF 1, CL Fi,15 CL Fn), qui est une fonction d'une performance de perte de cellules (Ni) assignée à ce flux et des pertes de cellules (R Ti) effectivement constatées pour ce flux de cellules, et des moyens (SCDA) pour sélectionner un flux de cellules, notamment par comparaison desdites indications dynamiques de perte de cellules, et pour causer en conséquence l'enregistrement de la cellule incidente dans la mémoire tampon disposant d'un emplacement libre après élimination d'une cellule du flux de cellules sélectionné. 2 Dispositif de gestion de mémoire tampon de cellules conforme à la revendication 1, caractérisé en ce que des moyens (DAMT, CP 1, C Pi, C Pn) sont prévus pour présélectionner dynamiquement ceux des flux de cellules ayant au moins une cellule enregistrée dans la mémoire tampon et en ce que lesdits moyens (SCDA) pour sélectionner30 un flux de cellules sont couplés aux précédents afin que ladite sélection ait lieu parmi les flux de cellules présélectionnés. 3 Dispositif de gestion de mémoire tampon de cellules conforme à la revendication 1 ou 2, caractérisé en ce que ladite indication dynamique de bilan de perte de cellules est obtenue par des moyens de comptage (C Ci, CLC Ai) associés à chaque flux de cellule et permettant d'établir un taux de perte effectif de cellules du flux de cellules, lequel est mis en relation avec ladite performance de perte de cellules de ce flux pour fournir ladite indication dynamique de bilan5 de perte de cellules (CL Fl, CL Fi, CL Fn). 4 Dispositif de gestion de mémoire tampon de cellules conforme à la revendication 3, caractérisé en ce que lesdits moyens de comptage associés à chaque flux de cellules comprennent un compteur de cellules (C Ci) avançant d'un pas10 à chaque cellule présentée àa la mémoire tampon et fournissant un "jeton" (JE Ti) lorsqu'il a compté un nombre déterminé (Ni) de cellules, ainsi qu'un compteur de jetons (CLC Ai) avançant d'un pas à chaque jeton et reculant d'un pas chaque fois qu'il se produit une perte de cellule pour le flux de cellules. Dispositif de gestion de mémoire tampon de cellules conforme à la revendication 4, caractérisé en ce que ledit nombre déterminé (Ni) de cellules est défini en fonction de ladite performance de perte de cellules du flux de cellules,20 de sorte que le nombre de jetons comptés par ledit compteur de jetons est une représentation du nombre de cellules qui peuvent être perdues par le flux de cellules dans le respect de ladite performance de perte de cellules et que le compte positif ou négatif fourni par le compteur de jetons indique25 à tout instant le bilan créditeur ou débiteur de perte de cellules de ce flux de cellules. 6 Dispositif de gestion de mémoire tampon de cellules conforme à l'une quelconque des revendications 2 à 5, caractérisé en ce que lesdits moyens pour sélectionner un30 flux de cellules (SCDA) comprennent des moyens exploitant lesdites indications dynamiques de bilan de perte de cellules pour classer les flux de cellules suivant qu'ils sont plus ou moins aptes à faire l'objet d'une perte de cellule et des moyens pour faire un choix parmi ceux qui y35 sont aptes. 7 Dispositif de gestion de mémoire tampon de cellules conforme à la revendication 6, caractérisé en ce que ledit choix est un choix aléatoire. 8 Dispositif de gestion de mémoire tampon de cellules conforme à la revendication 6, caractérisé en ce que ledit choix est guidé par un ordre de priorité modifié cycliquement. 9 Dispositif de gestion de mémoire tampon de cellules conforme à la revendication 6, caractérisé en ce que ledit choix est guidé par un ordre de priorité prédéterminé. Dispositif de gestion de mémoire tampon de cellules conforme à la revendication 6, caractérisé en ce que ledit choix est guidé par les performances de pertes de cellules assignées aux flux de cellules considérés.15 11 Dispositif de gestion de mémoire tampon de cellules conforme à la revendication 7, 8, 9 ou 10, caractérisé en ce que ledit choix est limité à celui ou ceux des flux de cellules ayant l'aptitude la plus élevée à faire l'objet d'une perte de cellule.