Brevet FR2808903A1 — publié le 20011116

i Domaine technique de l'invention La présente invention concerne les systèmes mémoires d'ordinateur et plus particulièrement un système d'accès mémoire et une méthode destinés à améliorer la disponibilité des systèmes mémoires comprenant des sous-systèmes de mémorisation et permettant de remplacer un sous-système de mémorisation sans perdre de données ni perturber l'ordinateur qui utilise un tel système mémoire. Etat de la technique Sur les ordinateurs actuels, le système mémoire est généralement constitué de multiples sous-systèmes de mémorisation, à savoir des cartes telles que des modules DIMMs (Dual In-line Memory Module). Les DIMMs sont15 constitués de plusieurs puces électroniques SDRAMs (Synchronous Dynamic Random Access Memory), le nombre de puces dépendant de la taille de la mémoire DIMM, de la largeur du bus de données, etc.. Généralement, pour stocker des données dans un soussystème de mémorisation contenant20 plusieurs puces mémoires pouvant chacune contenir des mots d'un octet, les données sont divisées en octets et chaque octet est mémorisé dans une puce mémoire différente. Ainsi généralement, le premier octet est stocké dans une première puce mémoire, le deuxième octet dans une deuxième puce25 mémoire, etc.. Ces puces mémoires sont sujettes à différents types de défaillances: - des défaillances logicielles qui sont des défaillances intermittentes dues à des parasites extérieurs, FR9 1999 0089 2 par exemple des particules Alpha; elles disparaissent si le mot est réécrit sur l'emplacement mémoire défaillant ou après une réinitialisation de la mémoire, et - des défaillances matérielles qui sont des défauts permanents affectant une puce mémoire, par exemple des micro courts-circuits; elles restent définitivement, même après une réinitialisation de la mémoire. Ces défaillances, lorsqu'elles se produisent, peuvent endommager le contenu du système mémoire et perturber ainsi le bon fonctionnement de l'application activée sur l'ordinateur; il faut alors généralement arrêter l'ordinateur pour remplacer le sous-système de mémorisation défaillant. Pour réduire les effets de ces défaillances, on utilise généralement des codes de correction d'erreurs (ECC, Error Correcting Code). En effet, les ECCs ont la capacité de corriger automatiquement les erreurs se produisant dans une seule puce mémoire sans perturber le fonctionnement du système mémoire. Pour cela, le code ECC exécute des20 fonctions d'écriture et de lecture, pouvant être localisées dans le contrôleur de mémoire, qui détectent les mots erronés et les corrigent automatiquement grâce aux bits ECC qui sont stockés dans des puces mémoires additionnelles du sous-système de mémorisation. Par exemple, le code Single25 Error Correction (SEC) peut corriger une erreur dans une seule puce mémoire, le code Double Error Correction (DEC) permet de corriger deux erreurs situées dans une même puce mémoire, et enfin le code Block Error Code (BEC) permet de corriger toutes les erreurs situées dans une même puce30 mémoire. Ainsi, le code 8-bits Block Error Code, dérivé de la théorie des codes de Bose-Chaudhuri-Hocquenghem, est capable de corriger plusieurs erreurs réparties de manière aléatoire dans une puce mémoire. Avec deux octets FR9 1999 0089 3 supplémentaires par mot de 64 bits, cette méthode permet de corriger jusqu'à 8 bits dans une puce mémoire capable de mémoriser des mots d'un octet. Toutefois, les défaillances matérielles étant des défauts permanents, les cartes qui constituent les sous-systèmes de mémorisation dans lesquels des défaillances matérielles se sont produites doivent être remplacées pour conserver un niveau de disponibilité élevé du système mémoire, c'est à dire pour éviter qu'une partie du contenu10 de la mémoire soit perdu lorsque des erreurs se produisent dans au moins deux puces différentes d'une même carte de mémorisation. Dans ce cas, l'utilisateur doit éteindre l'ordinateur et remplacer les cartes de mémorisation défaillantes. De même, pour étendre la capacité des15 sous-systèmes de mémorisation, il faut éteindre l'ordinateur. Résumé de l'invention L'un des objets de l'invention est de proposer un système d'accès à un système mémoire composé de multiples sous-systèmes de mémorisation afin d'augmenter la disponibilité et la fiabilité de l'ordinateur utilisant ce système mémoire. L'invention a aussi pour objet de proposer un système d'accès à un système mémoire composé de multiples sous-systèmes de mémorisation dans lequel un sous-système de mémorisation peut être remplacé sans perturber l'ordinateur. FR9 1999 0089 L'invention a également pour objet de proposer une méthode de restauration du contenu d'un sous-système de mémorisation. Ces objectifs, ainsi que d'autres objectifs connexes, peuvent être atteints par un système conçu pour accéder une mémoire composée de multiples sous- systèmes de mémorisation indépendants et amovibles, ladite mémoire étant adaptée pour enregistrer des mots constitués de n éléments unitaires, ledit système comprenant: - des moyens de codage pour coder chacun des mots de n éléments unitaires à enregistrer dans la mémoire dans un mot de n+m éléments unitaires, les m éléments unitaires étant des éléments unitaires de correction d'erreur, - des moyens d'entrée de mots pour appliquer chacun des n+m éléments unitaires d'un mot à un sous-système de mémorisation différent desdits multiples sous-systèmes de mémorisation, des moyens de sortie de mots pour accéder chacun des n+m éléments unitaires d'un mot à partir de sous-systèmes de mémorisation différents desdits multiples sous-systèmes de mémorisation, - des moyens de décodage recevant chacun des n+m éléments unitaires d'un mot pour produire un mot de n éléments unitaires sans erreur, et - des moyens d'isolation logique et des moyens d'isolation électrique associés à chacun desdits multiples sous-systèmes de mémorisation, capables d'isoler logiquement et électriquement chacun desdits multiples sous-systèmes de mémorisation. Ces objectifs, ainsi que d'autres objectifs connexes, peuvent aussi être atteints par une méthode pour restaurer FR9 1999 0089 le contenu d'un sous-système de mémorisation comprenant les étapes suivantes: a. mise à zéro d'un indice d'adresse, b. lecture et correction du mot défini par ledit indice d'adresse, c. écriture du mot corrigé à l'emplacement défini par ledit indice d'adresse, d. incrémentation dudit indice adresse d'une unité, et e. comparaison dudit indice d'adresse avec la valeur maximum qu'il peut atteindre, si ledit indice d'adresse n'a pas atteint ladite valeur maximum, répétition des trois dernières étapes, et si ledit indice d'adresse a atteint ladite valeur maximum, fin du processus. Les innovations caractérisant l'invention sont décrites dans les revendications ci-après. Cependant, l'invention elle-même, ainsi que ses divers objets et avantages, seront mieux compris à la lecture de la description détaillée suivante en liaison avec les figures d'accompagnement. FR9 1999 0089 Brève description des figures La figure 1 illustre la partie logique d'un circuit implémentant l'invention. La figure 2, comprenant les figures 2A et 2B, est une représentation des fonctions de lecture et d'écriture utilisées pour détecter, localiser et corriger des bits erronés. La figure 3 illustre un circuit d'alimentation électrique pouvant être utilisé avec le circuit présenté sur la figure 1. La figure 4 montre les étapes principales d'un algorithme illustrant la méthode de l'invention. La figure 5 présente un système mémoire illustrant la façon d'étendre la capacité de mémoire selon l'invention. Description d'un mode de réalisation de l'invention Selon l'invention, les mots à mémoriser sont découpés en plusieurs parties, appelées sous-mots, qui sont enregistrées dans différents soussystèmes de mémorisation indépendants et amovibles. Ainsi, le premier sous-mot est enregistré dans un premier sous-système de mémorisation, le deuxième sous-mot est enregistré dans un deuxième10 sous-système de mémorisation, etc.. Le mode particulier de réalisation de l'invention décrit concerne l'utilisation de sous-systèmes de mémorisation, par exemple des DIMMs standards, appelés cartes mémoires par souci de clarté, capables de mémoriser des mots de 64 bits. Cependant, il faut comprendre que l'invention peut être mise en oeuvre avec n'importe quel type FR9 1999 0089 7 de mémoire indépendante et amovible capable de mémoriser des mots d'une longueur quelconque. Lorsqu'on utilise l'invention pour mémoriser des mots de 64 bits, il faut dix cartes mémoires contenant des puces mémoires capables de stocker r octets. Les huit premières cartes mémoires servent à enregistrer les octets de données et les deux dernières cartes mémoires servent à enregistrer les octets BEC. La figure 1 représente les éléments logiques du circuit mettant en oeuvre l'invention selon le mode de réalisation décrit précédemment, qui permet de remplacer une carte mémoire défaillante sans perturber l'ordinateur. Comme indiqué, ce circuit comprend dix cartes mémoires 100-1 à 100-10. Les bus d'entrée/sortie de données des puces mémoires contenues dans chaque carte mémoire sont interconnectés pour créer les bus d'entrée/sortie de données -1 à 110-10 qui forment eux-mêmes un bus global d'entrée/sortie de données 115 connecté au contrôleur de mémoire 120. Le contrôleur de mémoire 120 est aussi connecté20 au bus BYTESelect 125, au bus d'adresses 130, au bus MemoryCard_Select 135 et au bus BusInsulation 140 qui sont connectés aux éléments de commutation de bus 145-1 à 145-10. Chacun de ces éléments de commutation de bus est associé à une carte mémoire pour transmettre ou non les signaux des25 bus BYTESelect, d'adresses et Memory_Card_Select, selon la valeur du signal du bus BusInsulation. Le contrôleur de mémoire 120 contient des fonctions d'écriture et de lecture (respectivement 150 et 160) qui sont reliées au bus global d'entrée/sortie de données 115. La fonction d'écriture est reliées au bus standard d'entrée de données 170 et la fonction de lecture au bus standard de sortie de données 180. Le contrôleur de mémoire 120 est connecté au bus de contrôle 190. Les bus 170, 180 et 190 sont des bus standards FR9 1999 0089 8 destinés à connecter un contrôleur de mémoire à un ordinateur. Les cartes mémoires 100-1 à 100-8 servent à enregistrer les huit octets de données d'un mot de 64 bits et les cartes mémoires 100-9 et 100-10 à enregistrer les deux octets BEC associés. Par exemple, le premier octet du mot 105-1 est enregistré dans le premier emplacement mémoire de la première puce mémoire de la carte mémoire 100-1, le deuxième octet de ce mot est enregistré dans le premier emplacement10 mémoire de la première puce mémoire de la carte mémoire -2, etc.. Les bus d'entrées/sorties de données 8 bits de toutes les puces mémoires de chaque carte mémoire sont interconnectés pour créer les bus 110-1 à 110-10 afin de constituer le bus 115 de 80 bits qui est connecté au15 contrôleur de mémoire 120 pour permettre aux cartes mémoires et à l'ordinateur d'échanger des données. Pour contrôler les adresses et les puces activées, le contrôleur de mémoire 120 utilise le bus BYTESelect 125 et le bus d'adresses 130. Le bus BYTESelect 125 sert à sélectionner les puces mémoires20 dans une carte mémoire de telle manière que, si la carte mémoire contient 8 puces mémoires, 8 bits sont utilisés pour activer ou désactiver chacune des 8 puces mémoires. Le bus d'adresses 130 sélectionne un emplacement de mémoire dans toutes les puces mémoires sélectionnées par le bus25 BYTESelect. Dans la version représentée sur la figure 1, ce bus comprend 12 bits car généralement 12 bits multiplexés sont utilisés pour définir une adresse, c'est à dire pour sélectionner une ligne et une colonne dans une puce mémoire. Dans le mode de réalisation décrit de l'invention, les dix30 cartes mémoires 100-1 à 100-10 doivent être activées en même temps pour accéder à une donnée complète; ainsi le bus Memory_Card_Select 135 qui sert à activer ou désactiver une carte mémoire n'a besoin que d'un bit. Pour ajouter ou supprimer une carte mémoire sans perturber les neuf autres,35 elles doivent être isolées électriquement et logiquement les FR9 1999 0089 9 unes par rapport aux autres. Concernant la partie logique de ce circuit, le bus BUSInsulation 140 connecté au contrôleur de mémoire 120 commande chacun des éléments de commutation de bus 145-1 à 145-10. Ainsi, ce bus comprend 10 bits à la5 sortie du contrôleur de mémoire 120 et seulement 1 bit à l'entrée de chaque commutateur de bus. Pour détecter et corriger les mots erronés, le système utilise les fonctions d'écriture 150 et de lecture 160 situées dans le contrôleur de mémoire 120. La fonction de lecture 160 sert aussi à10 localiser les cartes mémoires défaillantes éventuelles et à prévenir le contrôleur de mémoire 120. Comme indiqué précédemment, les erreurs dues à des défaillances logicielles disparaissent lorsque les données sont réécrites. Ainsi, un test consistant à réécrire les données15 peut être effectué pour déterminer si l'erreur est une défaillance logicielle ou matérielle. Si une défaillance matérielle est détectée, le contrôleur de mémoire 120 peut isoler automatiquement la carte mémoire défaillante avec le bus Bus_Insulation 140 pour que l'utilisateur de20 l'ordinateur puisse la remplacer. Lorsqu'une défaillance matérielle se produit, le contrôleur de mémoire 120 envoie un message via le bus de contrôle 190 à l'ordinateur pour informer l'utilisateur de la carte mémoire à remplacer. Le bus de contrôle 190 associé au bus BusInsulation 140 permet25 aussi à l'utilisateur de l'ordinateur de désactiver une carte mémoire pour pouvoir la changer après une défaillance matérielle ou dans le cadre d'une maintenance. Le système mémoire 195, appelé bloc mémoire, permet de remplacer une carte mémoire sans perturber l'ordinateur. Les figures 2A et 2B illustrent respectivement les circuits des fonctions d'écriture et de lecture. La fonction d'écriture contient un générateur de bits ECC 200 dont l'entrée est le bus standard d'entrée de donnée et la sortie le bus 210 connecté au bus global FR9 1999 0089 d'entrée/sortie des données 115. Le bus standard d'entrée de données 170 est aussi connecté au bus global d'entrée/sortie de données 115. La fonction d'écriture 150, représentée schématiquement sur la figure 2A, utilise les 64 bits des données transférées de l'ordinateur vers la mémoire de données via le bus standard d'entrée de données 170 pour calculer 16 bits BEC dans le générateur de bits ECC 200 qui sont enregistrés dans la mémoire BEC grâce au bus 210. Ainsi, les10 données et les bits ECC correspondants sont adressés aux cartes mémoires via le bus global d'entrée/sortie de données 115. La fonction de lecture 160, représentée schématiquement sur la figure 2B, contient un générateur de bits ECC 230 dont l'entrée est connectée au bus global d'entrée/sortie de données 115 via le bus 220 et dont la sortie est connectée à une entrée du comparateur 250. Le bus 220 transmet les bits de données du bus global d'entrée/sortie de données 115. Le comparateur 250 est doté d'une seconde entrée qui est20 connectée au bus global d'entrée/sortie de données 115 via le bus 240. Le bus 240 transmet les bits ECC du bus global d'entrée/sortie de données 115. La fonction de lecture 160 contient aussi un correcteur de données 260 dont la première entrée est connectée à la sortie du comparateur 250 et la25 seconde entrée au bus global d'entrée/sortie de données 115 via le bus 220. La première sortie du correcteur de données est le bus standard de sorties de données 180 et sa seconde sortie le bus BYTEinerror 270. Pour générer des données valides, c'est à dire sans erreur, la fonction de lecture 160, représentée schématiquement sur la figure 2B, accède aux données via le bus global d'entrée/sortie de données 115 et le bus 220, et recalcule les bits BEC correspondants dans le générateur de FR9 1999 0089 11 bits ECC 230. Ensuite, elle compare ces bits BEC calculés avec ceux précédemment enregistrés dans la mémoire BEC et associés à ces données, qui sont transférées via le bus global d'entrée/sortie de données 115 et le bus 240 dans le5 comparateur 250. Selon le résultat de cette comparaison, les données sont corrigées ou non dans le correcteur de données 260. Un octet défaillant peut être localisé via le bus BYTEinerror 270. Le mot valide de 64 bits sort par le bus standard de sortie de données 180. La figure 3 illustre le circuit d'alimentation électrique du bloc mémoire 195 contenant les dix cartes mémoires 100-1 à 100-10. Un bus standard d'alimentation 300 est connecté aux modules de contrôle d'alimentation 310-1 à 310-10 qui sont liés aux cartes mémoires 100-1 à 100-10, chaque module de contrôle d'alimentation étant associé à une carte mémoire, par exemple le module de contrôle d'alimentation 310-1 est connecté à la carte mémoire 100-1. Ces modules de contrôle d'alimentation, qui font office de commutateurs de bus, sont contrôlés par le contrôleur de20 mémoire 120 via le bus POWER Enable 320. Le bus POWER Enable 320 contient 10 bits à la sortie du contrôleur de mémoire et 1 bit à l'entrée de chaque module de contrôle d'alimentation, de sorte que chaque carte mémoire peut être isolée électriquement sans perturber les autres. Pour éviter les dommages électroniques, l'alimentation électrique et les éléments logiques d'un circuit sont généralement séparés; ainsi, le mode de réalisation décrit comprend deux dispositifs de contrôle, POWEREnable et BUS_Insulation. Toutefois, ces deux dispositifs de contrôle30 peuvent être réduits à un seul. De même, il est possible d'utiliser un seul commutateur de bus par carte mémoire pour l'isoler logiquement et électriquement. FR9 1999 0089 Pour illustrer le circuit susmentionné, supposons que la carte mémoire 100-2 tombe en panne (défaillance matérielle). Grâce aux octets de données contenus dans les cartes mémoires 100-1 et 100-3 à 100-8, grâce aux octets BEC5 contenus dans les cartes mémoire 100-9 et 100-10 et grâce à la fonction de lecture 160 contenue dans le contrôleur de mémoire 120, les octets erronés enregistrés sur la carte mémoire 100-2 peuvent être retrouvés. Comme indiqué précédemment, un test consistant à réécrire les données peut10 être effectué pour déterminer si l'erreur est liée à une défaillance logicielle ou matérielle. Une défaillance matérielle étant détectée dans cet exemple, la carte mémoire 100-2 doit être remplacée. Pour cela, elle peut être isolée logiquement et électriquement avec les bus BUSInsulation 140 et POWEREnable 320 afin de la remplacer par une autre carte mémoire, sans perturber l'ordinateur. La figure 4 montre les principales étapes d'un algorithme illustrant une méthode d'utilisation de l'invention avec le circuit représenté sur la figure 1. Cet20 exemple représente la procédure de restauration du contenu d'une carte mémoire défaillante. Lorsqu'une défaillance matérielle a été détectée et localisée dans une carte mémoire à l'aide de la fonction de lecture 160 et du test de réécriture de données susmentionné (étape 400), le système25 informe l'utilisateur que cette carte mémoire doit être remplacée et peut l'isoler logiquement et électriquement. Ainsi, l'utilisateur peut remplacer la carte mémoire (étape 410). Ensuite, l'indice d'adresse ADR est mis à zéro (étape 420). Par souci de clarté, on admettra que l'indice ADR est une représentation de l'adresse d'une carte mémoire, c'est à dire une adresse définie par les signaux du bus BYTESelect (125) et du bus d'adresses (130). Le mot situé à l'adresse ADR est lu et corrigé (étape 430). L'octet provenant de la carte mémoire qui a été remplacée n'est pas correct mais, FR9 1999 0089 comme indiqué précédemment, le système de codage permet de le retrouver grâce au code ECC. L'octet corrigé est ensuite enregistré à l'adresse ADR, dans la carte mémoire remplacée (étape 440). L'adresse ADR est ensuite incrémenté de 1 (étape 450). Un test est effectué pour contrôler si l'adresse ADR est égale à la valeur maximum qui peut être utilisée (étape 460). Si ce n'est pas le cas, le programme effectue une boucle pour restaurer l'octet situé à la nouvelle adresse ADR de la carte mémoire qui a été remplacée10 (étapes 430 à 460). Si ADR a atteint sa valeur maximum, le processus s'arrête. La méthode présentée sur la figure 4 montre comment le contenu d'une carte mémoire qui a été remplacée peut être restauré. Cependant, il faut comprendre que cette méthode15 peut aussi être utilisée pour contrôler à tout moment le contenu des cartes mémoires. En particulier, il peut être utile de temps en temps, par exemple lorsque le système mémoire de l'ordinateur n'est pas utilisé, de contrôler le contenu des cartes mémoires de l'ordinateur. Cela permet20 d'éliminer des erreurs liées à des défaillances logicielles éventuelles et ainsi de réduire le risque que des erreurs se produisent à la même adresse dans deux cartes mémoires différentes, ce qui entraînerait une défaillance générale du système (le BEC est incapable de corriger ce type d'erreur).25 Dans ce cas, le système mémoire doit lire tous les mots qu'il contient et, si une erreur se produit, il la corrige et enregistre la correction dans les cartes mémoires correspondantes. Cette opération peut être effectuée périodiquement lorsque le système mémoire n'est pas utilisé,30 ou à la demande de l'utilisateur. Ainsi, chaque carte mémoire peut être contrôlée et corrigée périodiquement si nécessaire. De même, cette méthode peut être utilisée pour augmenter la capacité des cartes mémoires sans éteindre l'ordinateur. FR9 1999 0089 La figure 5 montre un système mémoire qui illustre une façon d'augmenter la quantité de mémoire selon l'invention. Plusieurs blocs mémoires 195 tels que décrits précédemment sont connectés en parallèle (195-1 à 195-q) à l'aide du bus5 global d'entrée/sortie des données 115 connecté au contrôleur de mémoire 120. Le bus d'alimentation électrique 300, le bus d'adresses 130 et le bus BYTESelect 125 sont communs à tous les blocs mémoires. Les bus POWEREnable et BUS Insulation (respectivement 320 et 140) doivent contrôler10 chaque carte mémoire indépendamment, c'est pourquoi ils contiennent 10q bits à la sortie du contrôleur de mémoire et 10 bits à l'entrée de chaque bloc mémoire. Le bus MemoryCardSelect sert à activer ou désactiver toutes les cartes mémoires d'un bloc mémoire, le bus MemoryCard_Select15 135 comprend donc q bits à la sortie du contrôleur de mémoire 120 et 1 bit à l'entrée de chaque bloc de mémoire. Avec le circuit représenté sur la figure 5, l'accès à un bloc mémoire quelconque 195-i pour des opérations de lecture ou d'écriture est obtenu en activant toutes les20 cartes mémoires appartenant à ce bloc et en désactivant toutes les autres cartes mémoires à l'aide du bus Memory_Card_Select 135, géré par le contrôleur de mémoire 120. L'accès à l'intérieur d'un bloc mémoire se fait par un jeu de sélection de puces mémoires et d'adresses, comme indiqué précédemment. Lorsque la fonction de lecture détecte et corrige un mot erroné, le contrôleur de mémoire 120 peut déterminer si l'erreur est, ou non, une défaillance matérielle et utiliser les informations données par le correcteur de données pour isoler la carte mémoire30 défaillante et en informer l'utilisateur. Ainsi, l'utilisateur peut remplacer la carte mémoire défaillante sans perturber le système mémoire. FR9 1999 0089 Bien que l'invention soit décrite selon un mode de réalisation particulier, les spécialistes comprendront qu'elle peut être mise en oeuvre avec d'autres types de sous-systèmes de mémorisation amovibles et indépendants et5 pour d'autres tâches. Notamment, l'invention peut être utile pour étendre le système mémoire, les cartes mémoires étant remplacées une par une par des cartes mémoires de plus grande capacité, ou pour des besoins de maintenance préventive, sans éteindre l'ordinateur. FR9 1999 0089 Revendications 1. Un système pour accéder une mémoire composée de multiples soussystèmes de mémorisation (100-1 à 100-10) indépendants et amovibles, ladite mémoire étant adaptée pour5 enregistrer des mots constitués de n éléments unitaires, ledit système comprenant: - des moyens de codage (150) pour coder chacun des mots de n éléments unitaires à enregistrer dans la mémoire dans un mot de n+m éléments unitaires, les m éléments unitaires étant des éléments unitaires de correction d'erreur, - des moyens d'entrée de mots pour appliquer chacun des n+m éléments unitaires d'un mot à un sous-système de mémorisation différent desdits multiples sous- systèmes de mémorisation, - des moyens de sortie de mots pour accéder chacun des n+m éléments unitaires d'un mot à partir de sous-systèmes de mémorisation différents desdits multiples sous-systèmes de mémorisation, - des moyens de décodage (160) recevant chacun des n+m éléments unitaires d'un mot pour produire un mot de n éléments unitaires sans erreur, et - des moyens d'isolation logique (145-1 à 145-10) et des moyens d'isolation électrique (310-1 à 310-10) associés à chacun desdits multiples sous- systèmes de mémorisation, capables d'isoler logiquement et électriquement chacun desdits multiples sous-systèmes de mémorisation. 2. Le système décrit dans la revendication 1, comprenant en outre des moyens d'information associés aux dits moyens de décodage (160) pour prévenir l'utilisateur dudit système FR9 1999 0089 17 lorsqu'une défaillance a été détectée dans au moins un desdits multiples sous-systèmes de mémorisation. 3. Le système décrit dans la revendication 1, comprenant en outre des moyens d'information associés aux dits moyens de décodage (160) pour prévenir l'utilisateur dudit système lorsqu'une défaillance matérielle est détectée dans au moins un desdits multiples sous-systèmes de mémorisation. 4. Le système décrit dans l'une des revendications 1 à 3, comprenant en outre des moyens de contrôle associés aux dits moyens d'isolation logique et électrique (145-1 à 145-10 et 310-1 à 310-10), de telle sorte que l'utilisateur dudit système peut isoler l'un desdits multiples sous-systèmes de mémorisation. 5. Le système décrit dans la revendication 1, comprenant en outre des moyens d'information associés aux dits moyens de décodage (160) et des moyens de contrôle associés aux dits moyens d'isolation logique et électrique (145-1 à 145-10 et 310-1 à 310-10), de telle sorte que lorsqu'une défaillance est détectée dans l'un desdits multiples sous-systèmes de mémorisation, il est automatiquement isolé et l'utilisateur dudit système est informé de la défaillance et de l'isolation dudit sous-système de mémorisation. 6. Le système décrit dans la revendication 1, comprenant en outre des moyens d'information associés aux dits moyens de décodage (160) et des moyens de contrôle associés aux dits moyens d'isolation logique et électrique (145-1 à 145-10 et 310-1 à 310-10), de telle sorte que si une défaillance matérielle est détectée dans l'un desdits multiples soussystèmes de mémorisation, il est automatiquement isolé et l'utilisateur dudit système est FR9 1999 0089 18 informé de la défaillance et de l'isolation dudit sous-système de mémorisation. 7. Le système décrit dans l'une des revendications 1 à 6 dans lequel les moyens de codage (150) et les moyens de décodage (160) utilisent l'algorithme 8-bits Block Error Coding. 8. Le système décrit dans l'une des revendications 1 à 7 dans lequel lesdits multiples sous-systèmes de mémorisation sont des Dual In-line Memory Modules standards. 9. Une méthode pour restaurer le contenu de l'un des multiples soussystèmes de mémorisation (100-1 to 100-10) dans un système selon l'une des revendications 1 à 8, comprenant les étapes suivantes: a. mise à zéro d'un indice d'adresse (420), b. lecture et correction du mot défini par ledit indice d'adresse (430), c. écriture du mot corrigé à l'emplacement défini par ledit indice d'adresse (440), d. incrémentation dudit indice adresse d'une unité (450), et e. comparaison dudit indice d'adresse avec la valeur maximum qu'il peut atteindre, si ledit indice d'adresse n'a pas atteint ladite valeur maximum, répétition des trois dernières étapes, et si ledit indice d'adresse a atteint25 ladite valeur maximum, fin du processus (460). 10. La méthode décrite dans la revendication 9 dans laquelle l'étape c consiste dans l'écriture d'au moins un élément unitaire dudit mot corrigé dans au moins l'un desdits multiples sous-systèmes de mémorisation. FR9 1999 0089 11. La méthode décrite dans l'une des revendications 9 et dans laquelle l'étape c consiste dans l'écriture d'au moins un élément unitaire dudit mot corrigé dans au moins l'un desdits multiples soussystèmes de mémorisation si une5 défaillance a été détectée dans ledit au moins un élément unitaire dudit mot corrigé. 12. La méthode décrite dans l'une des revendications 9 à 11 dans laquelle lesdites étapes a à e sont appliquées lorsque le système mémoire n'est pas utilisé. 13. La méthode décrite dans l'une des revendications 9 à 11 dans laquelle lesdites étapes a à e sont appliquées à la demande de l'utilisateur. FR9 1999 0089