FR2808903A1 - Systeme d'acces memoire - Google Patents

Systeme d'acces memoire Download PDF

Info

Publication number
FR2808903A1
FR2808903A1 FR0102062A FR0102062A FR2808903A1 FR 2808903 A1 FR2808903 A1 FR 2808903A1 FR 0102062 A FR0102062 A FR 0102062A FR 0102062 A FR0102062 A FR 0102062A FR 2808903 A1 FR2808903 A1 FR 2808903A1
Authority
FR
France
Prior art keywords
memory
word
storage subsystems
multiple storage
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0102062A
Other languages
English (en)
Inventor
Philippe Klein
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of FR2808903A1 publication Critical patent/FR2808903A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

Un système pour accéder à une mémoire comprenant des sous-systèmes de mémorisation (100-1 à 100-10), par exemple des Dual In-line Memory Modules standards, les mots à enregistrer étant fractionnés de telle sorte que plusieurs sous-systèmes de mémorisation sont utilisés pour enregistrer un mot et les bits du Block Error Code (BEC) associés, comprend des moyens d'isolation logique (145-1 à 145-10) et des moyens d'isolation électrique (310-1 à 310-10) qui sont associés à chaque sous-système de mémorisation. Lorsqu'un sous-système de mémorisation doit être remplacé, par exemple parce qu'il est défaillant, le contrôleur de mémoire (120) l'isole, et les données qu'il contient sont récupérées grâce aux données enregistrées dans les autres sous-systèmes de mémorisation et grâce à la fonction de lecture BEC (160). Ainsi, lorsqu'un sous-système de mémorisation est isolé, l'utilisateur de l'ordinateur peut le remplacer sans perdre de données ni perturber l'ordinateur. Lorsqu'un sous-système de mémorisation a été remplacé, son contenu peut être restauré à l'aide du code BEC.

Description

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

Claims (13)

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
FR0102062A 2000-05-12 2001-02-15 Systeme d'acces memoire Pending FR2808903A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP00480039 2000-05-12

Publications (1)

Publication Number Publication Date
FR2808903A1 true FR2808903A1 (fr) 2001-11-16

Family

ID=8174231

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0102062A Pending FR2808903A1 (fr) 2000-05-12 2001-02-15 Systeme d'acces memoire

Country Status (2)

Country Link
US (1) US20010042228A1 (fr)
FR (1) FR2808903A1 (fr)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779285B2 (en) * 2003-02-18 2010-08-17 Oracle America, Inc. Memory system including independent isolated power for each memory module
DE102006008399A1 (de) * 2006-02-21 2007-08-30 Golden Emporer International Ltd. Speichermodul mit unabhängig einstellbarer Stromversorgung
US20100128447A1 (en) * 2008-11-21 2010-05-27 Tyco Electronics Corporation Memory module having voltage regulator module
CN114780473A (zh) * 2022-05-18 2022-07-22 长鑫存储技术有限公司 内存条热插拔方法及装置、内存条
EP4300319A4 (fr) 2022-05-18 2024-02-28 Changxin Memory Technologies, Inc. Procédé et appareil de branchement à chaud pour module de mémoire, et module de mémoire

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3436734A (en) * 1966-06-21 1969-04-01 Ibm Error correcting and repairable data processing storage system
US4899342A (en) * 1988-02-01 1990-02-06 Thinking Machines Corporation Method and apparatus for operating multi-unit array of memories
EP0600137A1 (fr) * 1992-11-30 1994-06-08 International Business Machines Corporation Procédé et dispositif pour la correction d'erreurs dans une mémoire
US6047343A (en) * 1996-06-05 2000-04-04 Compaq Computer Corporation Method and apparatus for detecting insertion and removal of a memory module using standard connectors
US6487623B1 (en) * 1999-04-30 2002-11-26 Compaq Information Technologies Group, L.P. Replacement, upgrade and/or addition of hot-pluggable components in a computer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3436734A (en) * 1966-06-21 1969-04-01 Ibm Error correcting and repairable data processing storage system
US4899342A (en) * 1988-02-01 1990-02-06 Thinking Machines Corporation Method and apparatus for operating multi-unit array of memories
EP0600137A1 (fr) * 1992-11-30 1994-06-08 International Business Machines Corporation Procédé et dispositif pour la correction d'erreurs dans une mémoire
US6047343A (en) * 1996-06-05 2000-04-04 Compaq Computer Corporation Method and apparatus for detecting insertion and removal of a memory module using standard connectors
US6487623B1 (en) * 1999-04-30 2002-11-26 Compaq Information Technologies Group, L.P. Replacement, upgrade and/or addition of hot-pluggable components in a computer system

Also Published As

Publication number Publication date
US20010042228A1 (en) 2001-11-15

Similar Documents

Publication Publication Date Title
JP4192154B2 (ja) エラー訂正のためのデータの分割
US10564866B2 (en) Bank-level fault management in a memory system
FR2481487A1 (fr) Systeme de traitement de l'information utilisant des techniques de regeneration et de detection et correction d'erreurs
US20110289349A1 (en) System and Method for Monitoring and Repairing Memory
FR2808904A1 (fr) Systeme d'acces a des memoires redondantes
US9262284B2 (en) Single channel memory mirror
US6715104B2 (en) Memory access system
FR3038752A1 (fr)
US10916325B2 (en) Memory chip and test system including the same
KR20190005116A (ko) 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
US20050268159A1 (en) System and method of improving memory yield in frame buffer memory using failing memory location
US10839935B2 (en) Dynamic redundancy for memory
US9037948B2 (en) Error correction for memory systems
FR2808903A1 (fr) Systeme d'acces memoire
EP0977120B1 (fr) Mémoire rom à correction par redondance
FR2670595A1 (fr) Carte a circuit integre.
JP2004521430A (ja) メモリエラー処理のための方法及び回路装置
FR2684211A1 (fr) Dispositif d'exploitation des informations relatives aux pannes detectees par une ou plusieurs unites centrales d'un aeronef.
EP0635786B1 (fr) Dispositif de stockage de données
KR20180123207A (ko) 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
KR20190040613A (ko) 메모리 장치 및 이의 동작 방법
FR2843208A1 (fr) Dispositif de reconfiguration d'un ensemble memoire presentant des defauts
WO2010128068A1 (fr) Procede de protection de circuits electroniques, dispositif et systeme mettant en œuvre le procede
JPS63279347A (ja) メモリ装置
FR2577331A1 (fr) Appareil et procede pour eviter les defauts dans les memoires a semi-conducteurs