WO1995034858A1 - Correction d'erreurs dans une memoire - Google Patents

Correction d'erreurs dans une memoire Download PDF

Info

Publication number
WO1995034858A1
WO1995034858A1 PCT/FR1995/000767 FR9500767W WO9534858A1 WO 1995034858 A1 WO1995034858 A1 WO 1995034858A1 FR 9500767 W FR9500767 W FR 9500767W WO 9534858 A1 WO9534858 A1 WO 9534858A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
gnd
error
vcc
word
Prior art date
Application number
PCT/FR1995/000767
Other languages
English (en)
Inventor
Michael Nicolaidis
Fabian Vargas
Original Assignee
Centre National De La Recherche Scientifique
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 Centre National De La Recherche Scientifique filed Critical Centre National De La Recherche Scientifique
Priority to EP95923371A priority Critical patent/EP0765497B1/fr
Priority to DE69502393T priority patent/DE69502393T2/de
Publication of WO1995034858A1 publication Critical patent/WO1995034858A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices

Definitions

  • the present invention relates to the correction of errors occurring in a static memory following disturbances, such as bombardments of heavy ions.
  • Electronic equipment can, under certain conditions, in particular in space, be subjected to bombardments of particles, in particular heavy ions.
  • bombardments of particles in particular heavy ions.
  • the MOS transistor When the drain region of a determinedly polarized MOS transistor is crossed by a heavy ion, the MOS transistor generates a parasitic pulse on its drain.
  • Such a disturbance phenomenon commonly called the “upset” phenomenon, can cause annoying effects, in particular changing the state of a memory cell.
  • a first approach consists in providing a memory cell architecture such that a disturbance on a sensitive node does not cause this cell to switch over.
  • an article from IEEE Transactions on Nuclear Science, volume 35, N ° 6, December 1988, pages 1682 to 1687, "An SEU-Hardened CMOS Data Latch” proposes to use a memory cell surrounded by a network of MOS transistors which has the role of restoring the data modified by a disturbance phenomenon. This solution leads to a significant increase in the complexity of each memory cell.
  • Another approach is to extend each word stored in a memory with an error control code.
  • each time a word is read in the memory its control code is also read. If the control code is an error detecting code, it only indicates, if necessary, that the word contains erroneous bits. If the control code is a correcting code, it is also possible to correct a certain number of erroneous bits of the word.
  • the control code in order not to significantly increase the memory capacity and the size of the access buses to this memory, the control code must have a limited number of bits, which reduces its efficiency.
  • An object of the present invention is to provide a static memory structure making it possible to correct a high number of errors using reduced control codes, without however affecting the rate of access to the memory.
  • the present invention provides a static memory comprising memory cells arranged in rows and columns, each row of cells constituting at least one word and a corresponding error control code.
  • Each column of cells comprises at least one specific supply line connected to a general supply line of the memory by means of a current detector.
  • Each detector activates an error signal if the current of the associated specific supply line exceeds a predetermined threshold.
  • the memory is associated with a microprOcessor or with a correction circuit which, when at least one error signal is activated, reads words from the memory and their control codes and, if the control code for a word indicates an error, corrects the word bit in the column corresponding to the activated error signal.
  • the memory comprises means for increasing the threshold of each detector during access to the memory.
  • each column comprises two specific supply lines connected to two general supply lines of the memory by means of respective current detectors.
  • the control code is a parity bit.
  • an error due to a disturbance such as a bombardment of heavy ions, causes a momentary current consumption due to the tilting of the disturbed cell.
  • the invention proposes to detect the abnormal occurrence of such current consumption in each column of cells of a memory. The error is then located in a row of cells thanks to a control code which can be particularly simple.
  • FIG. 1 schematically represents a memory comprising memory cells MC arranged in rows and columns, as is conventional.
  • Each row of cells corresponds to one or more words and to error control codes respectively associated with the words.
  • each column of cells is supplied by specific supply lines Vcc 'and GND'.
  • FIG. 2 represents an example of a static memory cell, used in the memory of FIG. 1.
  • This cell comprises two inverters 6 and 8 connected head to tail to form a rocker. These inverters are supplied by specific lines Vcc 'and GND'.
  • the contents of the cell are accessed via transistors Ml and M2 connected respectively between a bit line Bl and the input of the inverter 6 and between a bit line B2 and the input of the inverter 8.
  • the transis ⁇ tors Ml and M2 are controlled by respective access signals A1 and A2 which can respectively be a read signal and a write signal from the cell or, in differential operation, the same signal serving as both a read signal and a write signal.
  • each specific line Vcc ' is connected to a positive general supply line Vcc by means of a respective current detector (DETP) 10.
  • each specific line GND' is connected to a GND negative general power supply line, such as a ground line, by means of a respective current detector (DETN) 12.
  • a current detector on only one of the specific supply lines would suffice because, in most cases, the tilting of a cell causes current consumption on the two specific lines Vcc 'and GND' .
  • the current consumption on one of the specific lines is notably higher than in the other.
  • a current detector is preferably provided per specific supply line.
  • the outputs of the current detectors 10 and 12 of each column are supplied to an OR gate 14.
  • the output of the gate 14 becomes active when at least one of the detectors 10 and 12 detects a current in a specific supply line.
  • the outputs of the doors 14 are supplied to a set of asynchronous flip-flops 16 which memorize the output of each of the doors 14 as soon as it becomes active. With this configuration, as soon as one of the flip-flops
  • a microprocessor associated with the memory is for example, interrupted by the passage to an active state of any one of the flip-flops 16.
  • the processing of the interruption then consists, for example, in reading the content of flip-flops 16 to "mark" the column in which is produced the error and then successively read the words corresponding to the marked column, with their control codes.
  • the control code indicates an error
  • the bit from the marked column is inverted and the word thus corrected is rewritten in memory.
  • the flip-flops 16 are reset to zero by an RST signal.
  • the procedure can be as follows. The activation of a flip-flop 16 does not cause any action. If, during execution, a program reads an incorrect word, it detects the error using the control code. He then comes to read the content of flip-flops 16 to correct the error.
  • FIG. 3 shows in detail an example of the structure of the current detectors 10 and 12.
  • the detectors 10 receive a reference voltage generated at the terminals of a P channel MPI MOS transistor connected to the line GND by the intermediary from a current source IN and to the line Vcc.
  • the gate of the transistor MPI is connected to the line GND, so that this transistor is conductive and behaves like a resistor.
  • the detectors 12 receive a reference voltage generated at the terminals of an N-channel MOS transistor MN1 connected to the line Vcc via a current source IP and to the line GND.
  • the gate of transistor MN1 is connected to the line Vcc.
  • the current sources IP and IN provide the same reference current Iref.
  • Each detector 10 comprises a P-channel MOS transistor of measurement MPm connecting the lines Vcc and Vcc 'to each other.
  • the gate of the transistor MPm is connected to the line GND.
  • the output of the detector 10 is provided by a comparator 10-1 which compares the voltage across the terminals of the transistor MPm with the threshold voltage across the terminals of the transistor MPI.
  • each comparator 12 comprises an N-channel MOS transistor of measurement MNm connecting the lines GND and GND 'together.
  • a comparator 12-1 compares the voltage appearing at the terminals of the transistor MNm with the threshold voltage at the terminals of the transistor MN1.
  • the output of the comparator 10-1 or 12-1 becomes active when the current in the line Vcc 'or in the line GND' exceeds the current Iref by a certain factor determined by the surface ratios of the transistors MPI and MPm, and transistors MN1 and MNm.
  • the detection threshold determined by the reference current Iref is chosen high enough so that one does not inadvertently detect a normal current consumption of the memory cells, such as that consumed during reading or writing.
  • the transistors Ml and M2 of FIG. 2 are then turned on and the inverters 6 and 8 must deliver a load current from the lines Bl and B2. During a write operation, the cell is also liable to be tipped over.
  • the sensitivity of the detectors is reduced outside of the read and write access phases.
  • the detection threshold is increased only during these access phases.
  • a transistor MN2 is connected in parallel on the transistor MN1 and a transistor MP2 is connected in parallel on the transistor. tor MPI.
  • the transistors MP2 and MN2 are respectively controlled by a validation signal in reading R (or in writing) and by its complement R * (*).
  • R * the complement of the transistors MP2 and MN2
  • the transistors MP2 and MN2 are conductive outside the access phases, which reduces the threshold voltage across the terminals of the transistors MPI and MN1, and therefore the detection threshold.
  • the transistors MP2 and MN2 are blocked, which increases the detection threshold. This avoids detecting the only access phase, but will detect a disturbance during the access phase, with practically the same sensitivity as outside the access phase.
  • the present invention has been described in relation to disturbance phenomena, in particular heavy ion bombardment, but it applies to other possibilities of error causing abnormal current consumption, for example when a cell is blocked in a state by a short circuit. In this case, an abnormal current is constantly detected. The wrong word cannot be corrected in memory, but it can be corrected each time it is read. Numerous variants and modifications of the present invention will appear to a person skilled in the art, in particular as regards the production of detectors 10 and 12 which can be simplified and optimized so as to avoid consuming any quiescent current.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Static Random-Access Memory (AREA)

Abstract

La présente invention concerne une mémoire statique comprenant des cellules mémoire (MC) disposées en rangées et colonnes, chaque rangée de cellules constituant au moins un mot et un code de contrôle d'erreur correspondant. Chaque colonne de cellules comprend au moins une ligne d'alimentation spécifique (Vcc', GND') reliée à une ligne d'alimentation générale (Vcc, GND) de la mémoire par l'intermédiaire d'un détecteur de courant (10, 12). Chaque détecteur active un signal d'erreur si le courant de la ligne d'alimentation spécifique associée dépasse un seuil prédéterminé.

Description

CORRECTION D'ERREURS DANS UNE MÉMOIRE
La présente invention concerne la correction d'erreurs survenant dans une mémoire statique à la suite de perturbations, telles que des bombardements d'ions lourds.
Des équipements électroniques peuvent, dans certaines conditions, notamment dans l'espace, être soumis à des bombar¬ dements de particules, en particulier des ions lourds. Lorsque la région de drain d'un transistor MOS polarisé d'une manière déterminée est traversée par un ion lourd, le transistor MOS génère une impulsion parasite sur son drain. Un tel phénomène de perturbation, couramment appelé phénomène de "upset", peut entraîner des effets gênants, notamment changer l'état d'une cellule mémoire.
On a déjà cherché dans l'art antérieur à résoudre ce problème et à réaliser des cellules de mémoire statique insen- sibles aux radiations (durcies). Une première approche consiste à prévoir une architecture de cellule mémoire telle qu'une perturbation sur un noeud sensible n'entraîne pas de basculement de cette cellule. Pour cela, un article de IEEE Transactions on Nuclear Science, volume 35, N° 6, décembre 1988, pages 1682 à 1687, "An SEU-Hardened CMOS Data Latch", propose d'utiliser une cellule mémoire entourée d'un réseau de transistors MOS qui a pour rôle de rétablir la donnée modifiée par un phénomène de perturbation. Cette solution entraîne une augmentation notable de la complexité de chaque cellule mémoire.
Une autre approche consiste à rallonger chaque mot stocké dans une mémoire d'un code de contrôle d'erreur. Ainsi, à chaque fois qu'un mot est lu dans la mémoire, on lit également son code de contrôle. Si le code de contrôle est un code détec¬ teur d'erreur, il indique seulement, le cas échéant, que le mot comporte des bits erronés. Si le code de contrôle est un code correcteur, on peut en outre corriger un certain nombre de bits erronés du mot. Toutefois, pour ne pas augmenter significati- vement la capacité mémoire et la taille des bus d'accès à cette mémoire, le code de contrôle doit avoir un nombre de bits limi¬ té, ce qui diminue son efficacité. Par exemple, pour pouvoir corriger un seul bit erroné d'un mot de 8 bits, il faut un code correcteur de 4 bits (au moins 3 bits pour corriger une erreur dans le mot et un bit pour déceler des erreurs dans le code correcteur lui-même). Un exemple de tel code est le code de Hamming. Un bit supplémentaire du code correcteur, par exemple un bit de parité, ne permettra pas de corriger une deuxième erreur mais permettra d'indiquer de manière fiable, en combinai- son avec les trois autres bits du code, qu'il y a une erreur corrigible ou deux erreurs. Ce dernier type de code, code correcteur d'erreurs simples et de détection d'erreurs doubles, est couramment employé.
On utilise parfois aussi des codes correcteurs dits bidimensionnels, décrits dans l'ouvrage "Testing Semiconductor Memories, Theory and Practice", par A.J. van de Goor, éditions John Wiley & Sons, 1991. Ce codage consiste à prévoir un code de contrôle, souvent de parité, pour chaque mot et pour chaque colonne de cellules d'une mémoire. Ainsi, on localise une erreur à l'intersection d'un mot et d'une colonne indiqués par des parités respectives erronées. Ce codage a l'inconvénient de notablement réduire la rapidité des écritures dans la mémoire, puisqu'il faut recalculer les parités des colonnes à chaque écriture.
Un objet de la présente invention est de prévoir une structure de mémoire statique permettant de corriger un nombre élevé d'erreurs à l'aide de codes de contrôle réduits, sans pour autant affecter la cadence d'accès à la mémoire. Pour atteindre cet objet, la présente invention prévoit une mémoire statique comprenant des cellules mémoire disposées en rangées et colonnes, chaque rangée de cellules constituant au moins un mot et un code de contrôle d'erreur correspondant. Chaque colonne de cellules comprend au moins une ligne d'alimentation spécifique reliée à une ligne d'alimenta¬ tion générale de la mémoire par l'intermédiaire d'un détecteur de courant. Chaque détecteur active un signal d'erreur si le courant de la ligne d'alimentation spécifique associée dépasse un seuil prédéterminé. Selon un mode de réalisation de la présente invention, la mémoire est associée à un microprOcesseur ou à un circuit de correction qui, quand au moins un signal d'erreur est activé, lit des mots de la mémoire et leurs codes de contrôle et, si le code de contrôle d'un mot indique une erreur, corrige le bit du mot dans la colonne correspondant au signal d'erreur activé.
Selon un mode de réalisation de la présente invention, la mémoire comprend des moyens pour augmenter le seuil de chaque détecteur pendant un accès à la mémoire.
Selon un mode de réalisation de la présente invention, chaque colonne comprend deux lignes d'alimentation spécifiques reliées à deux lignes d'alimentation générale de la mémoire par l'intermédiaire de détecteurs de courant respectifs.
Selon un mode de réalisation de la présente invention, le code de contrôle est un bit de parité. Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés plus en détail dans la description suivante de modes de réalisation parti¬ culiers faite à titre non-limitatif à l'aide des figures jointes parmi lesquelles : la figure 1 représente schématiquement un mode de réalisation d'architecture de mémoire statique selon l'inven¬ tion ; la figure 2 représente une cellule de mémoire statique classique ; et la figure 3 représente un mode de réalisation de détecteurs de courant pouvant être utilisés dans l'architecture de la figure 1.
Selon l'invention, on a constaté qu'une erreur due à une perturbation, telle qu'un bombardement d'ions lourds, entraîne une consommation de courant momentanée due au bascule¬ ment de la cellule perturbée. L'invention propose de détecter la survenue anormale d'une telle consommation de courant dans chaque colonne de cellules d'une mémoire. L'erreur est ensuite localisée dans une rangée de cellules grâce à un code de con¬ trôle qui peut être particulièrement simple.
La figure 1 représente schématiquement une mémoire comprenant des cellules mémoire MC disposées en rangées et colonnes, comme cela est classique. Chaque rangée de cellules correspond à un ou plusieurs mots et à des codes de contrôle d'erreur respectivement associés aux mots. Selon l'invention, chaque colonne de cellules est alimentée par des lignes d'ali¬ mentation Vcc' et GND' spécifiques.
La figure 2 représente un exemple de cellule de mé- moire statique, utilisée dans la mémoire de la figure 1. Cette cellule comprend deux inverseurs 6 et 8 reliés tête-bêche pour former une bascule. Ces inverseurs sont alimentés par des lignes spécifiques Vcc' et GND'. On accède au contenu de la cellule par l'intermédiaire de transistors Ml et M2 reliés respectivement entre une ligne de bit Bl et l'entrée de l'inverseur 6 et entre une ligne de bit B2 et l'entrée de l'inverseur 8. Les transis¬ tors Ml et M2 sont commandés par des signaux d'accès respectifs Al et A2 qui peuvent être respectivement un signal de lecture et un signal d'écriture de la cellule ou, en fonctionnement dif¬ férentiel, un même signal servant à la fois de signal de lecture et de signal d'écriture.
A la figure 1, chaque ligne spécifique Vcc' est reliée à une ligne d'alimentation générale positive Vcc par l'intermé- diaire d'un détecteur de courant respectif (DETP) 10. De même, chaque ligne spécifique GND' est reliée à une ligne d'alimen¬ tation générale négative GND, telle qu'une ligne de masse, par l'intermédiaire d'un détecteur de courant respectif (DETN) 12.
Dans de nombreux cas de défaillance, un détecteur de courant sur une seule des lignes d'alimentation spécifiques suffirait car, dans la plupart des cas, le basculement d'une cellule entraîne une consommation de courant sur les deux lignes spécifiques Vcc' et GND' . Toutefois, notamment dans le cas de bombardements d'ions lourds, la consommation de courant sur l'une des lignes spécifiques est notablement plus élevée que dans l'autre. Pour cela, on prévoit de préférence un détecteur de courant par ligne d'alimentation spécifique.
Les sorties des détecteurs de courant 10 et 12 de chaque colonne sont fournies à une porte OU 14. Ainsi, la sortie de la porte 14 devient active lorsqu'au moins un des détecteurs 10 et 12 détecte un courant dans une ligne d'alimentation spéci¬ fique. Les sorties des portes 14 sont fournies à un ensemble de bascules asynchrones 16 qui mémorisent la sortie de chacune des portes 14 dès qu'elle devient active. Avec cette configuration, dès que l'une des bascules
16 devient active, au moins une erreur s'est produite dans l'une des cellules mémoire MC de la colonne correspondante. L'erreur peut avantageusement être détectée dès qu'elle se produit. Pour traiter l'erreur, un microprocesseur associé à la mémoire est par exemple, interrompu par le passage à un état actif de l'une quelconque des bascules 16. Le traitement de l'interruption consiste alors, par exemple, à lire le contenu des bascules 16 pour "marquer" la colonne dans laquelle s'est produite l'erreur puis à lire successivement les mots correspondant à la colonne marquée, avec leurs codes de contrôle. Lorsque le code de contrôle indique une erreur, le bit provenant de la colonne marquée est inversé et le mot ainsi corrigé est réécrit dans la mémoire. A la fin de la procédure de correction, les bascules 16 sont remises à zéro par un signal RST.
La procédure qui vient d'être décrite permet de corri¬ ger une erreur pratiquement au moment où elle se produit. Une variante de cette procédure consiste à lire les mots par paquets jusqu'à ce que l'on trouve l'erreur, la tâche courante du micro- processeur étant reprise entre chaque lecture de paquets.
Pour éviter de perdre du temps à chercher l'erreur au moment où elle se produit, la procédure peut être la suivante. L'activation d'une bascule 16 n'entraîne aucune action. Si, en cours d'exécution, un programme lit un mot erroné, il détecte l'erreur à l'aide du code de contrôle. Il vient alors lire le contenu des bascules 16 pour corriger l'erreur.
Si plusieurs erreurs sont survenues simultanément ou successivement sans que l'on ait pu en corriger, on peut arriver à une situation ambiguë où l'on ne peut corriger que certaines d'entre elles ou aucune. Pour cette raison, toute la mémoire doit en pratique être lue afin de vérifier si la situation est ambiguë ou non, avant de procéder à des corrections. Plus le code de contrôle est complet, plus la probabilité de survenue d'une situation ambiguë est faible. Bien entendu, la correction d'erreurs peut être effec¬ tuée par un circuit spécialisé qui arrête tout circuit demandant à accéder à la mémoire tant que la procédure de correction n'est pas terminée. 'architecture de mémoire selon l'invention permet de corriger des erreurs avec un code de contrôle aussi simple qu'un bit de parité. A l'aide d'un bit de parité, qui ne permet norma¬ lement pas de corriger une erreur, l'invention permet de corriger une erreur et même plusieurs erreurs survenues dans une même colonne.
Selon l'invention, avec un code classique correcteur d'erreurs simples et détecteur d'erreurs doubles, on peut, dans le cas général, corriger jusqu'à trois erreurs survenues dans la mémoire, notamment trois erreurs dans un même mot ou trois erreurs dans deux mots. Bien entendu, ce code de contrôle permet, ce qui est son rôle classique, de corriger toutes les erreurs simples des mots.
Si les mots erronés ont deux erreurs chacun dans les mêmes colonnes, ces erreurs peuvent également être corrigées.
L'homme du métier pourra facilement déterminer les cas non ambigus en fonction des indications du code de contrôle utilisé et des bascules 16.
En tout cas, la probabilité pour que plusieurs cellu- les soient perturbées simultanément est faible. Ainsi, une architecture de mémoire selon l'invention employée avec des bits de parité en tant que codes de contrôle fournit des résultats satisfaisants et constitue un système particulièrement simple.
La figure 3 représente de manière détaillée un exemple de structure des détecteurs de courant 10 et 12. Les détecteurs 10 reçoivent une tension de référence générée aux bornes d'un transistor MOS à canal P MPI relié à la ligne GND par l'intermé¬ diaire d'une source de courant IN et à la ligne Vcc. La grille du transistor MPI est reliée à la ligne GND, de manière que ce transistor est conducteur et se comporte comme une résistance. De même, les détecteurs 12 reçoivent une tension de référence générée aux bornes d'un transistor MOS à canal N MN1 relié à la ligne Vcc par l'intermédiaire d'une source de courant IP et à la ligne GND. La grille du transistor MN1 est reliée à la ligne Vcc. Les sources de courant IP et IN fournissent un même courant de référence Iref.
Chaque détecteur 10 comprend un transistor MOS à canal P de mesure MPm reliant entre elles les lignes Vcc et Vcc' . La grille du transistor MPm est reliée à la ligne GND. La sortie du détecteur 10 est fournie par un comparateur 10-1 qui compare la tension aux bornes du transistor MPm à la tension seuil aux bornes du transistor MPI. De même, chaque comparateur 12 comprend un transistor MOS à canal N de mesure MNm reliant entre elles les lignes GND et GND' . Un comparateur 12-1 compare la tension apparaissant aux bornes du transistor MNm à la tension seuil aux bornes du transistor MN1. Ainsi, la sortie du compara¬ teur 10-1 ou 12-1 devient active lorsque le courant dans la ligne Vcc' ou dans la ligne GND' dépasse le courant Iref d'un certain facteur déterminé par les rapports de surface des tran¬ sistors MPI et MPm, et des transistors MN1 et MNm.
Le seuil de détection déterminé par le courant de référence Iref est choisi suffisamment élevé pour que l'on ne détecte pas intempestivement une consommation de courant normale des cellules mémoire, telle que celle consommée lors d'une lec¬ ture ou d'une écriture. En effet, les transistors Ml et M2 de la figure 2 sont alors rendus passants et les inverseurs 6 et 8 doivent délivrer un courant de charge des lignes Bl et B2. Lors d'une écriture la cellule est en outre susceptible d'être bas- culée.
Toutefois, en augmentant le seuil, on diminue la sen¬ sibilité des détecteurs en dehors des phases d'accès en lecture et en écriture.
Pour assurer une bonne sensibilité des détecteurs en dehors des phases d'accès sans toutefois risquer de les déclen¬ cher intempestivement pendant les phases d'accès, on augmente le seuil de détection seulement pendant ces phases d'accès. Pour cela, un transistor MN2 est relié en parallèle sur le transistor MN1 et un transistor MP2 est relié en parallèle sur le transis- tor MPI. Les transistors MP2 et MN2 sont respectivement commandés par un signal de validation en lecture R (ou en écri¬ ture ) et par son complément R* ( *). Ainsi, les transistors MP2 et MN2 sont conducteurs en dehors des phases d'accès, ce qui diminue la tension seuil aux bornes des transistors MPI et MNl, et donc le seuil de détection. Par contre, pendant les phases d'accès, les transistors MP2 et MN2 sont bloqués, ce qui aug¬ mente le seuil de détection. On évite ainsi de détecter la seule phase d'accès, mais on détectera une perturbation pendant la phase d'accès, avec pratiquement la même sensibilité qu'en dehors de la phase d'accès.
La présente invention a été décrite en relation avec des phénomènes de perturbation, en particulier des bombardements d'ions lourds, mais elle s'applique à d'autres possibilités d'erreur entraînant une consommation de courant anormale, par exemple lorsqu'une cellule est bloquée à un état par un court- circuit. Dans ce cas, un courant anormal est en permanence détecté. Le mot erroné ne pourra pas être corrigé dans la mémoire, mais il pourra l'être à chaque fois qu'il est lu. De nombreuses variantes et modifications de la pré¬ sente invention apparaîtront à l'homme du métier, notamment en ce qui concerne la réalisation des détecteurs 10 et 12 qui peuvent être simplifiés et optimisés de manière à ne œnsommer aucun courant de repos.

Claims

REVENDICATIONS
1. Mémoire statique comprenant des cellules mémoire (MC) disposées en rangées et colonnes, chaque rangée de cellules constituant au moins un mot et un code de contrôle d'erreur correspondant, caractérisée en ce que chaque colonne de cellules comprend au moins une ligne d'alimentation spécifique (Vcc', GND') reliée à une ligne d'alimentation générale (Vcc, GND) de la mémoire par l'intermédiaire d'un détecteur de courant (10, 12), chaque détecteur activant un signal d'erreur si le courant de la ligne d'alimentation spécifique associée dépasse un seuil prédéterminé.
2. Mémoire statique selon la revendication 1, caracté¬ risée en ce qu'elle est associée à des moyens pour, quand au moins un signal d'erreur est activé, lire des mots de la mémoire et leurs codes de contrôle et, si le code de contrôle d'un mot indique une erreur, corriger le bit du mot dans la colonne correspondant audit au moins un signal d'erreur activé.
3. Mémoire statique selon la revendication 1, caracté¬ risée en ce qu'elle comprend des moyens (MP2, MN2) pour augmen¬ ter le seuil prédéterminé de chaque détecteur (10, 12) pendant un accès à la mémoire.
4. Mémoire statique selon la revendication 1, caracté¬ risée en ce que chaque colonne comprend deux lignes d'alimenta¬ tion spécifiques (Vcc', GND') reliées à deux lignes d'alimenta¬ tion générale (Vcc, GND) de la mémoire par l'intermédiaire de détecteurs de courant respectifs (10, 12).
5. Mémoire statique selon la revendication 1, caracté¬ risée en ce que le code de contrôle est un bit de parité.
PCT/FR1995/000767 1994-06-14 1995-06-12 Correction d'erreurs dans une memoire WO1995034858A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP95923371A EP0765497B1 (fr) 1994-06-14 1995-06-12 Correction d'erreurs dans une memoire
DE69502393T DE69502393T2 (de) 1994-06-14 1995-06-12 Korrektur von speicherfehlern

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9407497A FR2721135B1 (fr) 1994-06-14 1994-06-14 Correction d'erreurs dans une mémoire.
FR94/07497 1994-06-14

Publications (1)

Publication Number Publication Date
WO1995034858A1 true WO1995034858A1 (fr) 1995-12-21

Family

ID=9464381

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1995/000767 WO1995034858A1 (fr) 1994-06-14 1995-06-12 Correction d'erreurs dans une memoire

Country Status (4)

Country Link
EP (1) EP0765497B1 (fr)
DE (1) DE69502393T2 (fr)
FR (1) FR2721135B1 (fr)
WO (1) WO1995034858A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3746981A (en) * 1971-09-24 1973-07-17 Collins Radio Co Electrical fault monitoring with memory
EP0307958A2 (fr) * 1987-09-18 1989-03-22 Oki Electric Industry Company, Limited Système EEPROM comprenant une fonction de détection d'erreur de bit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3746981A (en) * 1971-09-24 1973-07-17 Collins Radio Co Electrical fault monitoring with memory
EP0307958A2 (fr) * 1987-09-18 1989-03-22 Oki Electric Industry Company, Limited Système EEPROM comprenant une fonction de détection d'erreur de bit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MALY AND PATYRA: "Built-in Current Testing", IEEE JOURNAL OF SOLID-STATE CIRCUITS, vol. 27, no. 3, March 1992 (1992-03-01), pages 425 - 428, XP000295899 *

Also Published As

Publication number Publication date
EP0765497A1 (fr) 1997-04-02
EP0765497B1 (fr) 1998-05-06
FR2721135A1 (fr) 1995-12-15
DE69502393T2 (de) 1998-12-24
FR2721135B1 (fr) 1996-09-06
DE69502393D1 (de) 1998-06-10

Similar Documents

Publication Publication Date Title
JP4036865B2 (ja) 連想メモリ(cam)
FR2501891A1 (fr) Memoire semi-conductrice autocorrectrice d'erreurs
EP0317014B1 (fr) Unité de mémoire vive à plusieurs modes de test et ordinateur muni de telles unités
US7277306B2 (en) Associative memory capable of searching for data while keeping high data reliability
EP0279712B1 (fr) Circuit de lecture pour mémoire
FR2502377A1 (fr) Memoire semi-conductrice a fonction de correction de bits errones
FR2600183A1 (fr) Circuit integre pour la memorisation et le traitement d'informations de maniere confidentielle comportant un dispositif anti-fraude
EP0626696B1 (fr) Mémoire dynamique avec des cellules de référence
WO2003038620A2 (fr) Procede de memorisation de donnees avec correction d'erreur
CA1282875C (fr) Dispositif de detection du fonctionnement du systeme de lecture d'une cellule-memoire eprom ou eeprom
EP0278832B1 (fr) Circuit de lecture pour mémoire
EP0977120B1 (fr) Mémoire rom à correction par redondance
EP0765497B1 (fr) Correction d'erreurs dans une memoire
FR3015103A1 (fr) Systeme d'ecriture de donnees dans une memoire
EP0269468B1 (fr) Dispositif de sécurité pour la programmation d'une mémoire non volatile programmable électriquement
US20070242538A1 (en) Apparatus and methods for determining memory device faults
FR2786911A1 (fr) Memoire eeprom securisee comportant des moyens de detection d'effacement par uv
EP2289068B1 (fr) Detection et correction d'erreurs pour une memoire dont les etats de bit ont une resistance d'erreur differente
EP0733973B1 (fr) Détecteur de cohérence d'informations contenues dans un circuit intégré
FR2656127A1 (fr) Circuit de protection contre une operation d'ecriture incorrecte pour un dispositif de memoire.
WO2003032160A2 (fr) Architecture de circuits protegee contre des perturbations
FR2887364A1 (fr) Circuit integre protege contre les courts-circuits et les erreurs de fonctionnement suite au passage d'une radiation ionisante
FR2801410A1 (fr) Dispositif de memoire vive dynamique, et procede de lecture correspondant
EP0313521B1 (fr) Mémoire à accès aléatoire
EP4195050A1 (fr) Procede et dispositif de correction d'erreurs dans les memoires resistives

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1995923371

Country of ref document: EP

ENP Entry into the national phase

Ref country code: US

Ref document number: 1997 750726

Date of ref document: 19970328

Kind code of ref document: A

Format of ref document f/p: F

WWP Wipo information: published in national office

Ref document number: 1995923371

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1995923371

Country of ref document: EP