Brevet FR2880447A1 — publié le 20060707

La présente invention concerne un procédé et un système de reconfiguration sans discontinuité de traitement de données, d'une unité de traitement d'informations en temps réel. De tels procédé et système se rapportent donc aux unités de traitement d'informations dites reconfigurables , le terme reconfigurable étant employé ici pour désigner tous les systèmes bâtis autour de composants programmables, dont on peut modifier le fonctionnement soit par le changement de la valeur d'un paramètre, soit par une reprogrammation complète ou partielle altérant par exemple l'algorithme exécuté par un opérateur logiciel ou la configuration physique d'un opérateur matériel. Dans l'état de la technique, les systèmes de reconfiguration de ce type sont en fait adaptés pour désactiver complètement le bloc à reconfigurer ou à remplacer, éventuellement après avoir attendu soit la fin de son activité en cours, soit une période de creux d'activité. Une fois la chaîne de traitement inhibée et rompue, il est alors possible de reconfigurer l'opérateur ciblé, que ce soit par le biais d'une reconfiguration matérielle pour un opérateur câblé, ou d'un chargement d'un nouveau logiciel par un opérateur hébergé par une structure programmable. Une fois l'opération de reconfiguration locale de l'opérateur ciblé effectuée et une fois testé le fonctionnement de la nouvelle instance de l'opérateur, la chaîne de traitement peut alors être reconstituée et le traitement des données entrantes peut alors recommencer. Cependant, une telle configuration présente un certain nombre d'inconvénients et notamment l'interruption temporaire du fonctionnement de la chaîne de traitement pendant le déroulement du processus de reconfiguration. Une telle limitation peut se révéler acceptable lorsque le processus de reconfiguration est appliqué à un équipement recevant des données de façon intermittente et régulière, de manière à pouvoir prévoir à l'avance, les périodes pendant lesquelles le processus de reconfiguration pourra être déclenché sans mettre en péril le traitement des données, que cette période corresponde à une inactivité de la chaîne de traitement ou à une activité réduite. Mais dès lors qu'elle s'intéresse à des équipements destinés à recevoir et à traiter des informations en permanence, cette solution ne convient plus. En effet, la moindre interruption du traitement va entraîner 5 l'indisponibilité des données au bout de la chaîne de traitement, ce qui peut s'avérer inacceptable pour certaines applications. Ainsi par exemple, si cette application envisagée est la reconfiguration d'un système en temps réel, devant traiter à intervalles fixes et réguliers, un ensemble de données, et fournissant les résultats de ce traitement à un autre système chargé de les consommer, une telle reconfiguration est inacceptable. De nombreux exemples de telles applications sont envisageables. Ainsi par exemple, dans le domaine de la radio logicielle (SDR pour Software Defined Radio), un exemple d'une telle application peut être la reconfiguration d'un terminal mobile de radiocommunications, au sein duquel il serait souhaitable de remplacer un opérateur particulier d'une chaîne de traitement par un autre, ou par une version optimisée du même opérateur, et ceci bien entendu, sans interruption perceptible de la liaison radio. Le but de l'invention est donc de résoudre ce problème. A cet effet, l'invention a pour objet un procédé de reconfiguration sans discontinuité de traitement de données d'une unité de traitement d'informations, caractérisé en ce qu'il comporte les étapes suivantes: a) déclenchement d'une phase de reconfiguration de l'unité de traite-ment d'informations; b) stockage dans des moyens formant mémoire tampon des données entrantes afin de les stocker jusqu'à la fin de la phase de reconfiguration de l'unité de traitement d'informations; c) en parallèle de cette étape de stockage, une étape de reconfiguration de l'unité de traitement d'informations; et d) à la fin de la phase de reconfiguration de l'unité de traitement d'informations, une étape de traitement des données stockées dans les moyens formant mémoire tampon de données, par l'unité de traitement d'informations, jusqu'à ce que ces moyens de stockage soient vides. Suivant d'autres caractéristiques de l'invention: - à la fin de la phase de reconfiguration de l'unité de traitement d'informations, il comporte une étape de déclenchement d'un mode de fonctionnement accéléré de traitement des données stockées dans les moyens formant mémoire tampon de données, par l'unité de traitement d'informations, jusqu'à ce que ces moyens de stockage soient vides avant de repasser cette unité de traitement d'informations, à un mode de fonctionnement nominal de traitement des données entrantes; - il comporte une étape de récupération et de stockage de données de 10 reconfiguration de l'unité de traitement d'informations, à partir de moyens extérieurs à cette unité ; - les données de reconfiguration de l'unité de traitement d'informations sont contenues dans les données entrantes reçues par l'unité de traitement d'informations av ant le déclenchement de la phase de reconfiguration de l'unité de traitement d'informations utilisant lesdites données de reconfiguration; - la phase de reconfiguration comporte une étape de désactivation de l'unité de traitement d'informations, l'étape de reconfiguration de cette unité à partir des données de reconfiguration et une étape de test du fonctionnement de cette unité de traitement d'informations après sa reconfiguration; - l'unité de traitement d'informations est une unité de traitement d'informations en temps réel; l'unité de traitement d'informations est adaptée pour mettre en oeuvre un traitement itératif de ces informations et en mode de fonctionnement accéléré, cette unité est adaptée pour réduire le nombre d'itérations mis en oeuvre. Suivant un autre aspect, l'invention a également pour objet un système de reconfiguration sans discontinuité de traitement de données d'une unité de traitement d'informations, pour la mise en oeuvre du procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte un module de gestion de la reconfiguration de l'unité de traitement d'informations, associé à des moyens formant mémoire tampon de stockage des données et adapté pour déclencher une phase de reconfiguration de l'unité de traitement d'informations, pendant laquelle le module dirige les données entrantes vers les moyens formant mémoire tampon afin de les stocker dans ces moyens jusqu'à la fin de la phase de reconfiguration de l'unité de traitement d'informations; Suivant d'autres caractéristiques: - à la fin de la phase de reconfiguration de l'unité de traitement d'informations, le module de gestion est adapté pour déclencher le fonctionnement de l'unité de traitement d'informations dans un mode de fonctionnement accéléré de traitement des données stockées dans les moyens formant mémoire tampon, jusqu'à ce que ces moyens soient vides, avant de basculer le fonctionnement de l'unité de traitement d'informations dans un mode de fonctionnement nominal de traitement des données. L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, sur lesquels: - la Fig.1 représente un schéma synoptique illustrant la structure et le fonctionnement d'un système de reconfiguration selon l'invention; et - la Fig.2 illustre un exemple de réalisation d'une telle reconfiguration. II est en effet illustré sur la figure 1, un système de reconfiguration sans discontinuité de traitement de données, d'une unité de traitement d'informations par exemple en temps réel, cette unité étant désignée par la référence générale 1. Le système comporte alors un module de gestion de reconfiguration désigné par la référence générale 2, associé à des moyens formant mémoire tampon de données désignés par la référence générale 3. Le module de gestion de reconfiguration 2 est adapté pour déclencher une phase de reconfiguration de cette unité de traitement d'informations 1 pendant laquelle ce module 2 dirige les données entrantes vers les moyens formant mémoire tampon 3 afin de les stocker dans ceux-ci. La phase de reconfiguration peut notamment être déclenchée en réponse à une requête de reconfiguration de l'unité de traitement d'informations 1, cette requête étant illustrée par exemple par la référence 4. L'unité de traitement d'informations peut alors être reconfigurée en parallèle du stockage des données entrantes. A la fin de la phase de reconfiguration de l'unité de traitement d'informations 1, le module 2 est adapté pour déclencher le fonctionnement de l'unité 1 dans un mode de traitement des données stockées dans les moyens formant mémoire tampon 3. L'unité 1 fonctionne en mode de traitement des données stockées jusqu'à ce que les moyens formant mémoire tampon 3 soient vides. Dans ce cas, lorsque les moyens formant mémoire tampon 3 sont vides, le fonctionnement de l'unité de traitement d'informations 1 est adapté pour basculer du mode de traitement des données stockées vers un mode de traitement des données entrantes en mode de fonctionnement nominal. Le traitement des données stockées peut être effectué en mode de fonctionnement accéléré, par exemple dans un mode de fonctionnement dégradé. On conçoit alors qu'en vue de cette reconfiguration, l'unité de traitement d'informations 1 à reconfigurer ou à remplacer, puisse être désactivée, éventuellement après avoir attendu soit la fin de son activité en cours, soit une période de creux d'activité. Notamment, le module de gestion de reconfiguration 2 peut être adapté pour effectuer cette désactivation. La chaîne de traitement étant interrompue durant la phase de reconfiguration, les données sont stockées dans les moyens formant mémoire tampon 3, ceux-ci pouvant présenter une taille dynamique capable d'intercepter les entrées de l'unité de traitement d'informations 1 à reconfigurer pendant un certain nombre d'occurrences des données à traiter. De façon typique, la taille de ces moyens formant mémoire tampon 3, est choisie de manière à permettre le stockage de l'ensemble des données entrantes pendant que le module 2 mène à bien une reconfiguration complète de l'unité de traitement d'informations visée 1. Notamment, la taille de ces moyens formant mémoire tampon 3, peut être choisie de manière à permettre le stockage de l'ensemble des données entrantes sans remplir totalement les moyens concernés 3. L'unité de traitement d'informations visée 1 est isolée du reste de la chaîne durant cette phase de reconfiguration. Une fois cette unité 1 visée par la reconfiguration, inactive, le module 2 peut alors déclencher la phase de reconfiguration de cette unité 1. En parallèle, les données entrantes sont stockées dans les moyens formant mémoire tampon 3. Une fois la reconfiguration proprement dite de l'unité achevée et les tests élémentaires éventuellement effectués, le module 2 déclenche alors un fonctionnement de la nouvelle version de l'unité de traitement d'informations 1, touchée par le processus de reconfiguration, en mode de traitement des données stockées afin de vider les moyens formant mémoire tampon 3, en fournissant à cette unité de traitement d'informations reconfigurée 1, toutes les données stockées pendant le processus de reconfiguration. L'unité reconfigurée 1 peut fonctionner en mode de fonctionnement accéléré, notamment en mode de fonctionnement dégradé. Dans le cas d'un fonctionnement en mode accéléré, les données étant traitées plus vite, les moyens formant mémoire tampon 3 vont progressivement se vider même lorsque le flux des données entrantes est supérieur ou égal au flux des données stockées traitées par l'unité de traitement 1. De manière plus générale, l'utilisation du mode de fonctionnement accéléré permet la réduction de la durée durant laquelle l'unité de traitement 1 est en mode de traitement des données stockées. La chaîne de traitement va alors rattraper petit à petit le retard qu'elle a accumulé pendant le déroulement du processus de reconfiguration. Une fois les moyens formant mémoire tampon 3 vidés, le module 2 réenclenche le traitement des données entrantes en mode de fonctionnement nominal de l'unité de traitement d'informations 1 et isole les moyens formant mémoire tampon 3 de la chaîne de traitement. De cette façon, la latence introduite dans le traitement des données 20 est résorbée dès que la nouvelle version de l'unité de traitement d'informations reconfigurée 1 est prête à fonctionner et aucune perte de données ne se produit. Le système de reconfiguration selon l'invention propose alors une nouvelle méthode de reconfiguration d'une unité de traitement d'informations particulière au sein d'une chaîne de traitement. A l'inverse des systèmes de l'état de la technique qui entraînent la perte d'une certaine quantité de données, le système selon l'invention utilise des moyens formant mémoire tampon dynamique pour intercepter les entrées de l'unité en cours de reconfiguration et un mode de fonctionnement accéléré qui permet de diminuer la durée de traitement des données stockées qu'il effectue éventuellement au prix d'une dégradation des performances. La latence introduite dans le système par le processus de reconfiguration est ensuite absorbée par l'unité fonctionnant en mode dégradé, rendant ainsi le processus de reconfiguration sans influence sur le cadencement global de la chaîne ni sur la qualité des données traitées. Dans l'exemple de réalisation qui vient d'être décrit, il a été indiqué que la requête de reconfiguration de l'unité de traitement d'informations 1 était illustrée par la référence 4. Cette requête peut par exemple émaner d'un dispositif de déclenchement associé à l'unité de traitement d'informations 1. Bien entendu, d'autres modes de réalisation peuvent être envisagés. Ainsi par exemple, les données de reconfiguration de l'unité de traitement d'informations 1 peuvent être contenues dans les données entrantes. Celles-ci émanent alors par exemple de moyens extérieurs à l'unité de traitement d'informations 1, le module 2 étant alors adapté pour intercepter et stocker les données de reconfiguration, par exemple dans les moyens formant mémoire tampon 3. Les données de reconfiguration étant interceptées, la reconfiguration de l'unité de traitement 1 n'a alors pas lieu à la réception de ces données de reconfiguration mais est reportée. Dans ce cas, le module 2 est adapté pour reconnaître dans les 15 données entrantes, une requête de reconfiguration et les données de reconfiguration afin de déclencher la phase de reconfiguration de cette unité de traitement d'informations 1. La phase de reconfiguration peut par exemple comporter une étape de désactivation de l'unité de traitement d'informations 1, l'étape de reconfiguration proprement dite de cette unité à partir de données de reconfiguration et une étape de test du fonctionnement de cette unité de traitement d'informations 1, après sa reconfiguration. Ceci est par exemple illustré sur la figure 2. Les données de reconfiguration sont alors envoyées vers un terminal comportant les différents moyens décrits précédemment par l'intermédiaire du lien radio et ces données circulent alors sur des canaux comparables à ceux employés pour la transmission des informations dites de trafic. La couche de contrôle du terminal ayant été avertie par le réseau de l'arrivée de données de reconfiguration sur le lien radio, commence alors à stocker ces données de reconfiguration, après leur décodage, au sein d'une mémoire par exemple dédiée à ces données de reconfiguration, cette mémoire dédiée pouvant éventuellement être empruntée de manière dynamique, aux moyens de contrôle global du terminal. Ces données de reconfiguration sont désignées par la référence générale 10 sur cette figure 2 et font alors l'objet d'un traitement 11 de décodage et de stockage. Une fois ces données 10 converties en données de reconfiguration, 5 elles peuvent être appliquées à l'unité de traitement d'informations 1, par le processus de reconfiguration lors de la phase de reconfiguration. En parallèle, les données entrantes, par exemple 12, sont interceptées par le module 2 de gestion de la reconfiguration, pour par exemple être stockées lors de l'étape 13, puis sont réinjectées dans l'unité de traitement d'informations 1 10 après reconfiguration, afin d'être traitées dans celle-ci, par exemple lors de l'étape 14. II est à noter à cet égard, que lors de cette étape 14, l'unité de traitement d'informations peut être activée dans un mode de fonctionnement accéléré de traitement des données stockées. Une autre façon d'assurer la transmission des données de reconfiguration ne fait pas intervenir le lien radio, mais plutôt un serveur mis par exemple à la disposition d'un utilisateur, dans différents points de vente d'un opérateur téléphonique par exemple. Dans ce cas, l'utilisateur enfiche alors son terminal, par exemple dans un poste de réception correspondant, afin de procéder à la mise à jour du terminal et éventuellement à la reconfiguration de l'unité de traitement d'informations, sans avoir à éteindre son terminal. Les données sont alors transférées dans la mémoire globale du terminal par l'intermédiaire de moyens de connexion complémentaires, puis fournies au module 2 de gestion de la reconfiguration afin que celui-ci procède à la reconfiguration de l'unité de traitement d'informations 1, comme cela a été indiqué précédemment. Bien entendu, d'autres modes de réalisation encore peuvent être envisagés. Il a également été indiqué précédemment que l'unité de traitement d'informations pouvait présenter un mode de fonctionnement accéléré de traitement des données stockées dans les moyens formant mémoire tampon 3 jusqu'à que ceux-ci soient vides. Ce mode de fonctionnement accéléré de traitement des données est à comparer au mode de fonctionnement nominal de cette unité. Ces modes de fonctionnement sont par exemple liés à l'utilisation d'algorithmes procédant par estimation grossière d'un premier résultat, puis par amélioration de la qualité de ce résultat, par l'emploi de plusieurs passes de traitement sur les mêmes données, en utilisant chaque fois les résultats issus de la passe précédente. Un exemple d'algorithmes appartenant à cette catégorie est un algorithme de traitement itératif, permettant d'obtenir une estimation de canal 10 itérative, estimant les trajets un par un. En bornant le nombre maximal de trajets à rechercher, il est alors possible de diminuer le temps d'exécution de l'algorithme par rapport à un fonctionnement se basant uniquement sur la qualité des trajets détectés, pour décider de la nécessité ou non de poursuivre les itérations. Un autre exemple est celui du turbocodage d'un bloc de données. Il peut en effet être décidé d'arrêter l'algorithme à la suite d'une évaluation satisfaisante d'un critère quantitatif ou bien alors décider d'un faible nombre d'itérations à effectuer. Ceci a pour effet de fournir des résultats potentiellement moins bons, mais en un temps réduit. Outre les algorithmes itératifs, il peut également être utilisé une classe d'algorithmes n'effectuant qu'une seule fois un certain nombre de traitements, dont certains pourraient être supprimés ou simplifiés, afin de fournir plus rapidement des résultats moins précis ou approximés de manière plus grossière. Bien entendu, d'autres exemples encore peuvent être envisagés. Ainsi, par exemple, il est également possible d'envisager la réception et le stockage de deuxièmes données de reconfiguration pendant une phase de reconfiguration de l'unité de traitement par des premières données de reconfiguration. Sachant que dans ce cas, lorsque la phase de reconfiguration avec les premières données de reconfiguration est terminée: - Soit les données autres que les données de reconfiguration sont traitées par l'unité de traitement d'informations, puis une nouvelle phase de reconfiguration utilisant les deuxièmes données de reconfiguration est déclenchée. - Soit la nouvelle phase de reconfiguration utilisant les deuxièmes données de reconfiguration est déclenchée immédiatement. REVENDICATIONS 1. Procédé de reconfiguration sans discontinuité de traitement de don-nées d'une unité de traitement d'informations (1), caractérisé en ce qu'il comporte les étapes suivantes: a) déclenchement d'une phase de reconfiguration de l'unité de traite-ment d'informations (1) ; b) stockage dans des moyens formant mémoire tampon (3) des don-nées entrantes afin de les stocker jusqu'à la fin de la phase de reconfiguration de l'unité de traitement d'informations; c) en parallèle de cette étape de stockage, une étape de reconfiguration de l'unité de traitement d'informations (1) ; et d) à la fin de la phase de reconfiguration de l'unité de traitement d'informations, une étape de traitement des données stockées dans les moyens formant mémoire tampon de données (3), par l'unité de traitement d'informations 15 (1), jusqu'à ce que ces moyens de stockage soient vides. 2. Procédé selon la revendication 1, caractérisé en ce qu'à la fin de la phase de reconfiguration de l'unité de traitement d'informations, il comporte une étape de déclenchement d'un mode de fonctionnement accéléré de traitement des données stockées dans les moyens formant mémoire tampon de données (3), par l'unité de traitement d'informations (1), jusqu'à ce que ces moyens de stockage soient vides avant de repasser cette unité de traitement d'informations, à un mode de fonctionnement nominal de traitement des données entrantes. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comporte une étape de récupération et de stockage de données de reconfiguration de l'unité de traitement d'informations (1), à partir de moyens extérieurs à cette unité. 4. Procédé selon la revendication 3, caractérisé en ce que les données de reconfiguration de l'unité de traitement d'informations sont contenues dans les données entrantes reçues par l'unité de traitement d'informations (1) avant le dé- clenchement de la phase de reconfiguration de l'unité de traitement d'informations utilisant lesdites données de reconfiguration. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la phase de reconfiguration comporte une étape de désactivation de l'unité de traitement d'informations, l'étape de reconfiguration de cette unité à partir des données de reconfiguration et une étape de test du fonctionne-ment de cette unité de traitement d'informations après sa reconfiguration. 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'unité de traitement d'informations est une unité de traite- ment d'informations en temps réel. 7. Procédé selon l'une quelconque des revendications 2 à 6, caractérisé en ce que l'unité de traitement d'informations est adaptée pour mettre en oeuvre un traitement itératif de ces informations et en ce qu'en mode de fonctionne-ment accéléré, cette unité est adaptée pour réduire le nombre d'itérations mis en oeuvre. 8. Système de reconfiguration sans discontinuité de traitement de don-nées d'une unité de traitement d'informations (1), pour la mise en oeuvre du pro-cédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte un module (2) de gestion de la reconfiguration de l'unité de traite- ment d'informations (1), associé à des moyens formant mémoire tampon (3) de stockage des données et adapté pour déclencher une phase de reconfiguration de l'unité de traitement d'informations (1), pendant laquelle le module (2) dirige les données entrantes vers les moyens formant mémoire tampon (3) afin de les stocker dans ces moyens jusqu'à la fin de la phase de reconfiguration de l'unité de traitement d'informations (1). 9. Système selon la revendication 8, caractérisé en ce qu'à la fin de la phase de reconfiguration de l'unité de traitement d'informations, le module de gestion (2) est adapté pour déclencher le fonctionnement de l'unité de traitement d'informations (1) dans un mode de fonctionnement accéléré de traitement des données stockées dans les moyens formant mémoire tampon (3), jusqu'à ce que ces moyens soient vides, avant de basculer le fonctionnement de l'unité de traitement d'informations dans un mode de fonctionnement nominal de traitement des données.