FR2887364A1 - Circuit integre protege contre les courts-circuits et les erreurs de fonctionnement suite au passage d'une radiation ionisante - Google Patents
Circuit integre protege contre les courts-circuits et les erreurs de fonctionnement suite au passage d'une radiation ionisante Download PDFInfo
- Publication number
- FR2887364A1 FR2887364A1 FR0551663A FR0551663A FR2887364A1 FR 2887364 A1 FR2887364 A1 FR 2887364A1 FR 0551663 A FR0551663 A FR 0551663A FR 0551663 A FR0551663 A FR 0551663A FR 2887364 A1 FR2887364 A1 FR 2887364A1
- Authority
- FR
- France
- Prior art keywords
- memory
- block
- integrated circuit
- current
- elementary
- 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.)
- Granted
Links
- 230000005865 ionizing radiation Effects 0.000 title description 10
- 238000012937 correction Methods 0.000 claims abstract description 77
- 239000004065 semiconductor Substances 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 154
- 238000001514 detection method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 244000045947 parasite Species 0.000 claims description 2
- 230000003071 parasitic effect Effects 0.000 abstract description 20
- 230000001960 triggered effect Effects 0.000 abstract description 7
- 239000000758 substrate Substances 0.000 description 35
- 238000010586 diagram Methods 0.000 description 9
- 230000005855 radiation Effects 0.000 description 7
- 230000007423 decrease Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 230000033764 rhythmic process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/005—Circuit means for protection against loss of information of semiconductor storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/412—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
- G11C11/4125—Cells incorporating circuit means for protecting against loss of information
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Semiconductor Memories (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
L'invention concerne une puce de circuit intégré comprenant un grand nombre de composants semiconducteurs présentant des composants parasites à travers lesquels un court-circuit entre la tension d'alimentation et la masse du circuit est susceptible de se déclencher, lesdits composants semiconducteurs étant répartis dans des blocs élémentaires, chaque bloc élémentaire étant relié indépendamment aux lignes d'alimentation ou de masse du réseau d'alimentation principal du circuit intégré par un dispositif de limitation de courant apte à enrayer un court-circuit se déclenchant dans le bloc considéré, et chaque bloc étant dimensionné de sorte que des erreurs logiques susceptibles d'apparaître dans ce bloc soient corrigeables par des moyens de correction d'erreurs.
Description
CIRCUIT INTEGRE PROTEGE CONTRE LES COURTS-CIRCUITS ET LES
ERREURS DE FONCTIONNEMENT SUITE AU PASSAGE D'UNE RADIATION
IONISANTE
Domaine de l'invention La présente invention concerne les circuits intégrés dont le fonctionnement est susceptible d'être perturbé par une radiation ionisante.
Exposé de l'art antérieur La figure 1 est une vue en coupe d'un transistor MOS à canal N (NMOS) et d'un transistor MOS à canal P (PMOS) d'une partie d'une mémoire de type SRAM incluse dans un circuit intégré. Le circuit intégré est formé dans et au-dessus d'un substrat 1 faiblement dopé de type P. Un caisson 2 de type N est formé dans la partie supérieure du substrat 1. Dans la présente description, on appelle caisson une zone ou portion supérieure relativement épaisse du substrat en surface de laquelle peuvent être formées des zones de drain/source de transistors MOS. Dans cet exemple, deux zones de drain/source 3 et 4 sont placées en surface du caisson N 2. Une zone de contact de caisson 5 forte- ment dopée de type N est placée en surface du caisson N 2. Des zones de drain/source 6 et 7 sont placées en surface du substrat 1. Une zone de contact de substrat 8 fortement dopée de type P est placée en surface du substrat 1. Les zones de drain/source 3/4 et 6/7 sont séparées par des zones de canal au-dessus desquelles sont placées des grilles isolées 10 et 11.
Cette partie de mémoire présente un ensemble de composants parasites qui ne sont pas gênants lors d'une utili- sation standard de la mémoire mais qui peuvent le devenir lorsqu'une radiation atteint le substrat au niveau de cette cellule. Il se crée alors un ensemble de particules chargées le long de la trajectoire de la radiation dans le substrat 1, et/ou le caisson 2. Un tel ensemble de charges génère alors des cou- rants parasites susceptibles de déclencher un phénomène de verrouillage, mieux connu sous le nom anglais de "latch up", qui est décrit ci-après.
La zone de source 4, le caisson N 2 et le substrat 1 constituent un premier transistor bipolaire PNP parasite T1. La zone de source 7, le substrat 1 et le caisson N 2 constituent un second transistor bipolaire NPN parasite T2. De plus, le caisson N 2 est équivalent à une résistance R1 entre la zone de contact de caisson 5 et la base du transistor parasite T1. De même, le substrat P 1 est équivalent à une résistance R2 entre la zone de contact de substrat 8 et la base du transistor parasite T2.
La figure 2 est un schéma électrique équivalent du circuit parasite formé par les composants parasites susmentionnés. Lors d'une utilisation standard de la mémoire, la zone de source 4 et la zone de contact de caisson 5 sont reliées à une tension d'alimentation Vdd. La zone de source 7 du transistor NMOS et la zone de contact de substrat 8 sont quant à elles reliées à la masse GND. L'émetteur du transistor T1, correspondant à la zone de source 4, et la résistance R1 sont alors reliés à la tension d'alimentation Vdd. L'émetteur du transistor T2, correspondant à la zone de source 7, et la résistance R2 sont reliés à la masse. La résistance R1 est placée entre l'émetteur et la base du transistor T1. La résistance R2 est placée entre la masse et la base du transistor T2. Le collecteur du transistor T1 est relié à la base du transistor T2. De même, le collecteur du transistor T2 est relié à la base du transistor T1.
Lorsqu'une radiation arrive dans le substrat, il se crée un courant parasite ip à travers la résistance R2 et par conséquent une tension V2 aux bornes de la résistance R2. Cette tension V2 est appliquée entre la base et l'émetteur du transistor T2. Cette tension V2 peut être suffisante pour mettre en conduction le transistor T2. Un courant i2 traverse alors le transistor T2 et la résistance R1 et il se crée une tension V1 aux bornes de la résistance R1. Cette tension V1 est appliquée entre la base et l'émetteur du transistor T1. Lorsque la tension V1 est suffisante, le transistor bipolaire T1 devient conducteur. Un courant i1 traverse alors le transistor T1 et la résistance R2. Le système est alors "verrouillé" car chaque transistor génère le courant nécessaire à la mise en conduction de l'autre transistor. L'apparition de ce phénomène de verrouillage ou de déclenchement de thyristor parasite, a pour conséquence de créer un chemin de conduction très faiblement résistif entre la tension d'alimentation Vdd et la masse GND.
Des moyens connus pour éviter le phénomène de verrouillage décrit cidessus consistent à modifier la structure de la cellule mémoire telle que représentée en figure 1. Cependant, ces solutions ont pour effet d'augmenter la taille du circuit, ce qui va à l'encontre d'une intégration toujours plus élevée du nombre de composants sur une surface donnée de circuit intégré.
De plus, des solutions technologiques permettent de diminuer la probabilité d'apparition du phénomène de verrouillage mais ne suppriment pas totalement le risque d'avoir un court- circuit entre la tension d'alimentation et la masse, un tel court-circuit entraînant non seulement une consommation importante mais aussi des erreurs de fonctionnement du circuit intégré.
Résumé de l'invention Un objet de la présente invention est de prévoir un circuit intégré permettant d'éviter un ou plusieurs des inconvénients susmentionnés.
Un autre objet de la présente invention est de prévoir un circuit intégré qui ne présente pas d'erreurs de fonctionnement suite au passage d'une radiation ionisante.
Pour atteindre ces objets, la présente invention prévoit une puce de circuit intégré comprenant un grand nombre de composants semiconducteurs présentant des composants parasites à travers lesquels un court-circuit entre la tension d'alimentation et la masse du circuit est susceptible de se déclencher, lesdits composants semiconducteurs étant répartis dans des blocs élémentaires, chaque bloc élémentaire étant relié indépendamment aux lignes d'alimentation ou de masse du réseau d'alimentation principal du circuit intégré par un dispositif de limitation de courant apte à enrayer un court-circuit se déclenchant dans le bloc considéré, et chaque bloc étant dimensionné de sorte que des erreurs logiques susceptibles d'apparaître dans ce bloc soient corrigeables par des moyens de correction d'erreurs.
Selon une variante de réalisation de la puce susmentionnée, la puce comprend en outre pour au moins un bloc élémentaire un détecteur de courant apte à relever un courant anormalement élevé dans le bloc considéré, l'utilisation de détecteurs de courant permettant de localiser les blocs élémentaires susceptibles de présenter des erreurs, cette localisation permettant de simplifier et/ou de rendre plus performants lesdits moyens de correction d'erreurs.
Dans une variante de réalisation de la puce décrite ci-dessus, au moins un dispositif de limitation de courant associé à un bloc élémentaire est un interrupteur placé entre les lignes de masse ou d'alimentation de ce bloc élémentaire et celles du réseau d'alimentation du circuit intégré, cet interrupteur étant commandé par le détecteur de courant relié au bloc élémentaire considéré de façon à ouvrir l'interrupteur quand le courant circulant dans les lignes de masse ou d'alimentation du bloc considéré est supérieur à une valeur de seuil prédéfinie.
Dans une variante de réalisation de la puce décrite ci-dessus, les dispositifs de limitation de courant sont des transistors.
Dans une variante de réalisation de la puce susmentionnée, chaque fois qu'un détecteur de courant donné détecte un courant anormalement élevé, lesdits moyens de correction d'erreurs corrigent les éventuelles erreurs introduites dans le bloc élémentaire relié au détecteur de courant donné.
Selon une variante de réalisation de la puce susmen- tionnée, la puce comprend au moins une mémoire mémorisant un ensemble de mots de plusieurs bits, chaque bit correspondant à une cellule mémoire, les cellules mémoire étant réparties dans différents blocs élémentaires, et la ou les lignes de masse ou d'alimentation de chaque bloc élémentaire de cellules étant reliées aux lignes de masse ou d'alimentation du réseau d'alimentation principal du circuit intégré par l'intermédiaire d'un dispositif de limitation de courant.
Dans une variante de réalisation de la puce susmentionnée, la répartition des cellules mémoire dans différents blocs élémentaires est telle que chaque bloc élémentaire comprend au plus un seul bit d'un mot donné.
Dans une variante de réalisation de la puce susmentionnée, chaque mémoire comprend un bloc de contrôle dans lequel sont stockés des codes correcteurs d'erreurs, chaque code correcteur d'erreurs étant associé à un mot de la mémoire, et lesdits moyens de correction d'erreurs utilisent les valeurs mémorisées par les codes correcteurs d'erreurs pour corriger les éventuelles erreurs présentes dans une mémoire.
Dans une variante de réalisation de la puce 35 susmentionnée, chaque mémoire comprend un bloc de contrôle dans lequel sont stockés des codes détecteurs d'erreurs, tels que des bits de parité, chaque code correcteur d'erreurs étant associé à un mot de la mémoire, et lesdits moyens de correction d'erreurs utilisent les valeurs mémorisées par les codes détecteurs d'erreurs pour corriger les éventuelles erreurs présentes dans une mémoire.
Selon une variante de réalisation de la puce susmentionnée, la puce comprend en outre au moins un dispositif de mémorisation d'adresses référençant les blocs élémentaires d'une mémoire dans lesquels un courant anormalement élevé a été détecté par des détecteurs de courant associés à ces blocs, les moyens de correction d'erreurs utilisant les informations référencées par ledit au moins un dispositif de mémorisation d'adresses pour corriger les éventuelles erreurs présentes dans une mémoire.
Dans une variante de réalisation de la puce susmentionnée, les moyens de correction d'erreurs vérifient régulièrement si ledit au moins un dispositif de mémorisation d'adresses référence un bloc élémentaire, et si tel est le cas, les moyens de correction d'erreurs effectuent des lectures des mots de la mémoire comprenant des cellules placées dans le bloc élémentaire référencé, puis vérifient si les mots lus sont corrects au moyen de codes de contrôle d'erreurs associés à chacun de ces mots, et effectuent si nécessaire des écritures dans la mémoire considérée pour corriger les mots présentant des erreurs.
Dans une variante de réalisation de la puce susmentionnée, des détecteurs de courant associés aux blocs élémentaires de cellules sont prévus pour détecter deux types de courant anormalement élevés dans les lignes de masse ou d'alimentation de ces blocs élémentaires, le premier type de courant anormalement élevé étant un courant de forte intensité correspondant à un court-circuit entre la tension d'alimentation et la masse du circuit, le second type de courant anormalement élevé étant un pic de courant momentané traduisant un changement de la valeur mémorisée dans une ou plusieurs des cellules de la mémoire, une détection d'un premier ou d'un second type de courant étant indiquée aux moyens de correction d'erreurs afin que ces derniers procèdent si nécessaire à des corrections d'erreurs dans la mémoire concernée.
Dans une variante de réalisation de la puce susmentionnée, la puce comprend un dispositif de traitement logique synchrone, tel qu'un microprocesseur, qui comprend un ensemble de registres en série entre une entrée et une sortie du dispositif, la sortie de chaque registre étant connectée à une entrée d'un multiplexeur et à une entrée d'un élément de mémorisation dont la sortie est connectée à l'autre entrée du multiplexeur, la sortie de chaque multiplexeur étant reliée à l'entrée d'un registre ou à la sortie du dispositif par l'intermédiaire éventuellement d'un bloc combinatoire, les registres, les multiplexeurs et les blocs combinatoires constituant un premier bloc élémentaire et les éléments de mémorisation constituant un second bloc élémentaire, les registres enregistrant les données présentes sur leurs entrées au rythme d'un signal d'horloge, chaque élément de mémorisation conservant les k dernières valeurs enregistrées par le registre auquel il est relié, les éléments de mémorisation constituant des moyens de correction d'erreurs aptes à repositionner les registres dans un état logique correct suite à une détection d'un courant anormalement élevé dans le premier bloc élémentaire.
La présente invention prévoit en outre un système électronique comprenant une puce de circuit intégré telle que décrite précédemment, lesdits moyens de correction d'erreurs étant placés hors de la puce et étant reliés à la puce par un ensemble de connexions électriques.
Brève description des dessins
Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles: la figure 1 est une vue en coupe précédemment décrite d'une partie d'une cellule d'une mémoire SRAM; la figure 2 est un schéma équivalent des éléments parasites de la cellule représentée en figure 1; la figure 3 est une représentation schématique d'un circuit selon la présente invention; la figure 4 est une représentation schématique d'un mode de réalisation d'un circuit selon la présente invention; la figure 5 est un schéma d'un module de traitement logique faisant partie d'un circuit intégré selon la présente invention; la figure 6 est un schéma d'une mémoire faisant partie 15 d'un circuit intégré selon la présente invention; la figure 7 est une vue schématique d'une partie de la mémoire représentée en figure 5; la figure 8 est un diagramme illustrant le fonctionnement d'un dispositif de correction d'erreurs dans une mémoire faisant partie d'un circuit intégré selon la présente invention; et la figure 9 est un schéma d'un circuit intégré selon la présente invention comprenant plusieurs mémoires reliées à un dispositif de correction d'erreurs commun.
Description détaillée
Par souci de clarté, de mêmes éléments ont été désignés par de mêmes références aux différentes figures et, de plus, comme cela est habituel dans la représentation des circuits intégrés, la figure 1 n'est pas tracée à l'échelle.
De façon générale, un circuit intégré comprend un ensemble de blocs fonctionnels tels qu'une mémoire ou un micro-processeur, ainsi qu'un réseau d'alimentation constitué d'un ensemble de lignes reliées à la masse GND, appelées ci-après lignes de masse, et d'un ensemble de lignes reliées à une tension d'alimentation Vdd, appelées ci-après lignes d'alimentation. Les lignes de masse et/ou d'alimentation font partie du réseau d'interconnexions du circuit intégré placé au-dessus du substrat dans lequel sont formés les composants semiconducteurs du circuit. Le réseau d'interconnexions est généralement constitué de plusieurs niveaux de pistes conductrices entre lesquels sont placés des niveaux de vias conducteurs. Le réseau d'alimentation "principal" d'un circuit intégré peut être constitué d'un ensemble de lignes de masse et d'alimentation, souvent appelées "rails", et placées sur les derniers niveaux de pistes du circuit intégré. Les réseaux d'alimentation "spécifiques" à chacun des blocs fonctionnels sont de façon générale constitués d'un ensemble de lignes de masse et d'alimentation placées au-dessus des composants semiconducteurs de chaque bloc à des niveaux inférieurs à ceux des rails du réseau d'alimen- tation principal et sont reliées à ces derniers par un ensemble de vias conducteurs.
Un circuit intégré selon la présente invention comprend un ensemble de composants semiconducteurs "sensibles" présentant des composants parasites tels que les transistors bipolaires T1 et T2 de la mémoire représentée en figure 1. Ces composants parasites sont reliés les uns aux autres et constituent des circuits parasites reliés à la tension d'alimentation et à la masse du circuit intégré. Un phénomène de verrouillage, tel que décrit précédemment, est susceptible de se déclencher à travers chacun de ces circuits parasites au passage d'une radiation ionisante à travers le substrat du circuit intégré.
Selon un aspect de la présente invention, les compo- sants semiconducteurs "sensibles", c'est-à-dire ceux comprenant des composants parasites à travers lesquels un court-circuit entre la tension d'alimentation et la masse est susceptible de se déclencher, sont répartis dans plusieurs blocs élémentaires.
Chaque bloc élémentaire est relié au réseau d'alimentation principal par un dispositif de limitation de courant apte à enrayer un court-circuit entre la tension d'alimentation et la masse se déclenchant dans le bloc considéré. Le découpage du circuit intégré en blocs élémentaires et une alimentation distincte pour chacun de ces blocs élémentaires permettent de faciliter les opérations de correction d'erreurs dans les blocs élémentaires comme cela apparaîtra dans les exemples donnés ci-après.
La figure 3 est une représentation schématique d'un exemple de circuit intégré selon la présente invention. Le circuit intégré comprend trois blocs fonctionnels 100, 101 et 102 qui sont respectivement un microprocesseur, une mémoire et un circuit de boucle à verrouillage de phase. Le réseau d'alimentation principal du circuit comprend un rail annulaire 105 placé en périphérie du circuit intégré et par exemple relié à la masse GND du circuit intégré. Par souci de simplification les lignes d'alimentation VDD du réseau d'alimentation principal ne sont pas représentées.
Les blocs 100 et 101 comprennent des composants semiconducteurs "sensibles" qui incluent des composants para-sites à travers lesquels un phénomène de verrouillage est susceptible d'apparaître. Le bloc 102 ne comprend pas de composants semiconducteurs sensibles ou comprend des composants peu sensibles dans le sens où il y a une probabilité très faible qu'un phénomène de verrouillage apparaisse au niveau de ce bloc.
Dans cet exemple, les lignes de masse m100 du bloc 100 sont reliées au rail annulaire GND 105 par l'intermédiaire d'un dispositif de limitation de courant 110. Deux sous-blocs 101a et 101b du bloc 101 sont alimentés séparément par deux groupes de lignes de masse m101a et m101b. Les groupes de lignes de masse m101a et m101b des sous-blocs 101a et 101b sont respectivement reliés au rail 105 par des dispositifs de limitation de courant 111 et 112. Les lignes de masse m102 du bloc 102 sont reliées directement au rail annulaire 105.
Chaque dispositif de limitation de courant 110, 111 et 112 est prévu d'une part pour laisser circuler un courant 35 standard Is à travers le bloc auquel il est relié, quand ce bloc fonctionne normalement et d'autre part pour limiter le courant pouvant circuler quand un "appel" de courant important se met en place au niveau d'un bloc à la suite par exemple de l'apparition d'un phénomène de verrouillage. Cette limitation de courant peut être totale ou relative. Une limitation est totale quand plus aucun courant significatif ne circule à travers le dispositif de limitation de courant. Une limitation est relative quand le courant pouvant circuler à travers le dispositif de limitation de courant lors de l'apparition d'un court-circuit est inférieur au courant minimum nécessaire au maintien du court-circuit à travers les composants parasites du bloc "touché".
Des exemples de dispositifs de limitation de courant sont donnés ci-après.
La figure 4 est une représentation schématique plus détaillée du circuit intégré représenté en figure 3 dans laquelle des exemples de dispositifs de limitation de courant sont représentés.
Le dispositif de limitation de courant 110 est dans cet exemple un interrupteur 120. Cet interrupteur peut être un transistor MOS à canal P ou N. Un détecteur de courant 121 est relié aux lignes de masse m100 du bloc 100 afin de mesurer le courant circulant dans l'ensemble de ces lignes de masse. Le détecteur de courant 121 est connecté à l'interrupteur 120 afin de commander l'ouverture de cet interrupteur quand le courant traversant le bloc 100 est trop élevé.
Plus précisément, lorsqu'une radiation ionisante arrive dans le substrat du circuit intégré au niveau du bloc 100 et qu'un phénomène de verrouillage se déclenche dans ce bloc, le courant traversant l'interrupteur 120 et les lignes de masse m100 augmente. Lorsque ce courant dépasse un courant de seuil prédéfini, le détecteur 121 commande l'ouverture de l'interrupteur 120. Le courant traversant les lignes de masse diminue et devient nul généralement assez rapidement, le temps de diminution du courant dépendant notamment des charges capacitives des lignes de masse. Lorsque le courant relevé par le détecteur de courant 121 diminue en dessous du courant de seuil prédéfini, le détecteur de courant 121 commande la fermeture de l'interrupteur 120. La fermeture de l'interrupteur 120 peut aussi être commandée, par le détecteur de courant ou un autre circuit de commande non représenté, lorsqu'une durée déterminée s'est écoulée suite à l'ouverture de l'interrupteur 120. On notera que la valeur de courant de seuil utilisée pour détecter un courtcircuit et commander l'ouverture de l'inter-rupteur peut être différente de celle utilisée pour commander la fermeture de l'interrupteur.
Les dispositifs de limitation de courant 111 et 112 sont dans cet exemple des transistors MOS à canal N 122 et 123 dont les grilles sont reliées en permanence à la tension d'alimentation Vdd du circuit intégré. De tels dispositifs sont appelés ci-après "transistors résistance".
Les transistors "résistance" peuvent être utilisés pour des blocs ou sousblocs présentant des courants dynamiques relativement faibles, tels que des mémoires. Dans le cas d'un bloc logique synchrone tel qu'un microprocesseur, le courant tiré par le bloc à chaque coup d'horloge est généralement relativement élevé et la chute de tension aux bornes du dispositif de limitation de courant doit rester faible. L'utilisation d'un interrupteur associé à un détecteur de courant est alors préférable car un simple transistor MOS en permanence conducteur présente une résistance intrinsèque trop élevée pour ce type d'utilisation. Un tel interrupteur peut être un transistor MOS présentant une faible résistance entre sa source et son drain.
Lorsqu'un bloc élémentaire est "touché" par une radiation ionisante et qu'un court-circuit s'établit au niveau de ce bloc entre la tension d'alimentation Vdd et la masse Gnd, l'alimentation de ce bloc peut être coupée, dans le cas de l'interrupteur 120, ou perturbée, dans le cas des transistors résistance 122 et 123. Il s'ensuit que des erreurs logiques peuvent apparaître au niveau du bloc touché. On notera que la présence des dispositifs de limitation de courant permet de "confiner" les erreurs dans le bloc touché dans la mesure où seule l'alimentation de ce bloc a été perturbée, les autres blocs n'étant pas impactés. Pour que le circuit retrouve un état de fonctionnement correct quand un bloc a été touché, il est généralement nécessaire que des moyens de correction d'erreurs remettent le bloc touché dans un état logique correct. Les moyens de correction d'erreurs utilisés sont adaptés à chacun des blocs élémentaires du circuit intégré.
Afin de pouvoir repositionner chaque bloc élémentaire dans un état logique correct, il faut que le découpage du circuit en blocs élémentaires alimentés indépendamment soit effectué judicieusement. Il faut en effet que chaque bloc élémentaire soit associé à des moyens de correction d'erreurs capables de corriger toutes erreurs affectant n'importe quelles parties du bloc élémentaire. De plus, le découpage du circuit intégré en plusieurs blocs élémentaires permet d'utiliser des moyens de correction d'erreurs simples, c'est-à-dire peu volumineux, rapides et de faible complexité. On notera en outre que les moyens de correction d'erreurs d'un ou plusieurs blocs élémentaires peuvent être simplifiés ou rendus plus performants dans le cas où chaque bloc élémentaire est relié à un détecteur de courant capable de détecter des courants anormalement élevés dans le bloc considéré, la localisation des blocs susceptibles de présenter des erreurs permettant de faciliter la correction de ces éventuelles erreurs, comme cela apparaîtra dans les exemples suivants.
La figure 5 est un schéma d'une partie d'un dispositif de traitement et de calcul tel qu'un microprocesseur appartenant à un circuit intégré selon la présente invention. Le dispositif comprend un ensemble de registres R1 à R3 placés en série entre une entrée E et une sortie S. Les registres R1 à R3 sont synchronisés par un signal d'horloge CK. Les sorties des registres R1, R2 et R3 sont respectivement reliées aux entrées de circuits de mémorisation F1, F2 et F3 et à une des entrées de multiplexeurs M1, M2 et M3 commandés par un signal de sélection S. Les sorties des circuits de mémorisation F1, F2 et F3 sont respectivement reliées à l'autre des entrées des multiplexeurs M1, M2 et M3. Deux blocs combinatoires Cl et C2 sont placés respectivement entre la sortie du multiplexeur M1 ou M2 et l'entrée du registre R2 ou R3.
Un mode de réalisation des circuits de mémorisation F1 à F3 est décrit en détail dans la demande de brevet français 2828601 de la demanderesse. Les circuits de mémorisation F1 à F4 sont par exemple des mémoires du type "premier-entré, premier-sorti".
Les registres R1, R2 et R3, les multiplexeurs M1, M2 et M3 et les blocs combinatoires Cl et C2 constituent un premier sous-bloc sbl du dispositif de traitement et de calcul. Les circuits de mémorisation F1, F2 et F3 constituent un second sous-bloc sb2. Le sous-bloc sbl est le sous-bloc principal réalisant l'ensemble des opérations de calcul et de traitement du dispositif, le sous-bloc sb2 est un moyen de repositionnement du sousbloc sbl dans un état correct comme cela est décrit ci-après.
Les lignes d'alimentation ou les lignes de masse de chacun des sous-blocs sbl et sb2, non représentées, sont reliées à celles du réseau d'alimentation principal du circuit par des interrupteurs 130 et 131. Des détecteurs de courant 134 et 135 sont reliés aux lignes d'alimentation ou de masse des sous-blocs sbl et sb2. Les détecteurs de courant 134 et 135 commandent l'ouverture ou la fermeture des interrupteurs 130 et 131.
En fonctionnement normal, les multiplexeurs M1 à M3 laissent passer les données positionnées en sortie des registres R1 à R3. Les registres R1 à R3 enregistrent les données présentes sur leur entrée au rythme du signal d'horloge CK. Des données sont émises en sortie S du dispositif au rythme du signal d'horloge. Les circuits de mémorisation F1 à F3 mémorisent les données fournies par les registres R1 à R3 au rythme du signal d'horloge CK. Les k dernières valeurs enregistrées par chaque registre R1 à R3 sont ainsi mémorisées par les circuits de mémorisation F1 à F3, k étant un nombre entier par exemple égal à 5.
Lorsqu'un phénomène de verrouillage se déclenche dans un des sous-blocs sbl et sb2, un courant anormalement élevé est relevé par le détecteur de courant 134 ou 135 et il commande l'ouverture de l'interrupteur 130 ou 131. Après détection d'une diminution significative du courant traversant le sous-bloc touché, ou après une durée prédéterminée, l'interrupteur 130 ou 131 est de nouveau fermé afin de réalimenter le sous-bloc touché. Il est fort probable qu'une coupure de l'alimentation du sous-bloc sbl
induise des erreurs dans les valeurs mémorisées par les registres R1 à R3. Par conséquent, selon un aspect de l'invention, on stoppe l'activité des registres R1 à R3 et des circuits de mémorisation F1 à F3, par exemple en bloquant le signal d'horloge CK lorsque le détecteur de courant 134 relève un courant anormalement élevé dans le sous-bloc sbl. Puis une fois l'interrupteur 130 refermé, le sous-bloc sbl étant de nouveau alimenté, on repositionne chacun des registres dans l'état où il était préalablement à la coupure d'alimentation. Pour ce faire, les multiplexeurs M1 à M3 sont positionnés pour laisser passer les données fournies par les circuits de mémorisation F1 à F3. On réactive alors le signal d'horloge CK. Une fois que les registres R1 à R3 ont retrouvé les valeurs qu'ils avaient avant la coupure d'alimentation, on repositionne les multiplexeurs de sorte qu'ils laissent passer les données fournies par les registres R1 à R3. Le dispositif reprend ensuite son fonctionnement normal.
Lorsqu'un phénomène de verrouillage se déclenche dans le sous-bloc sb2, la coupure de l'alimentation du sous-bloc sb2 n'a pas d'incidence sur le fonctionnement des éléments du sous-bloc sbl principal. Par conséquent, suite à une coupure d'alimentation du sous-bloc sb2, on referme l'interrupteur 131 afin d'alimenter de nouveau ce sous-bloc, sans suspendre le signal d'horloge CK.
La figure 6 est un schéma d'un exemple de mémoire de type SRAM appartenant à un circuit intégré selon la présente invention. Cette mémoire peut constituer un circuit intégré à elle seule ou être un des blocs fonctionnels d'un circuit intégré. De façon générale, la mémoire décrite ci-après fait partie d'un système avec lequel elle communique par l'intermédiaire d'un bus de données D, d'un signal de commande de lecture/écriture RW, d'un signal de sélection de mémoire CS et d'un signal d'adresse A. Ce système peut être le circuit intégré dont elle fait partie ou être un circuit électronique comprenant divers éléments dont le circuit intégré dans lequel elle est placée.
Dans cet exemple, la mémoire stocke des mots de 8 bits. Elle comprend huit sous-blocs B1 à B8 de cellules mémoire, chaque sous-bloc incluant un bit de chaque mot. En d'autres termes, le i-ième sous-bloc Bi mémorise le i-ième bit de chaque mot.
Chaque sous-bloc est une matrice de cellules agencées en colonnes et rangées. Chaque bit d'un mot donné est placé sur une j-ième rangée d'un bloc B1 à B8 et sur une k-ième colonne d'un bloc B1 à B8. Le signal d'adresse A se décompose en r bits de rangées et c bits de colonnes. Un décodeur de rangées partagé ROW DEC sélectionne une rangée en fonction des valeurs des r bits de rangées. Un décodeur de colonnes BL DEC sélectionne dans chaque sous-bloc une colonne en fonction des valeurs des c bits de colonnes.
Un sous-bloc de contrôle CC est placé contre le sous- bloc B1. Le sousbloc de contrôle CC comprend un ensemble de mots appelés codes de contrôle d'erreurs associés à chacun des mots de la mémoire. Chaque code de contrôle d'erreurs peut être composé d'un bit, appelé bit de parité, ou de plusieurs bits constituant par exemple un code de Hamming. Dans ce dernier cas, le sous-bloc CC est subdivisé en plusieurs blocs comportant chacun un bit du code correcteur associé à chaque mot de la mémoire. Les codes de contrôle d'erreurs utilisés sont toujours des "codes détecteurs" dans le sens où ils permettent de détecter une erreur dans un mot mais ne sont pas toujours des codes "correcteurs" car ils ne permettent pas toujours de retrouver le ou les bits erronés d'un mot. De plus, un code correcteur est dit simple ou double selon qu'il permet de corriger un ou deux bits présentant des valeurs erronées.
La mémoire dispose en outre d'un dispositif de commande CTRL qui pilote les décodeurs de rangées et de colonnes, et effectue des lectures ou des écritures dans les sous-blocs B1 à B8 et CC. Un dispositif de correction est associé au dispositif de commande CTRL afin, lors d'une lecture d'un mot en mémoire, de vérifier l'exactitude des 8 bits du mot lu à partir du code de contrôle d'erreurs CC associé à ce mot et, en écriture, de déterminer la valeur du code de contrôle d'erreurs associé aux 8 bits du mot à écrire.
Les sous-blocs B1 à B8 et le sous-bloc CC disposent chacun de plusieurs lignes de masse et de plusieurs lignes d'alimentation reliées à une ou plusieurs colonnes de cellules mémoire. Dans cet exemple, les lignes de masse ou d'alimentation des sous-blocs B1 à B8 et CC sont reliées à un dispositif de détection/limitation prévu pour détecter de forts courants dans la ou les lignes de masse ou d'alimentation reliées à des groupes de cellules mémoire "touchées" par une radiation naturelle et pour limiter le courant dans les lignes reliées aux groupes touchés. Le dispositif de détection/limitation est relié à un dispositif de mémorisation d'adresse @? qui référence les adresses des groupes "touchés".
La figure 7 est une vue schématique d'une partie d'un des sous-blocs B1 à B8. Chaque cellule de la mémoire SRAM est constituée de deux transistors à canal P (PMOS) et de quatre transistors à canal N (NMOS). Dans le cas où le substrat du circuit intégré est dopé de type P, les transistors NMOS sont formés en surface du substrat P et les transistors PMOS sont formés dans des caissons dopés de type N, comme dans la cellule décrite en relation avec la figure 1. Dans cet exemple, des caissons 150, 151, 152 et 153 de type N, ayant la forme de grandes bandes verticales, sont parallèles les uns aux autres et séparés par des bandes supérieures de substrat 160, 161 et 162 dont la largeur est généralement supérieure à la largeur des caissons N 150 à 153. Chaque cellule de la mémoire est formée dans une zone incluant une portion d'une bande de substrat et deux portions de deux caissons placés de part et d'autre de cette bande de substrat. Les zones occupées par les cellules de la mémoire sont délimitées par des traits en pointillés sur la figure 6. Les cellules mémoire placées les unes à côté des autres dans une bande de substrat 160, 161 ou 162 constituent une colonne et sont reliées à une ligne de bit BL et une ligne de bit "inversée" BLN. Dans cet exemple, trois jeux de lignes de bit BL1/BLN1, BL2/BLN2 et BL3/BLN3 sont représentés au-dessus des bandes de substrat 160, 161 et 162.
Les sources des transistors PMOS et les zones de contact de caissons placées dans chaque caisson N 150, 151, 152 et 153, sont reliées à une ligne d'alimentation 170, 171, 172 ou 173 placée au-dessus du caisson considéré. De même, les sources des transistors NMOS et les zones de contact de substrat formées en surface de chaque bande de substrat 160, 161 et 162 sont reliées à une ligne de masse 180, 181 ou 182 placée audessus de la bande de substrat considérée. Dans cet exemple, chaque ligne de masse 180, 181, 182 est reliée, par l'intermédiaire d'un dispositif de limitation de courant, aux lignes de masse du réseau d'alimentation principal du circuit intégré incluant la mémoire SRAM. Les lignes d'alimentation 170, 171, 172 et 173 sont directement reliées au réseau d'alimentation principal.
Dans cet exemple, les dispositifs de limitation de courant sont des interrupteurs 190, 191 et 192, représentés au bout des lignes de masse 180, 181 et 182. Des détecteurs de courant 195, 196 et 197 sont connectés aux lignes de masse 180, 181 et 182 et reliés aux interrupteurs 190, 191 et 192. Les interrupteurs et les détecteurs de courant placés au bout des lignes de masse 180 à 182 font partie du dispositif de détection/limitation de la mémoire SRAM représentée en figure 6.
On notera que les interrupteurs auraient pu être remplacés par des transistors "résistance", c'est-à-dire des transistors MOS de type P ou N dont les grilles sont reliées à la masse ou à la tension d'alimentation de façon qu'ils soient conducteurs en permanence. Chaque transistor est alors équivalent à une résistance.
Cependant, dans la mesure où l'on prévoit des détecteurs de courant 195, 196, dans le but d'identifier les rangées de cellules mémoire susceptibles de présenter des erreurs, il est aisé de prévoir des détecteurs de courant capables de commander les transistors placés en bout de chaque ligne de masse afin de les faire fonctionner en interrupteur.
Néanmoins, une coupure systématique de l'alimentation d'une colonne de cellules, en ouvrant l'interrupteur connecté à la ligne de masse reliée à cette colonne, entraîne de façon quasi systématique des erreurs dans les cellules de cette colonne, en changeant les valeurs mémorisées par ces cellules, de "0" à "1" ou de "1" à "0". Au contraire, lorsque l'on utilise des transistors "résistance", les cellules mémoire sont en permanence alimentées. Et même si on peut observer une perturbation des niveaux de tension et de courant dans la ligne de masse reliée à une colonne comprenant des cellules touchées par une radiation, il y a alors une probabilité plus faible que des erreurs soient introduites dans des cellules mémoire de la colonne considérée. En conclusion, il peut être intéressant de combiner l'utilisation de transistors "résistance" et d'interrupteurs en commandant une ouverture des transistors uniquement dans le cas où un court-circuit persiste sans avoir pu être enrayé "naturellement" par les transistors résistance.
Lorsqu'une radiation ionisante arrive au niveau d'une bande de substrat 160, 161 ou 162 les composants parasites d'une ou de plusieurs cellules de la mémoire, tels que représentés en figure 1, peuvent être activés et donner naissance à un phénomène de verrouillage au niveau de la bande de substrat considérée et des caissons avoisinants, par exemple la bande de substrat 160 et les caissons 150 et 151. La ligne de masse 180 placée audessus de la bande de substrat 160 est alors parcourue par un courant de plus en plus élevé qui va être limité grâce au dispositif de limitation de courant placé au bout de cette ligne de masse. Lors de cet "incident", des erreurs ont pu s'introduire dans les valeurs mémorisées par les cellules comprenant des transistors reliés à la ligne de masse 180. Dans cet exemple, les cellules reliées à la paire de lignes de bit BL1/BLN1 sont susceptibles de présenter des erreurs. Sur indication du circuit de détection/limitation de la mémoire, le dispositif de mémorisation d'adresse @? référence la colonne de cellules mémoire touchée. En pratique, le dispositif de mémorisation d'adresse @? mémorise les valeurs des c bits de colonnes correspondant à la colonne associée à la paire de lignes de bit BL1/BLN1 ainsi que le numéro du sous-bloc B1 à B8 dans lequel s'est produit le phénomène de verrouillage.
Selon la position de l'impact d'une radiation ioni- sante, il est possible que plusieurs lignes de masse soient traversées par un courant anormalement élevé et que des erreurs soient introduites dans des cellules mémoire appartenant à deux colonnes successives. Dans le cas par exemple où une radiation arriverait dans le caisson 151, il est possible que des erreurs soient introduites dans les colonnes de cellules mémoire reliées aux paires de lignes de bit BL1/BLN1 et BL2/BLN2. Dans un tel cas de figure, les dispositifs de limitation de courant reliés à ces colonnes sont activés et le dispositif de mémorisation d'adresse @? référence les colonnes "touchées", c'est-à-dire les valeurs des c bits de colonnes correspondant à ces colonnes, et le numéro du sous-bloc auquel appartiennent ces colonnes.
En fonctionnement normal la mémoire effectue des opérations commandées par le reste du système électronique dont elle fait partie. Lorsqu'une lecture d'un mot de la mémoire est demandée, le dispositif de correction vérifie que le mot lu est correct à partir du code de contrôle d'erreurs CC associé au mot lu. Dans le cas inverse, où le mot lu est incorrect, le dispositif de correction détermine le mot correct qui aurait dû être mémorisé à partir du code de contrôle d'erreurs et des informations données par le dispositif de mémorisation d'adresse @?.
Dans l'exemple de mémoire représentée en figure 6, les bits de chaque mot étant placés sur 8 colonnes séparées les unes des autres par un grand nombre de colonnes, il est quasiment improbable que deux bits d'un même mot appartiennent à deux colonnes touchées. En conséquence, on peut considérer que dans le cas où un mot lu est incorrect seul un de ses bits est erroné. Le bit erroné peut alors être identifié à partir des informations mémorisées par le dispositif de mémorisation d'adresse @?. De plus, étant donné que pour un mot donné un seul bit est susceptible d'être erroné, on peut utiliser des codes de contrôle d'erreurs CC très simples, c'est-à-dire peu "volumineux". Le code de contrôle d'erreurs le plus simple est un bit de parité.
Dans le cas où il y a une probabilité non négligeable pour qu'une mémoire reçoive plusieurs radiations ionisantes pendant sa durée de fonctionnement, il est possible que plusieurs bits d'un même mot soient erronés. Il est alors nécessaire d'utiliser des codes de contrôle d'erreurs qui, en combinaison avec les informations mémorisées par le dispositif de mémorisation d'adresse @?, permettent de corriger des mots pouvant présenter deux erreurs ou plus. On peut alors utiliser des codes correcteurs simples tels que des codes de Hamming et si nécessaire des codes correcteurs doubles. Cependant, au lieu d'utiliser des codes correcteurs "volumineux" pour pouvoir être en mesure de corriger de telles erreurs, on peut prévoir un dispositif de correction "dynamique" qui corrige les erreurs du ou des blocs touchés de la mémoire sans attendre que les mots contenant des erreurs soient lus et corrigés lors de l'exécution normale des opérations commandées par le système électronique dont fait partie la mémoire. Ce dispositif de correction dynamique vérifie et, si nécessaire, corrige les cellules des colonnes touchées qui sont référencées par le dispositif de mémorisation d'adresse @?, en effectuant une série de lectures et éventuellement d'écritures. Ces lectures et écritures sont de préférence effectuées sans interruption de la séquence de commandes exécutée par le système électronique incluant la mémoire "touchée".
La figure 7 est un organigramme illustrant plus en détail les opérations devant être effectuées par un tel dispositif de correction dynamique afin de repositionner des valeurs correctes en mémoire suite à l'activation d'un détecteur de courant de la mémoire telle que représentée en figure 6. Le dispositif de correction dynamique vérifie régulièrement si le dispositif de mémorisation d'adresse @? référence une ou plusieurs colonnes de la mémoire. Si tel est le cas, le dispositif de correction dynamique va "balayer" l'ensemble des mots de la mémoire dont l'adresse colonne est référencée par le dispositif de mémorisation d'adresse @?. En sélectionnant une adresse colonne, correspondant à une valeur donnée des c bits de colonnes stockée dans le dispositif de mémorisation d'adresse @?, le balayage consiste à sélectionner successivement chaque rangée de la mémoire en incrémentant la valeur des r bits de rangées.
Pour ce faire, le dispositif de correction dynamique regarde si la mémoire est utilisée, c'est-à-dire si le signal de sélection de mémoire CS est "actif" et positionné par exemple à "1". Le dispositif de correction dynamique reste inactif tant que la mémoire est utilisée. Lorsque la mémoire est disponible, c'est-à-dire que le signal de sélection de mémoire CS devient nul, le dispositif de correction effectue une lecture du mot MO placé sur la première rangée sélectionnée avec r=0. Le dispositif de correction détermine ensuite si le mot lu MO est correct au vu du code de contrôle d'erreurs CC associé à ce mot.
Si le mot MO est incorrect, le dispositif de correction détermine le mot MO' correct qui devrait normalement être mémorisé, à partir du code de contrôle d'erreurs associé au mot lu MO et des informations mémorisées par le dispositif de mémorisation d'adresse @?. Le dispositif de correction regarde alors si la mémoire est utilisée et attend jusqu'à ce que la mémoire soit disponible afin d'écrire le mot MO' en mémoire en remplacement du mot MO. Dans le cas où le mot MO lu est correct, le dispositif de correction incrémente la valeur des r bits de rangées en vue de pouvoir sélectionner la deuxième rangée, r=1.
Le dispositif de correction dynamique vérifie de nouveau si la mémoire est disponible et attend si nécessaire jusqu'à ce qu'il puisse effectuer une lecture du mot M1 à l'adresse r=1. Le dispositif de correction effectue de nouveau l'ensemble des opérations précédemment décrites pour la première rangée r=0 et continue ainsi jusqu'à la dernière rangée. Il effectue ensuite les mêmes opérations pour l'ensemble des adresses colonne référencées par le dispositif de mémorisation d'adresses @?.
Le procédé de correction décrit précédemment est prévu pour ne pas perturber le fonctionnement normal du système électronique dont fait partie la mémoire. Cependant, dans le cas où la mémoire est quasiment toujours sollicitée par le système électronique, en vue de réaliser une lecture, une écriture ou autre, il peut s'avérer nécessaire d'interrompre ou de ralentir le fonctionnement du système électronique afin de procéder à des corrections d'erreurs en mémoire pour éviter qu'un trop grand nombre d'erreurs ne s'accumulent dans les cellules mémoire et qu'il ne soit plus possible de les corriger.
Le procédé de correction d'erreurs précédemment décrit en relation avec la figure 7 correspond à celui mis en oeuvre par un dispositif de correction dynamique associé à une mémoire telle que celle décrite en relation avec la figure 6. Cependant, on pourra adapter ce procédé à tout type de mémoire comprenant un dispositif de détection d'erreurs capable d'indiquer les cellules de la mémoire susceptibles de présenter des erreurs.
De plus, selon le type de mémoire utilisée, il peut être possible de prévoir des opérations de correction d'erreurs pendant que la mémoire est active et qu'une opération de lecture, écriture ou autre est effectuée dans la mémoire. On peut notamment citer les mémoires de type à adressage par le contenu CAM, de l'anglais Content Addressable Memory. Ces mémoires comprennent un ensemble de mots. Chaque mot comprend une adresse et un ou plusieurs autres champs, de données par exemple. Le découpage des cellules mémoire, ou autrement dit de l'ensemble des bits, peut être effectué de façon qu'un premier bloc élémentaire comprenne tous les premiers bits de chaque mot, qu'un deuxième bloc élémentaire comprenne tous les deuxièmes bits de chaque mot, et ainsi de suite. Préalablement à une lecture ou une écriture d'un mot, on effectue généralement une opération de recherche d'adresse consistant à comparer une valeur d'adresse donnée avec les valeurs d'adresse contenues dans les champs d'adresse de l'ensemble des mots de la mémoire CAM. Lors de ces opérations de recherche, le circuit de correction dynamique peut effectuer des opérations de lecture et si nécessaire d'écriture afin de corriger des erreurs s'étant introduites dans les champs d'adresse de la mémoire à la suite d'un court-circuit dans cette mémoire.
Par ailleurs, quel que soit le type d'architecture de la mémoire considérée, le découpage, ou autrement dit la répartition, des cellules mémoire en plusieurs blocs élémentaires doit être effectué en tenant compte des moyens de correction pouvant être utilisés. On retiendra de préférence un découpage permettant d'utiliser des moyens de correction simple. Les moyens de correction sont d'autant plus simples que pour un mot donné de la mémoire le nombre de bits de ce mot susceptible de présenter des erreurs après une coupure ou une perturbation de l'alimentation de certains blocs élémentaires est faible. On pourra notamment faire en sorte que les bits de chaque mot appartiennent à des blocs élémentaires distincts et si possible le plus éloigné possible les uns des autres.
De plus, pour un type de moyens de correction donné, le découpage des cellules mémoire peut être prévu plus ou moins fin. Dans l'exemple de la mémoire décrite précédemment en relation avec la figure 7, le découpage pourrait être plus grossier ou plus fin. L'ensemble des lignes de masse d'un même sous-bloc B1 à B8 pourraient être reliées aux lignes de masse du réseau d'alimentation principal par l'intermédiaire d'un unique dispositif de limitation de courant. A l'opposé, dans chaque bloc, on pourrait prévoir deux lignes de masse pour chaque colonne de cellules mémoire, une ligne reliée aux sources des transistors NMOS et une autre ligne reliée aux zones de contact de substrat de la bande de substrat hébergeant les cellules de la colonne considérée. Chaque ligne de masse ou une ligne de masse sur deux serait alors reliée au réseau d'alimentation principal par l'intermédiaire d'un dispositif de limitation de courant. Dans le second cas, ce sont de préférence les lignes de masse connectées aux sources des transistors NMOS qui sont reliées au réseau d'alimentation principal par l'intermédiaire d'un dispositif de limitation de courant, les lignes de masse reliées aux zones de contact de substrat étant alors directement reliées au réseau d'alimentation principal.
En outre, dans le cas où la mémoire utilisée est constituée de plusieurs blocs de cellules mémoire reliés à des circuits de lecture/écriture distincts, un circuit de correction dynamique peut effectuer des corrections dans les blocs "inactifs" pendant qu'une lecture ou une écriture est effectuée dans le bloc actif.
La figure 9 est un schéma d'un système électronique comprenant plusieurs mémoires Mem1, Mem2 et Mem3. Les mémoires peuvent faire partie de circuits intégrés distincts ou faire partie d'un même circuit intégré. Les mémoires peuvent être de type SRAM comme celle représentée en figure 6 ou de tout autre type. Chacune des mémoires Mem1, Mem2 et Mem3 comprend, comme la mémoire représentée en figure 6, un dispositif de détection/limitation relié aux cellules de la mémoire afin de détecter des courants anormalement élevés dans une partie "touchée" de la mémoire et de limiter le courant traversant cette partie de mémoire touchée lors de l'apparition d'un court-circuit. Les dispositifs de détection/limitation des mémoires Meml, Mem2 et Mem3 sont reliés à un dispositif de correction d'erreurs commun 200. Les mémoires Meml, Mem2 et Mem3 communiquent avec le reste du système par l'intermédiaire entre autres d'un bus de données D. Chacune des mémoires Meml, Mem2 et Mem3 peut être activée par un signal de sélection CS1, CS2 ou CS3 qui est aussi transmis au dispositif de correction d'erreurs commun 200. Le dispositif 200 communique avec les mémoires Meml, Mem2 et Mem3 par l'intermédiaire entre autres d'un bus de données de correction Dc.
Lorsqu'un court-circuit se déclenche dans une des mémoires Meml, Mem2 ou Mem3, le dispositif de détection/limitation associé à la mémoire touchée informe le dispositif de correction commun 200 qu'une partie de la mémoire a été touchée et que les cellules de cette partie sont susceptibles de présenter des erreurs. Le dispositif de correction commun effectue alors les opérations précédemment décrites en relation avec la figure 8 afin de corriger les éventuelles erreurs dans la mémoire touchée. Le dispositif de correction d'erreurs commun 200 effectue, de préférence, les lectures et éventuellement les écritures dans la mémoire touchée lorsque celle-ci est disponible, en évitant d'interrompre l'exécution de la séquence de commandes du circuit intégré.
Selon une variante de réalisation d'une mémoire d'un circuit intégré selon la présente invention, au moins un détecteur de courant connecté à un bloc élémentaire du circuit est prévu pour détecter deux types de courants anormalement élevés. Le premier type de courant anormalement élevé est celui correspondant au déclenchement d'un phénomène de verrouillage tel que décrit précédemment. Le second type de courant anormalement élevé est observé lorsqu'un pic de courant apparaît au niveau d'un bloc alors que celui-ci est inactif. Un tel pic de courant peut être dû à une modification de la valeur d'une ou de plusieurs cellules mémoire suite au passage d'une radiation ionisante au niveau de ces dernières. Pour plus de détails, on pourra se référer au brevet européen EP-A-0765497.
De tels détecteurs de courant sont prévus avec deux courants de seuil Isl et Is2. Le courant de seuil Isl est supérieur au courant normalement utilisé par le bloc élémentaire lorsque celui-ci est actif. Le courant de seuil Is2 est légèrement supérieur au courant "de fuite" traversant le bloc considéré lorsque celui-ci est inactif. Dans le cas où le bloc considéré est une colonne de cellules mémoire, le courant de seuil Isl est prévu supérieur aux courants de lecture et d'écriture d'une cellule de la colonne, le courant de seuil Is2 est prévu légèrement supérieur au courant de fuite à travers les cellules de la colonne lorsqu'aucune cellule de la colonne n'est lue ou écrite, le courant de seuil Isl étant par conséquent supérieur au courant de seuil Is2.
Lorsque le courant traversant les lignes de masse ou d'alimentation du bloc considéré dépasse le courant de seuil Isl, les diverses opérations précédemment décrites sont effectuées.
Lorsqu'un pic de courant, supérieur à Is2 et inférieur à Isl, est relevé par le détecteur de courant, celui-ci informe un circuit de commande afin qu'il détermine si ce pic de courant est normal. Si le bloc élémentaire au niveau duquel a été relevé un pic de courant n'est pas actif, le circuit de commandes en déduit qu'une erreur s'est introduite dans le bloc considéré.
Dans le cas d'une mémoire, si un pic de courant est relevé alors qu'aucune écriture ou lecture n'est effectuée, le circuit de commande en déduit qu'une ou plusieurs erreurs se sont introduites dans les cellules mémoire appartenant au bloc considéré. Le circuit de commande mémorise alors cette information dans un dispositif de mémorisation d'adresse tel que celui de la mémoire représentée en figure 6. Une recherche d'erreurs, et éventuellement une correction d'erreurs, peuvent ensuite être effectuées par un dispositif de correction d'erreurs procédant par exemple tel que décrit précédemment en relation avec la figure 8.
On pourra éventuellement prévoir de connecter aux lignes de masse ou d'alimentation de blocs élémentaires d'une mémoire, des détecteurs de courant qui comprennent un unique seuil du type Is2 afin de détecter uniquement des pics de courant transitoires susceptibles de correspondre à des modifications localisées de valeurs mémorisées par des cellules de la mémoire.
Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, l'homme de l'art pourra imaginer d'autres moyens de correction d'erreurs adaptés aux divers types de blocs élémentaires d'un circuit intégré selon la présente invention.
On précisera par ailleurs qu'un circuit intégré selon la présente invention correspond à une "puce" de circuit intégré. Une telle puce est un bloc monolithique comprenant les composants du circuit intégré formés par exemple dans et sur un substrat semiconducteur.
De plus, bien que dans les exemples précédemment décrits les transistors utilisés comme dispositifs de limitation de courant soient de type MOS, onpourra utiliser d'autres types de transistors, par exemple des transistors bipolaires. De façon générale, l'homme de l'art pourra imaginer d'autres dispositifs de limitation de courant.
En outre, bien que les exemples de mémoires décrites précédemment en relation aux figures 6 à 9 comprennent des détecteurs de courant reliés aux divers blocs élémentaires de la mémoire, on pourra prévoir des mémoires comprenant uniquement des dispositifs de limitation de courant et aucun détecteur de courant. De tels dispositifs de limitation de courant peuvent par exemple être des transistors résistance. Aucun dispositif de mémorisation d'adresse @? n'est alors utilisé. Un dispositif de correction dynamique peut alors effectuer des vérifications aléatoires en mémoire afin de vérifier si des erreurs se sont introduites.
Par ailleurs, les moyens ou dispositifs de correction d'erreurs décrits précédemment peuvent être placés parmi les circuits périphériques d'une mémoire, dans le circuit intégré comprenant la mémoire ou en dehors du circuit intégré comprenant la mémoire. Dans ce dernier cas, ils peuvent être placés dans un autre circuit intégré relié au circuit intégré comprenant la mémoire, les deux circuits intégrés étant par exemple placés sur une même carte électronique.
De plus, les détecteurs de courant reliés aux blocs élémentaires d'un circuit intégré selon la présente invention peuvent être utilisés pour d'autres usages que ceux décrits précédemment. Ils peuvent par exemple être utilisés lors de phases de test du circuit intégré pour détecter des courants anormalement élevés. Ces courants sont par exemple dus à des cellules mémoire ou des portes logiques défectueuses.
En outre, les dispositifs de limitation de courant du type interrupteur peuvent être utilisés pour couper l'alimentation d'un bloc inactif afin de limiter sa consommation de courant.
Claims (14)
1. Puce de circuit intégré comprenant un grand nombre de composants semiconducteurs présentant des composants para-sites à travers lesquels un court-circuit entre la tension d'alimentation (Vdd) et la masse (GND) du circuit est suscep- tible de se déclencher, caractérisé en ce que lesdits composants semiconducteurs sont répartis dans des blocs élémentaires (100, 101a, 101b), chaque bloc élémentaire étant relié indépendamment aux lignes d'alimentation ou de masse (105) du réseau d'alimentation principal du circuit intégré par un dispositif de limitation de courant (110, 111, 112) apte à enrayer un court-circuit se déclenchant dans le bloc considéré, et chaque bloc étant dimensionné de sorte que des erreurs logiques susceptibles d'apparaître dans ce bloc soient 15 corrigeables par des moyens de correction d'erreurs.
2. Puce de circuit intégré selon la revendication 1, comprenant en outre pour au moins un bloc élémentaire (100; BL1/BLN1, BL3/BLN3; sbl, sb2) un détecteur de courant (121; 195, 196; 134, 135) apte à relever un courant anormalement élevé dans le bloc considéré, l'utilisation de détecteurs de courant permettant de localiser les blocs élémentaires susceptibles de présenter des erreurs, cette localisation permettant de simplifier et/ou de rendre plus performants lesdits moyens de correction d'erreurs.
3. Puce de circuit intégré selon la revendication 2, dans laquelle au moins un dispositif de limitation de courant associé à un bloc élémentaire (100; BL1/BLN1, BL3/BLN3; sbl, sb2) est un interrupteur (120; 190, 191; 130, 131) placé entre les lignes de masse ou d'alimentation (m100; 180, 182) de ce bloc élémentaire et celles du réseau d'alimentation du circuit intégré, cet interrupteur étant commandé par le détecteur de courant (121; 195, 196; 134, 135) relié au bloc élémentaire considéré de façon à ouvrir l'interrupteur quand le courant circulant dans les lignes de masse ou d'alimentation du bloc considéré est supérieur à une valeur de seuil prédéfinie.
4. Puce de circuit intégré selon la revendication 1, dans laquelle les dispositifs de limitation de courant sont des transistors (122, 123).
5. Puce de circuit intégré selon la revendication 2, dans laquelle chaque fois qu'un détecteur de courant donné (121; 195, 196; 134, 135) détecte un courant anormalement élevé, lesdits moyens de correction d'erreurs corrigent les éventuelles erreurs introduites dans le bloc élémentaire (100; BL1/BLN1, BL3/BLN3; sbl, sb2) relié au détecteur de courant donné.
6. Puce de circuit intégré selon la revendication 1, comprenant au moins une mémoire mémorisant un ensemble de mots de plusieurs bits, chaque bit correspondant à une cellule mémoire, les cellules mémoire étant réparties dans différents blocs élémentaires (BL1/BLN1, BL3/BLN3), et la ou les lignes de masse ou d'alimentation (180, 182) de chaque bloc élémentaire de cellules étant reliées aux lignes de masse ou d'alimentation du réseau d'alimentation principal du circuit intégré par l'intermédiaire d'un dispositif de limitation de courant (190, 191).
7. Puce de circuit intégré selon la revendication 6, dans laquelle la répartition des cellules mémoire dans différents blocs élémentaires est telle que chaque bloc élémentaire comprend au plus un seul bit d'un mot donné.
8. Puce de circuit intégré selon la revendication 6, dans laquelle chaque mémoire comprend un bloc de contrôle (CC) dans lequel sont stockés des codes correcteurs d'erreurs, chaque code correcteur d'erreurs étant associé à un mot de la mémoire, et dans lequel lesdits moyens de correction d'erreurs utilisent les valeurs mémorisées par les codes correcteurs d'erreurs pour corriger les éventuelles erreurs présentes dans une mémoire.
9. Puce de circuit intégré selon la revendication 6, dans laquelle chaque mémoire comprend un bloc de contrôle (CC) dans lequel sont stockés des codes détecteurs d'erreurs, tels que des bits de parité, chaque code correcteur d'erreurs étant associé à un mot de la mémoire, et dans lequel lesdits moyens de correction d'erreurs utilisent les valeurs mémorisées par les codes détecteurs d'erreurs pour corriger les éventuelles erreurs présentes dans une mémoire.
10. Puce de circuit intégré selon les revendications 2 et 6, comprenant en outre au moins un dispositif de mémorisation d'adresses (@?) référençant les blocs élémentaires (BL1/BLN1, BL3/BLN3) d'une mémoire dans lesquels un courant anormalement élevé a été détecté par des détecteurs de courant (195, 196) associés à ces blocs, les moyens de correction d'erreurs utilisant les informations référencées par ledit au moins un dispositif de mémorisation d'adresses pour corriger les éven- tuelles erreurs présentes dans une mémoire.
11. Puce de circuit intégré selon la revendication 10, dans lequel les moyens de correction d'erreurs vérifient régulièrement si ledit au moins un dispositif de mémorisation d'adresses (@?) référence un bloc élémentaire (BL1/BLN1, BL3/BLN3), et si tel est le cas, les moyens de correction d'erreurs effectuent des lectures des mots de la mémoire comprenant des cellules placées dans le bloc élémentaire référencé, puis vérifient si les mots lus sont corrects au moyen de codes de contrôle d'erreurs associés à chacun de ces mots, et effectuent si nécessaire des écritures dans la mémoire considérée pour corriger les mots présentant des erreurs.
12. Puce de circuit intégré selon les revendications 2 et 6, dans laquelle des détecteurs de courant associés aux blocs élémentaires de cellules sont prévus pour détecter deux types de courant anormalement élevés dans les lignes de masse ou d'alimentation de ces blocs élémentaires, le premier type de courant anormalement élevé étant un courant de forte intensité correspondant à un court-circuit entre la tension d'alimentation et la masse du circuit, le second type de courant anormalement élevé étant un pic de courant momentané traduisant un changement de la valeur mémorisée dans une ou plusieurs des cellules de la mémoire, une détection d'un premier ou d'un second type de courant étant indiquée aux moyens de correction d'erreurs afin que ces derniers procèdent si nécessaire à des corrections d'erreurs dans la mémoire concernée.
13. Puce de circuit intégré selon la revendication 2, comprenant un dispositif de traitement logique synchrone, tel qu'un microprocesseur, qui comprend un ensemble de registres (R1, R2, R3) en série entre une entrée et une sortie du dispositif, la sortie de chaque registre étant connectée à une entrée d'un multiplexeur (M1, M2, M3) et à une entrée d'un élément de mémorisation (F1, F2, F3) dont la sortie est connectée à l'autre entrée du multiplexeur, la sortie de chaque multiplexeur étant reliée à l'entrée d'un registre ou à la sortie du dispositif par l'intermédiaire éventuellement d'un bloc combinatoire (Cl, C2), les registres, les multiplexeurs et les blocs combinatoires constituant un premier bloc élémentaire (sb1) et les éléments de mémorisation (M1, M2, M3) constituant un second bloc élémentaire (sb2), les registres enregistrant les données présentes sur leurs entrées au rythme d'un signal d'horloge, chaque élément de mémorisation conservant les k dernières valeurs enregistrées par le registre auquel il est relié, les éléments de mémorisation constituant des moyens de correction d'erreurs aptes à repositionner les registres dans un état logique correct suite à une détection d'un courant anormalement élevé dans le premier bloc élémentaire.
14. Système électronique comprenant une puce de circuit intégré selon la revendication 1, lesdits moyens de correction d'erreurs étant placés hors de la puce et étant reliés à la puce par un ensemble de connexions électriques.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0551663A FR2887364B1 (fr) | 2005-06-17 | 2005-06-17 | Circuit integre protege contre les courts-circuits et les erreurs de fonctionnement suite au passage d'une radiation ionisante |
US11/922,189 US7778001B2 (en) | 2005-06-17 | 2006-06-16 | Integrated circuit protected against short circuits and operating errors following the passage on an ionizing radiation |
PCT/FR2006/050567 WO2006134308A2 (fr) | 2005-06-17 | 2006-06-16 | Circuit integre protege contre les courts-circuits et les erreurs de fonctionnement suite au passage d'une radiation ionisante |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0551663A FR2887364B1 (fr) | 2005-06-17 | 2005-06-17 | Circuit integre protege contre les courts-circuits et les erreurs de fonctionnement suite au passage d'une radiation ionisante |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2887364A1 true FR2887364A1 (fr) | 2006-12-22 |
FR2887364B1 FR2887364B1 (fr) | 2007-09-21 |
Family
ID=35825344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0551663A Active FR2887364B1 (fr) | 2005-06-17 | 2005-06-17 | Circuit integre protege contre les courts-circuits et les erreurs de fonctionnement suite au passage d'une radiation ionisante |
Country Status (3)
Country | Link |
---|---|
US (1) | US7778001B2 (fr) |
FR (1) | FR2887364B1 (fr) |
WO (1) | WO2006134308A2 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8685800B2 (en) | 2012-07-27 | 2014-04-01 | Freescale Semiconductor, Inc. | Single event latch-up prevention techniques for a semiconductor device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5469065A (en) * | 1989-08-18 | 1995-11-21 | Texas Instruments Incorporated | On chip capacitor based power spike detection |
US20040165417A1 (en) * | 2002-04-17 | 2004-08-26 | Xilinx, Inc. | Memory cell enhanced for resistance to single event upset |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10269800A (ja) * | 1997-03-27 | 1998-10-09 | Mitsubishi Electric Corp | 半導体記憶装置 |
US6678202B2 (en) * | 2000-12-22 | 2004-01-13 | Texas Instruments Incorporated | Reduced standby power memory array and method |
-
2005
- 2005-06-17 FR FR0551663A patent/FR2887364B1/fr active Active
-
2006
- 2006-06-16 WO PCT/FR2006/050567 patent/WO2006134308A2/fr active Application Filing
- 2006-06-16 US US11/922,189 patent/US7778001B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5469065A (en) * | 1989-08-18 | 1995-11-21 | Texas Instruments Incorporated | On chip capacitor based power spike detection |
US20040165417A1 (en) * | 2002-04-17 | 2004-08-26 | Xilinx, Inc. | Memory cell enhanced for resistance to single event upset |
Also Published As
Publication number | Publication date |
---|---|
US20090128975A1 (en) | 2009-05-21 |
US7778001B2 (en) | 2010-08-17 |
WO2006134308A2 (fr) | 2006-12-21 |
WO2006134308A3 (fr) | 2007-03-01 |
FR2887364B1 (fr) | 2007-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2774209A1 (fr) | Procede de controle du circuit de lecture d'un plan memoire et dispositif de memoire correspondant | |
FR2501891A1 (fr) | Memoire semi-conductrice autocorrectrice d'erreurs | |
EP0279712B1 (fr) | Circuit de lecture pour mémoire | |
FR2502377A1 (fr) | Memoire semi-conductrice a fonction de correction de bits errones | |
EP3496101A1 (fr) | Memoire sram a effacement rapide | |
EP0626696B1 (fr) | Mémoire dynamique avec des cellules de référence | |
US7876634B2 (en) | Apparatus and method for adjusting a supply voltage based on a read result | |
FR2749698A1 (fr) | Memoire remanente effacable et programmable electriquement, protegee contre les coupures d'alimentation | |
CN104051349A (zh) | 具有非易失性存储器压力抑制的集成电路系统及制造方法 | |
EP2583177A1 (fr) | Procede de protection de memoire configurable contre les erreurs permanentes et transitoires et dispositif apparente | |
FR2986652A1 (fr) | Memoire volatile a consommation reduite et capacite de stockage amelioree | |
FR2887364A1 (fr) | Circuit integre protege contre les courts-circuits et les erreurs de fonctionnement suite au passage d'une radiation ionisante | |
FR2875328A1 (fr) | Cellule memoire sram protegee contre des pics de courant ou de tension | |
EP3382709B1 (fr) | Cellule mémoire sram | |
FR2828758A1 (fr) | Procede d'ecriture dans une memoire ram comportant un systeme d'effacement de colonnes | |
EP2977988B1 (fr) | Mémoire non volatile à résistance programmable | |
FR2785079A1 (fr) | Dispositif de stockage a semi-conducteur et procede pour sa commande | |
FR3026887A1 (fr) | ||
EP0733973B1 (fr) | Détecteur de cohérence d'informations contenues dans un circuit intégré | |
EP3680904B1 (fr) | Circuit de detection de donnee predominante dans une cellule memoire | |
EP0593319A1 (fr) | Circuit intégré de mémoire avec protection contre des perturbations | |
FR2986653A1 (fr) | Memoire volatile a consommation reduite | |
EP0765497B1 (fr) | Correction d'erreurs dans une memoire | |
EP1451688A2 (fr) | Architecture de circuits protegee contre des perturbations | |
WO2022268726A1 (fr) | Procéde de détection d'une erreur dans une memoire electronique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 12 |
|
PLFP | Fee payment |
Year of fee payment: 13 |
|
PLFP | Fee payment |
Year of fee payment: 14 |
|
PLFP | Fee payment |
Year of fee payment: 16 |
|
PLFP | Fee payment |
Year of fee payment: 17 |
|
PLFP | Fee payment |
Year of fee payment: 18 |
|
PLFP | Fee payment |
Year of fee payment: 19 |
|
PLFP | Fee payment |
Year of fee payment: 20 |