Brevet FR2885258A1 — publié le 20061103

Procédé de détection de l'achèvement d'une opération d'écriture d'une donnée dans une cellule de mémoire et circuit de mémoire correspondant. L'invention concerne les circuits de mémoire, et, en particulier la détection de l'achèvement d'une opération d'écriture d'une donnée dans une cellule de mémoire. Les cellules de mémoire sont généralement réalisées sous la forme d'une matrice de cellules de mémoire disposées en ligne et en colonne de cellules de mémoire et connectées en différentiel entre deux lignes de bits. On a représenté sur la figure 1 une cellule de mémoire conventionnelle. Comme on le voit sur cette figure, la cellule C est constituée de deux inverseurs Il et 12 qui mémorisent un bit, et de deux transistors d'accès Ti et T2 par lesquels la cellule est connectée à deux lignes de bits BLF et BLT complémentaires, qui servent à écrire une donnée dans le point mémoire ou à la lire. L'entrée et la sortie de l'un des inverseurs I1 communique respectivement avec la sortie et l'entrée de l'autre inverseur I2 et constituent respectivement des noeuds N1 et N2 de stockage de données dont les niveaux de tension correspondent à la valeur d'un bit mémorisé. Les deux transistors d'accès Ti et T2 sont commandés par une ligne de mots WL permettant de transférer le bit mémorisé vers les lignes de bits BLF et BLT lors d'une opération de lecture ou d'imposer l'état des lignes BLF et BLT au point mémoire lors de l'écriture. En particulier, lors d'une opération (l'écriture d'un état logique 0 dans l'un des noeuds de stockage de données, la ligne de bits correspondante, préalablement préchargée à un état logique haut, est déchargée, tandis que la ligne de mots WL est positionnée à un niveau haut de manière à sélectionner les points mémoire correspondants. Mais la durée de commutation d'un point mémoire d'un premier niveau logique vers un deuxième niveau logique final n'est pas négligeable en raison des caractéristiques des transistors d'accès Ti et T2. Par ailleurs, les circuits de mémoire étant de plus en plus sensibles à leur environnement extérieur, l'un des soucis des fabricants de circuits de mémoire est de prévoir des protections contre tous types de perturbations susceptibles d'engendrer un changement d'état de la mémoire. De telles perturbations peuvent soit consister en un aléa connu sous l'appellation anglo-saxonne "Single Event Upset" ou SEU qui est engendré par l'impact d'une particule énergétique chargée en un point d'un circuit intégré soit être induit par un couplage capacitif ponctuel entre deux couches d'un même circuit intégré. On parle alors, dans ce cas, de "glitch". La protection contre ces aléas passe souvent par l'utilisation d'une capacité Cl ou C2 qui vient s'ajouter à la capacitance globale des noeuds N1 et N2 de stockage des données et augmenter ainsi le niveau de charge nécessaire pour obtenir un niveau de tension prédéterminé. Mais la présence de ces capacités Cl et C2 augmente le temps d'écriture. C'est ainsi que les cellules de mémoire sont généralement associées à une cellule de mémoire fictive dans laquelle est mémorisée la donnée stockée dans la cellule de mémoire principale et qui sert à déterminer l'achèvement de l'opération d'écriture. On a représenté sur la figure 2 un circuit de mémoire fictif pour cadencer l'écriture d'un circuit de mémoire principale (non représenté). Sur cette figure 2, le circuit de mémoire fictif est constitué par une colonne de cellules de mémoire fictive servant à modéliser la capacitance des cellules de mémoire principale. On notera néanmoins que ce circuit de mémoire fictif a une structure identique à celle de la cellule de mémoire à laquelle elle est associée afin de déterminer l'instant auquel la ligne de mots WL et les lignes de bits BLT et BLF peuvent être réinitialisées afin de mettre en oeuvre une opération d'écriture suivante. Elle comporte ainsi un ensemble de cellules de mémoire fictive Cl, ..., Cn connectées entre deux lignes de bits DBLT et DBLF, dont l'une est optionnelle, et un circuit de commande d'écriture 10 de données. Un circuit de détection 12 est utilisé pour détecter l'instant des commutations des noeuds de stockage de données d'un niveau logique initial vers un niveau logique final. Ce circuit de détection 12 comprend deux inverseurs I3 et I4 connectés entre deux noeuds de stockage de données N3 et N4 eux- mêmes connectés aux lignes de bits DBLF et DBLT par l'intermédiaire de transistors d'accès T3 et T4 commandés par la même ligne de mots WL que celle qui est utilisée pour adresser les cellules de mémoire du circuit de mémoire principal. Ce circuit de détection 12 fonctionne de la façon suivante. Lorsqu'une donnée est mémorisée dans une cellule de mémoire du circuit de mémoire principal, cette donnée est écrite simultanément dans le noeud de stockage de données N3 en déchargeant la ligne de bits DBLF sous le contrôle du circuit de commande d'écriture 10. Un inverseur 14 connecté à l'autre noeud N4, est utilisé pour détecter le changement d'état de ce noeud N4. Si tel est le cas, un signal de réinitialisation R pour le circuit de mémoire principal est généré afin de réinitialiser les lignes de bits et la ligne de mots de la cellule de mémoire principale. Des transistors N1 et P1 sont alors activés pour repositionner les noeuds N3 et N4 dans leur état initial. On a représenté sur la figure 3 un chronogramme illustrant l'évolution des signaux WL, DBLF, N1, N2 et R. Comme on le voit sur cette figure 3, lorsque le signal WL et le signal DBLF passent respectivement aux niveaux haut et bas, le noeud N3 commute au niveau logique bas, ce qui provoque une commutation du noeud N4 au niveau logique haut. Cette commutation est détectée par l'inverseur I4 qui provoque une commutation du signal de réinitialisation R et une réinitialisation de la cellule de mémoire principale et la réinitialisation consécutive des signaux WL, DBLF, N3 et N4. Comme on le voit sur cette figure, la réinitialisation du circuit de mémoire fictive est relativement longue en raison en particulier du temps T nécessaire pour repositionner le potentiel du noeud N4 dans son état initial, en raison de la présence des capacitances de protection des cellules de mémoire. Alors, il n'est pas possible d'effectuer une opération d'écriture successive tant que la réinitialisation n'est pas achevée. Aussi, le but que se propose d'atteindre l'invention est de pallier cet inconvénient et de fournir un circuit de mémoire et un procédé de détection de l'achèvement d'une opération d'écriture permettant de pallier les inconvénients liés à la présence des capacitances de protection. L'invention a donc pour objet, selon un premier aspect, un procédé de détection de l'achèvement d'une opération d'écriture d'une donnée dans une cellule de mémoire selon lequel, lors de l'opération d'écriture, on mémorise, dans une cellule de mémoire fictive, une donnée écrite dans ladite cellule de mémoire et l'on détecte un changement d'état des noeuds internes de la cellule de mémoire fictive à l'issue de l'opération d'écriture. On mémorise la donnée dans la cellule de mémoire fictive dans un moyen de mémorisation ayant une capacité relativement plus faible que la capacitance de la cellule de mémoire. En d'autres termes, on stocke la donnée dans un moyen de mémorisation dépourvu de capacitance additionnelle. Il est ainsi possible de détecter le changement d'état des noeuds de stockage de données et de réinitialiser la cellule de mémoire fictive sans être limité par la présence d'une telle capacitance. Selon une autre caractéristique de l'invention, on mémorise dans la cellule de mémoire fictive la donnée écrite dans la cellule de mémorisation à l'issue d'une opération d'écriture précédente et l'on compare la donnée mémorisée dans la cellule de mémoire fictive à l'issue de l'opération d'écriture précédente avec la donnée présente dans la cellule de mémoire fictive lors de l'opération d'écriture en cours, l'opération d'écriture étant réputée achevée dès que le résultat de ladite comparaison atteint une valeur de seuil. Dans un mode de mise en oeuvre, la cellule de mémoire fictive comprenant un premier noeud de stockage de données et un deuxième noeud de stockage de données et des inverseurs interconnectés entre les premier et deuxième noeuds de stockage pour la mémorisation de données mutuellement inversées dans lesdits noeuds, respectivement, on mémorise la donnée écrite dans l'un desdits noeuds à l'issue de l'opération d'écriture précédente et l'on compare, lors de l'opération d'écriture en cours, ladite donnée mémorisée avec la donnée stockée dans l'autre noeud. Selon encore une autre caractéristique de l'invention, on mémorise la donnée écrite à l'issue de l'opération d'écriture précédente lorsque les lignes de mots d'adressage de la. cellule sont inactives. En ce qui concerne l'étape de comparaison, celle-ci est réalisée lorsque les lignes de mots d'adressage sont actives. Avantageusement, on écrit alternativement les données dans la cellule de mémoire fictive dans l'un et l'autre noeuds de stockage de données. Selon un autre aspect, l'invention a également pour objet un circuit de mémoire comprenant un réseau de cellules de mémoire définissant des noeuds de stockage de données associées à un circuit de mémoire fictif servant à déterminer l'achèvement d'une opération d'écriture d'une donnée dans une cellule de mémoire, le circuit de mémoire fictive comprenant des moyens de mémorisation pour le stockage d'une donnée mémorisée dans l'une des cellules de mémorisation, caractérisé en ce que les moyens de mémorisation ont une capacitance plus faible que la capacitance de ladite cellule de mémorisation. Selon une autre caractéristique de ce circuit, les moyens de mémorisation comportent un inverseur à trois états adapté pour provoquer le stockage des données dans le circuit de mémoire fictive lorsque les lignes de mots d'adressage du réseau de cellule des mémoires sont inactives. Selon encore une autre caractéristique du circuit de mémoire selon l'invention, le circuit de mémoire fictive comporte un premier noeud de stockage de données et un deuxième noeud de stockage de données servant l'un à la mémorisation de la donnée écrite dans l'une des cellules de mémorisation et l'autre au stockage d'une donnée écrite dans la cellule de mémorisation à l'issue d'une opération d'écriture précédente, et un comparateur adapté pour comparer les données respectivement stockées dans lesdits noeuds de stockage. Dans un mode de réalisation, le circuit de mémoire fictive comporte un circuit d'écriture pour commander la mémorisation de la donnée écrite dans l'une des cellules de mémorisation alternativement dans l'un et l'autre noeud de stockage de données. D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés sur lesquels: la figure 1, dont il a déjà été fait mention, illustre la structure générale d'une cellule de mémoire conventionnelle; - la figure 2, précédemment évoquée, illustre la structure générale d'un circuit de mémoire fictive selon l'état de la technique; - la figure 3 montre des chronogrammes des signaux de la figure 2; - la figure 4 est un schéma d'un circuit de mémoire fictive conforme à l'invention; et - la figure 5 montre des chronogrammes des principaux signaux dans le circuit de mémoire fictive de la figure 4. - la figure 6 illustre un autre mode de réalisation d'un circuit de mémoire fictive conforme à l'invention. En référence à la figure 4, on va décrire la structure générale d'un circuit de mémoire fictive conforme à l'invention. Ce circuit de mémoire fictive est destiné à être associé à un circuit de mémoire principale et présente une structure identique au circuit de mémoire auquel il est destiné à être associé. Il est destiné à détecter l'instant auquel une opération d'écriture de la mémoire principale est achevée afin de mettre en oeuvre une phase de réinitialisation de la mémoire en repositionnant les lignes de mots et les lignes de bits à leur état initial. Ainsi, le circuit de mémoire fictive représenté à la figure 4 comporte un ensemble de cellules de mémoire C'1, ..., C'n identique à l'ensemble de cellules de mémoire du circuit de mémoire principale et servant à modéliser la capacitance de ces cellules. Ces cellules sont placées entre deux lignes de bits DBLF et DBLT. Un circuit d'écriture 16 assure le pilotage et le cadencement d'une opération d'écriture sous le contrôle d'un signal de commande de verrouillage L. Dans le but de détecter la commutation des noeuds internes des cellules de mémoire fictive, le circuit représenté à la figure 4 comporte en outre un circuit de détection 18 connecté entre les lignes de bits DBLF et DBLT. Ce circuit de détection comporte une cellule de mémoire fictive constituée par l'association de deux inverseurs I5 et I6 connectés entre deux noeuds de stockage de données N5 et N6 et deux transistors d'accès T5 et T6 connectés entre un noeud de stockage de données N5 (respectivement N6) et une ligne de bits DBLF (respectivement DBLT). Une cellule 20 de stockage de données additionnelle est utilisée pour mémoriser la donnée stockée dans l'un des noeuds, à savoir le noeud désigné par la référence N5. Cette cellule de verrouillage est constituée par l'association de deux inverseurs I7 et I8 raccordés en tête-bêche entre deux noeuds de stockage de données N7 et N8. La mémorisation de la donnée stockée dans le noeud N5 dans la cellule de stockage 20 additionnelle s'effectue par l'intermédiaire d'une porte de transfert 22, dont l'état actif ou inactif est piloté par des signaux WL et WL constitués respectivement par le signal présent sur la ligne de mots WL et l'autre par le complémentaire de ce signal. Cette porte de transfert 22 est constituée, par exemple, par un inverseur à trois états et est configurée de manière à provoquer le transfert de la donnée du noeud N5 dans la cellule de stockage 20 lorsque les lignes de mots sont inactives, c'est-à-dire entre deux phases d'écriture. On pourrait toutefois utiliser, à la place d'un inverseur à trois états, tout autre élément logique approprié pour recopier le noeud de stockage de données N5 dans la cellule de mémorisation 20, tel qu'une porte de transmission désignée par les anglosaxons par "passgate" ou une porte logique "OR".. Un comparateur 24 est utilisé pour comparer la donnée stockée dans le noeud N8 de la cellule de stockage 20, en sortie de l'inverseur I8 et la donnée mémorisée dans le noeud N6 du circuit de détection 18 en sortie de l'inverseur I5. Un signal de réinitialisation R' est généré par le comparateur 24 lorsque le résultat de la comparaison dépasse une valeur de seuil traduisant que le noeud N6 a changé d'état. Ce signal R' est généré dès que la sortie du comparateur 24 passe au niveau haut. Comme on le conçoit, les inverseurs 17 et 18 entrant dans la constitution de la cellule de stockage 20 ainsi que la porte de transfert 22 sont dépourvus de capacitance. Aussi, le transfert des données du noeud N5 jusqu'au noeud N8, en passant par la porte de transfert et les inverseurs I7 et I8 est rapide. On notera également que, dans la mesure où le transfert des données du noeud N5 vers la cellule de stockage 20, s'effectue entre deux cycles d'écriture, la donnée mémorisée dans la cellule de stockage 20 correspond à la donnée écrite clans la cellule de mémoire lors d'un cycle d'écriture précédent. Aussi, la comparaison, qui s'effectue lorsque les lignes de mots sont actives, c'est-à-dire, lors d'une phase d'écriture, consiste à comparer la donnée stockée dans le noeud N6 et la donnée présente dans le noeud N8, c'est-à-dire la donnée mémorisée dans le circuit de détection 18 avec la donnée qui y était mémorisée au cours d'une opération d'écriture précédente. Le résultat de la comparaison permet dès lors de détecter l'achèvement de l'opération d'écriture en cours par détection du changement d'état au noeud N6. On a représenté sur la figure 5 un chronogramme illustrant l'évolution des signaux WL, DBLF, DBLT, N5, N6, N7, N8 et R' au cours de deux cycles d'écriture consécutifs I et II. Comme on le conçoit, le premier cycle d'écriture I débute en positionnant au niveau haut la ligne de mots WL, c'est-à-dire la ligne de mots correspondant à la cellule de mémoire principale dans laquelle il convient de mémoriser une donnée et en positionnant au niveau bas la ligne de bits DBLF du circuit de mémoire fictive. Ceci entraîne une décharge du noeud N5 et une charge consécutive du noeud N6. Au cours de cette première phase d'écriture, le résultat de la comparaison effectué par le comparateur 24 entre le noeud N6 et le noeud N8 engendre un changement d'état du signal R' de réinitialisation et, dès lors, un repositionnement au niveau bas du signal WL et un repositionnement au niveau haut du signal DBLF. Il est alors procédé au transfert des données des noeuds N5 et N6 dans les noeuds N7 et N8, après l'achèvement ainsi détecté du premier cycle d'écriture I. Il peut alors être procédé à un cycle d'écriture ultérieur II. On notera que, afin d'éviter une réinitialisation des lignes de bits DBLT et DBLF, l'écriture des données sous le contrôle du circuit d'écriture 16 s'effectue alternativement dans l'un et l'autre des noeuds de stockage de données N5 et N6. Il reste cependant possible de n'écrire la donnée que dans l'un des noeuds. Dans ce cas, le circuit de mémoire fictive ne comportera qu'une seule ligne de bits. On prévoira toutefois, dans ce cas, une phase de réinitialisation de la ligne de bit servant à l'écriture de la donnée dans le noeud de stockage de données. Lorsque l'on écrit alternativement dans l'un et l'autre noeud N5 et N6, lors du cycle d'écriture suivant II, la ligne de bits DBLT est activée et est déchargée sous le contrôle du circuit d'écriture 16, engendrant un stockage de la donnée dans le noeud N6, puis un basculement consécutif du noeud N5. Dans ce cas, comme représenté à la figure 5, dans ce mode de réalisation selon lequel on écrit alternativement dans l'un et l'autre noeud de stockage de données N5 et N6 du circuit de détection 18, on utilise deux comparateurs 24 et 26 assurant, l'un une comparaison entre les noeuds de stockage de données N6 et N8 lorsqu'une donnée est écrite dans l'un des noeuds N6, et l'autre une comparaison entre les noeuds de stockage de données N5 et N7 lorsqu'une donnée est écrite dans l'autre noeud N5, pour délivrer un signal de réinitialisation R'. Il est alors procédé à une réinitialisation de la mémoire dès que la différence entre les noeuds N5 et N7, d'une part, et entre les noeuds N6 et N8, d'autre part, dépasse une valeur de seuil prédéterminée. REVENDICATIONS 1-Procédé de détection de l'achèvement d'une opération d'écriture d'une donnée dans une cellule de mémoire, selon lequel, lors de l'opération d'écriture, on mémorise, dans une cellule de mémoire fictive (18), une donnée écrite dans ladite cellule de mémoire et l'on détecte un changement d'état des noeuds internes (N5, N6) de la cellule de mémoire fictive à l'issue de l'opération d'écriture, caractérisé par le fait que l'on mémorise la donnée dans la cellule de mémoire fictive dans un moyen de mémorisation (20) ayant une capacitance relativement plus faible que la capacitance de la cellule de mémoire. 2-Procédé selon la revendication 1, caractérisé en ce que l'on mémorise dans la cellule de mémoire fictive la donnée écrite dans la cellule de mémoire à l'issue d'une opération d'écriture précédente et l'on compare la donnée mémorisée dans la cellule de mémoire fictive à l'issue de l'opération d'écriture précédente avec la donnée présente dans la cellule de mémoire fictive lors de l'opération d'écriture en cours, l'opération d'écriture étant réputée achevée dès que le résultat de ladite comparaison atteint une valeur de seuil. 3-Procédé selon les revendications 1 et 2, caractérisé en ce que la cellule de mémoire fictive comprenant un premier noeud (N6) de stockage de données et un deuxième noeud (N8) de stockage de données et des inverseurs (15, I6) connectés entre les premier et deuxième noeuds de stockage pour la mémorisation de données mutuellement inversées dans lesdits noeuds, respectivement, on mémorise la donnée écrite dans l'un desdits noeuds à l'issue de l'opération d'écriture précédente et l'on compare lors de l'opération d'écriture en cours ladite donnée mémorisée avec la donnée stockée dans l'autre noeud. 4-Procédé selon la revendication 3, caractérisé par le fait que ladite étape de comparaison est réalisée lorsque les lignes de mots d'adressage (WL) sont actives. 5-Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'on mémorise la donnée écrite à l'issue de l'opération d'écriture précédente lorsque les lignes de mots d'adressage de la cellule sont inactives. 6-Procédé selon l'une quelconque des revendications 3 à 5, caractérisé en ce que l'on écrit alternativement les données dans la cellule de mémoire fictive dans l'un et l'autre noeuds (N5, N6) de stockage de données. 7-Circuit de mémoire comprenant un réseau de cellules de mémoire définissant des noeuds de stockage de données associées à un circuit de mémoire fictive servant à déterminer l'achèvement d'une opération d'écriture d'une donnée dans une cellule de mémoire, le circuit de mémoire fictive comprenant des moyens de mémorisation (20) pour le stockage d'une donnée mémorisée dans l'une des cellules de mémorisation, caractérisé en ce que les moyens de mémorisation (20) ont une capacitance plus faible que la capacitance de ladite cellule de mémorisation. 8-Circuit de mémoire selon la revendication 7, caractérisé en ce que le circuit de mémoire fictif comporte un premier noeud (N6) de stockage de données et un deuxième noeud (N8) de stockage de données servant, l'un à la mémorisation de la donnée écrite dans l'une des cellules de mémorisation, et l'autre au stockage d'une donnée écrite dans la cellule de mémorisation à l'issue d'une opération d'écriture précédente, et un comparateur (24) comparant les données respectivement stockées dans lesdits noeuds de stockage. 9-Circuit selon la revendication 8, caractérisé en ce que les cellules de mémorisation comportent un inverseur (22) à trois états adapté pour provoquer le stockage des données dans le circuit de mémoire fictive lorsque les lignes de mots d'adressage du réseau de cellule de mémoires sont inactives. 10-Circuit selon les revendications 8 et 9, caractérisé en ce que le circuit de mémoire fictive comporte un circuit d'écriture (16) pour commander la mémorisation de la donnée écrite dans l'une des cellules de mémorisation alternativement dans l'un et l'autre noeud de stockage de données.