FR3089681A1 - Mémoire à lecture unique - Google Patents
Mémoire à lecture unique Download PDFInfo
- Publication number
- FR3089681A1 FR3089681A1 FR1872645A FR1872645A FR3089681A1 FR 3089681 A1 FR3089681 A1 FR 3089681A1 FR 1872645 A FR1872645 A FR 1872645A FR 1872645 A FR1872645 A FR 1872645A FR 3089681 A1 FR3089681 A1 FR 3089681A1
- Authority
- FR
- France
- Prior art keywords
- state
- circuit
- output
- input
- flip
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 126
- 230000006870 function Effects 0.000 claims description 36
- 238000012163 sequencing technique Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 3
- 230000001066 destructive effect Effects 0.000 description 20
- 230000000630 rising effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000002747 voluntary effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- 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/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1695—Protection circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0059—Security or protection circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/22—Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/106—Data output latches
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
Abstract
Mémoire à lecture unique La présente description concerne un circuit mémoire (7) comportant : au moins une cellule mémoire non volatile réinscriptible (72) ; et un circuit (76) d'effacement de la cellule mémoire à réception d'une requête en lecture. Figure pour l'abrégé : Fig. 6
Description
Description
Titre de l'invention : Mémoire à lecture unique
Domaine technique
[0001] La présente description concerne de façon générale les circuits et systèmes électroniques et plus particulièrement la réalisation d’un mémoire à lecture unique ou à lecture destructrice.
Technique antérieure
[0002] Les mémoires se divisent en plusieurs catégories selon qu’elles sont, à lecture seule, réinscriptibles, volatiles, non volatiles, ainsi que selon les technologies utilisées (flash, EEPROM, SRAM, etc.)
[0003] Une catégorie particulière de mémoires concerne les mémoires dites à lecture unique ou à lecture destructrice ou par effacement. Il s’agit d'une mémoire ou d'un élément de mémorisation qui a pour caractéristique que la lecture de la donnée qu’elle contient provoque son effacement.
[0004] Ce type de mémoire est utilisé notamment dans les processus cryptographiques pour, par exemple, stocker des informations (typiquement des clés) à usage unique. Elles peuvent également servir à réaliser des compteurs non réversibles.
Résumé de l’invention
[0005] Un mode de réalisation pallie tout ou partie des inconvénients des circuits mémoire à lecture destructrice connues.
[0006] Un mode de réalisation prévoit un circuit mémoire à lecture destructrice particulièrement simple.
[0007] Un mode de réalisation prévoit un circuit mémoire à lecture destructrice à base de bascules.
[0008] Un mode de réalisation prévoit un circuit mémoire à lecture destructrice compatible avec tout type de cellule mémoire non volatile réinscriptible.
[0009] Un mode de réalisation prévoit un circuit mémoire comportant :
- au moins une cellule mémoire non volatile réinscriptible ; et
- un circuit d'effacement de la cellule mémoire à réception d'une requête en lecture.
[0010] Selon un mode de réalisation, le circuit comporte en outre au moins une bascule dont une entrée de mise à un est reliée à une sortie de la cellule.
[0011] Selon un mode de réalisation, le circuit comporte en outre une fonction logique combinant au moins une sortie de la bascule et la sortie de la cellule.
[0012] Selon un mode de réalisation, la fonction logique prend également en compte un état indicateur d'une commande en lecture.
[0013] Selon un mode de réalisation, la fonction logique est de type ET, dont une entrée recevant la sortie de la cellule mémoire est inversée.
[0014] Selon un mode de réalisation, la bascule est de type RS.
[0015] Selon un mode de réalisation, le circuit comporte en outre une fonction logique combinant la sortie de la cellule à un état indicateur d'une commande en lecture.
[0016] Selon un mode de réalisation, la fonction logique est de type ET.
[0017] Selon un mode de réalisation, une lecture de l’état stocké dans la cellule est suivie d’un forçage d'une sortie du circuit dans un état constant.
[0018] Selon un mode de réalisation, une lecture est précédée d’une programmation de la cellule mémoire dans un état prédéterminé.
[0019] Selon un mode de réalisation, la cellule mémoire est de type à état vierge à l’état haut.
[0020] Selon un mode de réalisation, le circuit comporte en outre une entrée d’application d’un signal de séquencement reliée à une entrée de séquencement de la cellule mémoire et, de préférence, à une entrée de séquencement du circuit d'effacement.
[0021] Selon un mode de réalisation, le signal de séquencement est en outre appliqué à une entrée de séquencement de la bascule.
[0022] Un mode de réalisation prévoit également une mémoire non volatile à lecture par effacement.
[0023] Un mode de réalisation prévoit également un procédé de commande d'un circuit mémoire comportant au moins une cellule mémoire non volatile réinscriptible, comportant lors d'une étape de lecture, l'étape de provoquer un effacement de la cellule mémoire avant de fournir son contenu.
[0024] Selon un autre aspect, un mode de réalisation prévoit un circuit de mémoire volatile comportant :
- au moins une première bascule ;
- au moins une deuxième bascule dont une entrée de mise à un est reliée à une sortie de la première bascule ; et
- une première fonction logique combinant au moins une sortie de la deuxième bascule et une information représentative de la sortie de la première bascule.
[0025] Selon un mode de réalisation, le circuit comporte en outre une deuxième fonction logique combinant une entrée de commande en lecture et une entrée de commande en programmation de la cellule.
[0026] Selon un mode de réalisation, la deuxième fonction logique est de type OU Exclusif.
[0027] Selon un mode de réalisation, la première fonction logique est de type ET, dont une entrée recevant la sortie de la première bascule est inversée.
[0028] Selon un mode de réalisation, une sortie de la deuxième fonction logique est reliée, de préférence connectée, à l'entrée de remise à zéro de la première bascule.
[0029] Selon un mode de réalisation, la première fonction logique est de type NON ET.
[0030] Selon un mode de réalisation, une sortie de la deuxième fonction logique est reliée, de préférence connectée, à l'entrée mise à un de la première bascule.
[0031] Selon un mode de réalisation, une lecture de l’état stocké dans le circuit mémoire s'accompagne d’un forçage d'une sortie du circuit dans un état constant.
[0032] Selon un mode de réalisation, une lecture est précédée d’un effacement du contenu de la première bascule.
[0033] Selon un mode de réalisation, la première fonction logique prend également en compte l'état d'une entrée de commande en lecture.
[0034] Selon un mode de réalisation, les bascules sont de type RS.
[0035] Selon un mode de réalisation, le circuit comporte en outre une entrée d’application d’un signal de séquencement reliée à des entrées de séquencement des bascules.
[0036] Un mode de réalisation prévoit une mémoire volatile à lecture unique.
Brève description des dessins
[0037] Ces caractéristiques et avantages, ainsi que d'autres, 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 :
[0038] [fig.l] la figure 1 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d’un circuit électronique du type auquel s’appliquent les modes de mise en oeuvre décrits ;
[0039] [fig.2] la figure 2 représente, de façon très schématique, un mode de réalisation d’un circuit mémoire à lecture destructrice ;
[0040] [fig.3] la figure 3 illustre, par des chronogrammes, le fonctionnement du mode de réalisation de la figure 2 ;
[0041] [fig.4] la figure 4 représente, de façon très schématique, un autre mode de réalisation d’un circuit mémoire à lecture destructrice ;
[0042] [fig.5] la figure 5 représente, de façon très schématique, un autre mode de réalisation d’un circuit mémoire à lecture destructrice ;
[0043] [fig.6] la figure 6 représente, de façon très schématique, un autre mode de réalisation d’un circuit mémoire à lecture destructrice ;
[0044] [fig.7] la figure 7 illustre, par des chronogrammes, le fonctionnement du mode de réalisation de la figure 7 ;
[0045] [fig.8] la figure 8 représente, de façon très schématique et partielle, un autre mode de réalisation d’un circuit mémoire à lecture destructrice ; et
[0046] [fig.9] la figure 9 illustre, par des chronogrammes, le fonctionnement du mode de réalisation de la figure 8.
Description des modes de réalisation
[0047] De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques.
[0048] Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, la constitution d’une cellule mémoire réinscriptible n’a pas été détaillée, le circuit mémoire décrit étant compatible avec les cellules mémoire usuelles, par exemple de type flash, EEPROM, etc. De plus, les applications utilisant des mémoires à lecture destructrice n’ont pas non plus été détaillées, les modes de réalisation décrits étant compatibles avec les applications usuelles.
[0049] Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés ou couplés entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés ou couplés par l'intermédiaire d'un ou plusieurs autres éléments.
[0050] Dans la description qui suit, on fera référence à « 0 » et « 1 » pour désigner des états logiques respectivement bas et haut des signaux numériques. Sauf précision contraire, l’état 0 représente l’état inactif d’un signal de commande.
[0051] Sauf précision contraire, les expressions environ, approximativement, sensiblement, et de l'ordre de signifient à 10 % près, de préférence à 5 % près.
[0052] La figure 1 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d’un circuit électronique 1 du type auquel s’appliquent les modes de réalisation décrits.
[0053] Le circuit électronique 1 comporte :
- une ou plusieurs unité 11 de traitement numérique (PU), par exemple de type machine d'états, microprocesseur, circuit logique programmable, etc. ;
- une ou plusieurs mémoire 12, 13 de stockage volatil (RAM) et/ou non volatil (NVM) de données et programmes ;
- un ou plusieurs bus 14 de données, d'adresses et/ou de commandes entre les différents éléments internes au circuit 1 ;
- une ou plusieurs interfaces 15 d'entrée-sortie (I/O) de communication avec ou sans fil avec l'extérieur du circuit ; et
- divers autres circuits en fonction de l'application, symbolisés en figure 1 par des blocs 16 (FCT).
[0054] Selon le mode de réalisation représenté, le circuit 1 comporte en outre une mémoire 2 (MEM) à lecture destructrice. La mémoire 2 est une mémoire volatile ou non selon les modes de réalisation. La mémoire 2 a la particularité que la lecture d’une information qu’elle contient provoque l’effacement de cette information. Plus particulièrement, une caractéristique des modes de réalisation décrits est que la donnée stockée dans la mémoire 2 ne sort (n'est fournie) qu'un fois que le circuit garantit l'effacement de cette donnée de la mémoire.
[0055] La figure 2 représente, de façon très schématique, un mode de réalisation d’un circuit mémoire 3 à lecture destructrice.
[0056] Le circuit 3 de la figure 2 constitue un circuit élémentaire d’un bit de la mémoire 2 de la figure 1. En d’autres termes, la mémoire 2 comporte un nombre de circuits 3 qui dépend de l’application et du nombre de bits de mémoire que l’on souhaite à lecture destructrice. En variante, certains éléments du circuit 3 sont mutualisés, c'est-à-dire sont communs à plusieurs bits de la mémoire 2, un circuit mémoire représentant un mot de plusieurs bits (par exemple 8, 16, 32, 64).
[0057] Le mode de réalisation de la figure 2 concerne la réalisation d'un circuit mémoire à mémorisation volatile, basée sur des bascules 32 et 34, par exemple de type RS.
[0058] Un bit du circuit 3 comporte au moins :
- une première bascule 32 ;
- une deuxième bascule 34 ; et
- une fonction logique 38 de sortie.
[0059] Le circuit 3 comporte en outre, pour chaque bit ou mutualisé pour plusieurs bits :
- une fonction logique 36 d’entrée.
[0060] Pour simplifier les explications, on considère par la suite le cas d'un circuit 3 par bit (version non mutualisée). Toutefois la mutualisation de certains éléments ne change pas le fonctionnement de base.
[0061] Ainsi, le circuit 3 comporte, à la manière d’une cellule mémoire réinscriptible, une borne 31 de commande en lecture, une borne 33 de commande en programmation vers un état 1, une borne 35 de sortie de donnée et, optionnellement, une borne 37 de commande d’effacement ou de programmation vers un état 0. Le circuit 3 comporte en outre une borne 39 d’application d’un signal de séquencement ou d’horloge des bascules 32 et 34.
[0062] Les bascules 32 et 34 fournissent au repos des états 0 sur leurs sorties respectives QI et Q2. Chaque bascule 32, 34 comporte une entrée SI, respectivement S2, de mise à un (set), une entrée RI, respectivement R2, de remise à zéro (reset) et une entrée de séquencement ou d'horloge.
[0063] Les éléments et définitions faites ci-dessus en relation avec la description de la figure 2 sont communs à tous les modes de réalisation basés sur des bascules pour constituer un circuit mémoire à mémorisation volatile et à lecture destructrice (ou à effacement).
[0064] Dans le mode de réalisation de la figure 2, l’entrée SI de la bascule 32 est reliée, de préférence connectée, à la borne 33 de commande d'une programmation d'un état 1. L’entrée RI de la bascule 32 est reliée, de préférence connectée, à la sortie de la fonction logique 36. Cette fonction logique 36 est, dans l'exemple représenté, une combinaison de type OU (porte OU) ou de type OU-Exclusif (porte OU-Exclusif) à deux entrées, respectivement reliées, de préférence connectées, à la borne 31 de commande en lecture et à la borne 37 de commande en programmation d'un état 0. Quand la fonction 36 et une fonction de type OU, on considère que la commande en lecture est prioritaire. Selon une autre variante, les signaux de lecture et de programmation sont regroupés sur une seule entrée du circuit 3 et la fonction 36 est alors omise.
[0065] La sortie QI (directe ou non-inversée) de la bascule 32 (correspondant fonctionnellement à une sortie de donnée d'un élément de mémorisation) est reliée, de préférence connectée, à l'entrée S2 de la bascule 34. La sortie QI est par ailleurs reliée, par exemple par un inverseur 342, à l'entrée R2 de la bascule 34. L'entrée et la sortie de l'inverseur 342 sont alors respectivement reliées, de préférence connectées, à la sortie QI et à l'entrée R2. En variante, l’inversion du signal de sortie Ql, pour son application à l’entrée R2, s’effectue par l'utilisation d’une entrée inversée de remise à zéro de la bascule 34. Selon une autre variante, on utilise la sortie inversée NQ1 de la bascule 32 que l'on relie, de préférence connecte, à l'entrée R2.
[0066] La sortie Q2 (directe ou non-inversée) de la bascule 34 est combinée avec l’inverse de la sortie Ql de la bascule 32 par la fonction logique 38. La fonction 38 effectue, dans l'exemple représenté, une combinaison de type ET (porte ET) de ses deux entrées. L’inversion du signal prélevé sur la sortie Ql de la bascule 32 est symbolisée par un inverseur 382 reliant la sortie Ql de la bascule 32 à une entrée de la fonction 38, mais on peut également par exemple utiliser la sortie NQ1. La sortie de la fonction 38 est reliée, de préférence connectée, à la borne 35 de sortie du circuit mémoire 3.
[0067] Dans le mode de réalisation de la figure 2, la sortie inversée NQ2 de la bascule 34 n'est pas utilisée.
[0068] Fonctionnellement, la bascule 32 correspond à l'élément de mémorisation (l'élément qui stocke la donnée) et la bascule 34 sert pour la lecture et contient la même valeur que la bascule 32 mais avec un cycle d'horloge de décalage.
[0069] La figure 3 illustre, sous forme de chronogrammes, le fonctionnement du circuit mémoire 3 de la figure 2.
[0070] La figure 3(a) représente un exemple de signal de déclenchement CK, appliqué sur la borne 39. La figure 3(b) représente un exemple de signal de commande en programmation vers l'état 0 (ou effacement), appliqué sur la borne 37. La figure 3(c) représente un exemple de signal de commande en lecture appliqué sur la borne 31. La figure 3(d) représente un exemple de signal de commande en programmation vers l'état 1, appliqué sur la borne 33, correspondant de la borne d’entrée SI de la bascule 32. La figure 3(e) représente l’état de sortie de la porte 36 ou de l'entrée RI de la bascule 32. La figure 3(f) représente le contenu de la cellule mémoire 32, soit l'état de la borne Q1 de sortie de la bascule 32. La figure 3(g) représente l’état correspondant de la borne S2 d’entrée de la bascule 34. La figure 3(h) représente l’état correspondant de la borne R2 d’entrée de la bascule 34. La figure 3(i) représente l’état correspondant de la borne Q2 de la bascule 34. La figure 3(j) représente l’état correspondant de la borne de sortie 35.
[0071] On suppose que le signal CK active les bascules 32 et 34 sur front montant. Par conséquent, la bascule 32 prend en compte les états des signaux présents sur les entrées SI et RI à chaque front montant pour définir l’état de la cellule mémoire, donc l’état de la borne Ql. De même, la bascule 34 prend en compte les états des signaux présents sur les entrées S2 et R2 à chaque front montant pour fixer l’état de la sortie Q2.
[0072] Dans le mode de réalisation de la figure 2 où l'on est en présence d'une cellule mémoire volatile, son contenu doit être fixé par un cycle de programmation initial, à la suite de la mise sous tension du circuit électronique qui intègre la cellule. De plus, le signal CK n'est pas nécessairement un signal périodique mais peut être un signal de déclenchement. En effet, un front sur le signal CK engendrant une prise en compte des états respectifs des entrées des bascules 32 et 34, un tel front ne peut donc apparaître que lorsque l'on effectue une opération volontaire (mise à 1, remise à 0, lecture).
[0073] La partie gauche de la figure 3 illustre un exemple de fonctionnement pour une programmation vers un état 1. La partie centrale de la figure 3 illustre un exemple de fonctionnement pour une programmation vers un état 0. La partie droite de la figure 3 illustre un exemple de fonctionnement lors d'une lecture.
[0074] Initialement (à la mise sous tension), tous les signaux de la figure 3 sont normalement à l'état bas (0), notamment les signaux appliqués sur les bornes 31, 33, 37 et 39, donc les signaux SI et RL Avec tous ces signaux à l'état 0, la sortie 35 est forcée à l'état 0 au plus tard au bout de deux cycles (fronts montants du signal appliqué sur la borne 39). Toutefois, pour tenir compte du fait que, lors d'une programmation, le contenu peut déjà avoir été fixé par une programmation précédente, on symbolise par des zones hachurées, les états indéterminés ou indifférents.
[0075] On considère que la cellule mémoire 3 doit commencer par être programmée soit vers un état 1, soit vers un état 0. En l'absence de programmation, dans l'exemple de la figure 3, la cellule fournit sa valeur d'effacement, soit l'état 0.
[0076] Pour programmer la cellule vers l'état 1 (partie gauche de la figure 3), on applique (instant t41), sur l'entrée 33, un état haut (1) à programmer. Cet état se retrouve sur l'entrée SI de la bascule 32. Au front de déclenchement qui suit (instant t43), l'état 1 est lu par la bascule 32 sur son entrée SI et est reporté sur la sortie Ql de la bascule 32, donc sur l'entrée S2 de la bascule 34. Par ailleurs, l'inverse, c'est-à-dire l'état 0, est reporté sur l'entrée R2. Au front montant suivant du signal de déclenchement (instant t47) la valeur 1 lue sur l'entrée S2 est reportée sur la sortie Q2. Toutefois la sortie 35 reste à l'état bas grâce à l'état bas présent sur la deuxième entrée de la porte 38. Dans l'exemple de la figure 3, on suppose que l'état haut sur l'entrée 33 disparait à un instant t45, intermédiaire entre les instants t43 et t47. Toutefois, il peut également subsister, la programmation sera simplement confirmée dans le même état à chaque front du signal de déclenchement. Pour être pris en compte, le signal de programmation doit cependant être présent au moins au premier front du signal de déclenchement qui suit son apparition. De façon simple, en supposant que le signal de déclenchement est un signal périodique ou d'horloge, le signal de programmation (vers l'état 1 sur l'entrée 33 ou vers l'état 0 sur l'entrée 37) est appliqué pendant une durée au moins égale à une période et, de préférence d'une période. L'état mémorisé reste stable tant que ne se produit pas une lecture, une coupure d'alimentation ou une programmation vers l'état 0 (effacement). En particulier, s'agissant de bascules RS, elles conservent l'état 1 en sortie tant qu'elles ne sont pas remises à zéro par leurs entrées respectives RI et R2.
[0077] Pour programmer la cellule vers l'état 0 (partie centrale de la figure 3), on applique (instant t51), sur l'entrée 37, un état haut (1) pour remettre à zéro la bascule 32. Cet état se retrouve sur l'entrée RI de la bascule 32. Au front de déclenchement qui suit (instant t53), l'état 1 est lu par la bascule 32 sur son entrée RI et un état 0 est donc forcé en sortie Ql de la bascule 32, donc sur l'entrée S2 de la bascule 34. Par ailleurs, l'inverse, c'est-à-dire l'état 1, est reporté sur l'entrée R2. Au front montant suivant du signal de déclenchement (instant t57), la valeur 1 lue sur l'entrée R2 force la sortie Q2 à l'état 0. La sortie 35 reste donc à l'état bas. On suppose ici également que l'état haut sur l'entrée 37 disparait à un instant t55, intermédiaire entre les instants t53 et t57. Toutefois, là encore, cet état peut également subsister. De même, comme pour la programmation vers l'état 1, pour être pris en compte, le signal de programmation vers l'état 0 doit être présent au moins au premier front du signal de déclenchement qui suit son apparition. Là encore, l'état mémorisé reste stable (jusqu'à une lecture, une programmation vers l'état 1 ou une coupure de l'alimentation).
[0078] Pour effectuer une lecture du circuit 3 (partie droite de la figure 3), on applique (instant t61) un état 1 sur l'entrée 31. Cet état se retrouve sur l'entrée RI. Au front de déclenchement qui suit (instant t63), l'état 1 est lu par la bascule 32 sur son entrée RI et un état 0 est donc forcé en sortie Q1 de la bascule 32, donc sur l'entrée S2 de la bascule 34. Par ailleurs, l'inverse, c'est-à-dire l'état 1, est reporté sur l'entrée R2. Dans le même temps, l'état V mémorisé, qui est présent sur la sortie Q2, est reporté sur la sortie de la porte 38, par le basculement à l'état 1 de l'entrée R2 (si la sortie Q2 est à l'état 0, le résultat de la combinaison ET donne 0, si la sortie Q2 est à 1, le résultat de la combinaison ET donne 1). On notera que, avant l'instant t63, l'entrée R2 présente l'inverse NV de la valeur V mémorisée dans la cellule. Au front montant suivant du signal de déclenchement (instant t67), la valeur 1 lue sur l'entrée R2 force la sortie Q2 à l'état 0. Cela efface la valeur de sortie qui, quel que soit l'état précédent, prend l'état bas. On suppose, là encore, que le signal de lecture n'est présent que pendant une durée correspondant à un cycle et disparait donc à un instant t55, intermédiaire entre les instants t53 et t57. Toutefois, il peut, comme dans les cas précédents subsister.
[0079] On notera que, dans le mode de réalisation illustré par les figures 2 et 3, la donnée ou valeur V présente en sortie 35 doit être prise en compte par les circuits avals au plus tard à l'instant t67. En effet, après cet instant, la valeur V est effacée. On dispose donc d'un cycle pour prendre en compte l'état lu.
[0080] On notera que, dans l'exemple des figures 2 et 3, le fonctionnement en lecture est identique au fonctionnement en remise à l'état 0. En d'autres termes, entre les états t53 et t57, le signal de sortie 35 prend en fait la valeur de la sortie Q2 (zone 59 hachurée en partie centrale de la figure 3). Ainsi, si une programmation vers l'état 0 suit une programmation vers l'état 1 sans qu'il y ait eu de lecture entre les deux, la sortie 35 prend l'état 1 temporairement. Cela revient à dire que, dans le mode de réalisation de la figure 2, il n'y a pas de lecture autrement que par un effacement.
[0081] La figure 4 représente, de façon très schématique, un autre mode de réalisation d’un circuit mémoire à lecture destructrice ou lecture par effacement.
[0082] Le mode de réalisation de la figure 4 permet d'éviter la situation du mode de réalisation de la figure 2 dans lequel une programmation vers l'état zéro est équivalent à une lecture.
[0083] Par rapport au circuit de la figure 2, la fonction ou porte ET 38 est remplacée par une fonction ou porte ET à trois entrées 48 et sa troisième entrée reçoit directement le signal de commande en lecture, c'est-à-dire qu'elle est reliée, de préférence connectée, à la borne 31. Le reste du circuit est identique à celui exposé en relation avec la figure 2.
[0084] Le fonctionnement est similaire à celui exposé en relation avec la figure 2 à deux différences près.
[0085] Une première différence est que la situation de lecture en cas de programmation vers l'état 0 (zone 59 en figure 3) ne peut plus se produire. En effet, le signal de commande en lecture étant à l'état bas, il force la sortie 35 à l'état bas pendant les phases de programmation et plus généralement, hors de toute période où le signal appliqué sur la borne 31 est à l'état haut.
[0086] Une deuxième différence est que le signal de commande en lecture appliqué sur la borne 31 doit être maintenu pendant au moins deux cycles. En effet, comme la valeur V n'est fournie qu'à l'instant t67, il faut que la troisième entrée de la porte 48 soit encore à l'état 1 à l'instant t67 Cette durée est illustrée par le pointillé 69 en figure 3(c).
[0087] La figure 5 représente, de façon très schématique, un autre mode de réalisation d’un circuit mémoire à lecture destructrice ou par effacement.
[0088] Par rapport au mode de réalisation de la figure 4 :
- l'inverseur 382 est supprimé, la sortie Q1 étant reliée, de préférence connectée, sans inversion à la porte ET 48 ;
- l'état de sortie de la porte ET 48 est inversé avant d'être fourni à la borne 35 (par exemple par un inverseur 482 distinct ou en remplaçant la porte 48 par une porte de type NON-ET ;
- la porte 36 est remplacée par une fonction 56 ou porte de type OU-Exclusif (ou de type OU) qui combine l'état du signal de commande en lecture (borne 31) avec l'état du signal de programmation vers l'état 1 (entrée 33) ; et
- seul le signal de commande en programmation vers l'état 0 est pris en compte par l'entrée RI de la bascule 32 (l'entrée RI est reliée, de préférence connectée, à la borne 37).
[0089] Sur le plan du fonctionnement, la différence par rapport au mode de réalisation de la figure 4 est que l'état effacé, c'est-à-dire l'état présent en sortie 35 au repos, est l'état haut. Ce fonctionnement se déduit de l'exposé effectué en relation avec les figures précédentes.
[0090] Le mode de réalisation illustré par la figure 5 peut également, en variante, utiliser une porte ET à deux entrées en guise de porte 48. Le fonctionnement est alors voisin de celui exposé en relation avec la figure 3, mais cette fois-ci, c'est une programmation vers l'état 1 qui a le même comportement qu'une lecture.
[0091] La figure 6 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un circuit mémoire 7 non volatile à lecture destructrice ou à lecture par effacement.
[0092] Selon ce mode de réalisation, le circuit mémoire 7 est basé sur l'utilisation de tout ou partie d'une mémoire flash.
[0093] Dans l'exemple de la figure 6, on suppose que le circuit 7 comporte une mémoire flash 72 organisée en mots de k bits, par exemple trente-deux bits. Cependant, tout ce qui est décrit par la suite se transpose à une mémoire flash organisée en mots d'un nombre k quelconque de bits.
[0094] Ce mode de réalisation illustre une version dans lequel certains éléments du circuit mémoire 7 sont mutualisés, c'est-à-dire sont utilisés quel que soit le mot de la mémoire 72 traité.
[0095] A la manière d'une mémoire flash usuelle, le circuit 7 comporte une entrée ADD d'un bus d'adresses, par exemple de k égal trente-deux bits, une entrée IN de données (bus de données) sur k bits, une entrée REQ de commande, indicatrice de l'opération souhaitée (programmation, lecture, effacement), et une entrée 79 de séquencement. Le circuit 7 comporte en outre une sortie 75 (OUT) de données (bus de données) sur k bits. Pour simplifier la description, on confond volontairement une borne et le signal présent sur cette borne.
[0096] Le bus d'adresse ADD est fourni directement à la mémoire 72 (entrée de bus d'adresse ADD'). Le bus de données IN et le signal de commande REQ sont traités par un circuit d'arbitrage 76 (AC) avant d'être fournis à la mémoire 72 (entrée de bus de données IN' et entrée de commande REQ'). De préférence, le circuit 76 fournit également, sur une borne R, un signal de validation de lecture. Le circuit 76 reçoit également le signal de séquencement de la borne 79.
[0097] Le bus de sortie OUT' de la mémoire 72 fournit le mot de données lu dans celle-ci. Les k bits du bus sont traités individuellement par k bascules 74 de type RS. Ainsi, chaque bit du bus de sortie OUT' de la mémoire 72 est envoyé sur une entrée S' de mise à 1 d'une bascule 74 et son inverse (inverseur 742) est envoyé sur l'entrée de remise à zéro R' de la même bascule 74.
[0098] Chaque bascule 74 est associée à une fonction logique 78 réalisant une combinaison de type ET. Selon un mode de réalisation simplifié, chaque fonction 78 a deux entrées combinant la sortie directe Q' de chaque bascule 74 à l'inverse de l'entrée S' de cette bascule. Dans le mode de réalisation représenté, la fonction 78 est à trois entrées. La sortie directe Q' de chaque bascule 74 est reliée, de préférence connectée, à une première entrée de la porte 78. Une deuxième entrée de toutes les portes 78 reçoit le signal de commande en lecture fourni par le circuit 76. Une troisième entrée de chaque porte 78 est reliée, par un inverseur 782, à l'entrée S' de la bascule 74 correspondante.
[0099] Dans l'exemple de la figure 6, on suppose le cas d'une mémoire flash de type NAND, c'est-à-dire dont la programmation revient à l'écriture d'un 0 et dont l'effacement revient à l'écriture d'un 1. C'est pourquoi, la partie du circuit en aval de la mémoire 72 est similaire au mode de réalisation de la figure 4. Toutefois, ce qui est décrit par la suite se transpose au cas inverse (programmation par l'écriture d'un 1 sur un état effacé 0) en utilisant la partie du circuit en aval de la mémoire 72 comme dans le mode de réalisation de la figure 5.
[0100] En outre, on suppose que la sortie OUT' n'est pas modifiée par une programmation ou par un effacement, mais seulement par une lecture. Cette dernière condition rend optionnelle la prise en compte du signal R au niveau des portes 78 comme on le verra par la suite.
[0101] Le rôle du circuit 76 est, à partir de la requête ou commande reçue REQ, de contrôler qu'en cas de lecture, le mot de données soit effacé de la mémoire 72 avant qu'il ne soit fourni par le circuit mémoire 7.
[0102] Cela revient à appliquer les règles suivantes :
- en cas de requête en programmation, transférer la requête REQ sur l'entrée REQ', transférer la donnée IN non modifiée sur l'entrée IN', et laisser le signal R inactif (état 0). La sortie 75 reste alors à l'état 0. Cet état 0 de la sortie est, dans l'exemple de la figure 4, forcé par le signal R. Dans une variante à porte ET à deux entrées, le fait que la sortie OUT' reste stable lors d'une opération de programmation garantit également que la sortie OUT reste à l'état 0 (soit la borne Q' est à l'état 0, soit la sortie de l'inverseur 782 est à 0).
- en cas de requête en effacement, transférer la requête REQ sur l'entrée REQ', ne pas se préoccuper du bus IN (le transférer ou non n'a pas d'importance), et laisser le signal R inactif (état 0). La sortie 75 reste là encore à l'état 0 pour les mêmes raisons qu'en cas de programmation.
- en cas de requête en lecture, modifier la requête de l'entrée REQ en une requête REQ' de lecture suivie d'une requête REQ' de programmation d'un 0, ce qui revient, au niveau de la mémoire 72, à effectuer successivement une lecture, une programmation d'un mot tout à 0 et de nouveau une lecture (de façon usuelle, dans une mémoire flash, une programmation est suivie d'une lecture). En outre, si un signal R est utilisé, celui-ci est porté à l'état actif (1) au moins pendant le cycle d'horloge qui suit la deuxième étape de lecture.
[0103] La figure 7 illustre, par des chronogrammes, le fonctionnement du circuit mémoire de la figure 6.
[0104] La figure 7(a) représente un exemple de signal de séquencement CK, appliqué sur la borne 79. La figure 7(b) représente un exemple de signal de commande REQ. La figure 7(c) représente l'allure correspondante du signal REQ'. La figure 7(d) représente un exemple de signal de données IN. La figure 7(e) représente l'allure correspondante du signal IN'. La figure 7(f) représente l’état de la borne de sortie OUT' de la mémoire 72. La figure 7(g) représente les états correspondants des bornes d’entrée S' des bascules 74. La figure 7(h) représente les états correspondants des bornes R' des bascules 74. La figure 7(i) représente les états des bornes Q' de sortie des bascules 74. La figure 7(j) représente l’état OUT de la sortie 75 du circuit mémoire 7.
[0105] Pour simplifier, on néglige, dans la représentation de la figure 7, les temps de propagation dans les fonctions logiques. De plus, on suppose arbitrairement et pour simplifier que le temps de traitement par le circuit 76 est immédiat, c'est-à-dire que l'on néglige également son temps de propagation. En pratique, selon la réalisation pratique du circuit 76, la transition est soit quasi immédiate comme illustrée, soit prend un cycle d'horloge. Toutefois, côté mémoire 72, chaque opération prend un cycle d'horloge. Ainsi, une requête reçue sur l'entrée REQ est suivie d'effet sur la sortie OUT' au front montant démarrant le cycle suivant.
[0106] On suppose que la mémoire est commandée par les fronts montants du signal CK. Le fonctionnement peut ainsi se résumer en cinq cycles d'horloge débutant respectivement par des instants t81, t82, t83, t84 et t85. Comme pour la description de la figure 3, on symbolise par des hachures les états quelconques ou inopérants.
[0107] On suppose arbitrairement un état initial à 0 du signal OUT' afin de montrer des commutations des signaux S', R' et Q'. Toutefois, comme l'état du signal OUT' (donc du signal OUT) ne change pas pendant les requêtes d'effacement et de programmation de la mémoire 72, cela ne modifie pas le fonctionnement que le signal OUT' soit initialement à 1. De plus, on se contente d'exposer le fonctionnement en lecture, car le fonctionnement d'une requête REQ en effacement ou en programmation ne modifie pas les états en aval de la mémoire 72. Ainsi, l'état du signal IN est inopérant pendant tout le fonctionnement décrit en relation avec la figure 7.
[0108] Comme le signal OUT' est initialement à l'état 0, le signal S' est à l'état 0, le signal R' est à l'état 1 et le signal Q' est à l'état 0. La sortie OUT est bien à l'état 0.
[0109] A l'instant t81, on suppose qu'une requête en lecture READ arrive sur l'entrée REQ et que cette requête est présente pendant un cycle (entre les instants t81 et t82) afin de pourvoir être prise en compte par la mémoire au front t82. L'entrée ADD reçoit par ailleurs l'adresse de lecture dans la mémoire 72 qui est transmise sur son entrée ADD'.
[0110] Le circuit 76 convertit cette requête en trois requêtes successives REQ' de lecture READ, de programmation PROG et de lecture READ. Chaque requête REQ' dure un cycle. De plus, pendant le cycle de programmation (entre les instants t82 et t83), le signal IN' est forcé à l'état 0 par le circuit 76.
[0111] A l'instant t82, la première requête de lecture de la mémoire 72 se traduit par la fourniture sur la sortie OUT' de la donnée D(ADD) stockée à l'adresse ADD. Il en découle que l'entrée S' prend l'état D(ADD) ou plus précisément que les entrées S' des k différentes bascules 74 prennent les états respectifs des bits de la donnée D(ADD), et que l'entrée R' prend l'état inverse ND(ADD). La sortie Q' reste à 0, de même que la sortie OUT. Par ailleurs, afin de préparer la programmation de l'état 0 à l'adresse ADD, le circuit 76 positionne le signal IN' avec tous les bits à l'état 0.
[0112] A l'instant t83, la programmation de la valeur 0 est effectuée dans la mémoire 72 à l'adresse ADD. Côté sortie OUT' (donc entrées S' et R') rien ne change car la programmation en elle-même ne modifie pas l'état de la sortie OUT'. Toutefois, la valeur
D(ADD) se retrouve sur la borne Q'. La valeur OUT ne change pas. Par ailleurs, le circuit 76 génère la deuxième requête REQ' de lecture (toujours à l'adresse ADD).
[0113] A l'instant t84, cette deuxième requête de lecture se traduit par le fait que la sortie OUT' prend l'état 0 (le mot mémoire a été effacé). Les entrées S' et R' prennent également l'état 0. Comme l'entrée R' est désormais à l'état 0, la sortie de l'inverseur 782 est à l'état 1 (tous ses bits sont à l'état 1). Par conséquent, la sortie 75 reflète l'état de la sortie Q', donc fournit le mot lu D(ADD).
[0114] Dès l'instant t85 (cycle suivant), la sortie OUT' passe à l'état 0, ce qui fait disparaître le mot D(ADD) de la sortie OUT.
[0115] On voit donc que la donnée est effacée de la mémoire 72 avant d'être fournie à la sortie 75 du circuit 7.
[0116] Dans le cas de la figure 6, si l'on utilise le signal R, celui-ci est commuté à l'état 1 par le circuit 76 uniquement pendant le cycle compris entre les instants t84 et t85. Bien que cela ne soit pas indispensable avec le type de mémoire décrit, cela constitue une sécurité et peut de plus être utilise selon le fonctionnement de la mémoire 72.
[0117] La figure 8 représente, de façon très schématique et partielle, sous forme de blocs, un autre mode de réalisation d'un circuit mémoire 7 non volatile à lecture destructrice ou à lecture par effacement.
[0118] Par rapport au mode de réalisation de la figure 6, les bascules 74 et les portes ET 78 sont remplacées par des portes ET 78' combinant, un à un, les bits de sortie OUT' de la cellule 72 avec le signal R. Les sorties respectives des portes 78' constituent directement la sortie OUT.
[0119] La figure 9 illustre, par des chronogrammes, le fonctionnement du circuit mémoire de la figure 8.
[0120] Pour simplifier, seuls certains chronogrammes de la figure 7 sont repris en figure 9 et uniquement entre les instants t82 et t84.
[0121] La figure 9(a) représente l’état de la borne de sortie OUT' de la cellule 72. La figure 9(b) représente l'état du signal R généré par le circuit 76 (figure 6). La figure 9(c) représente l'état de la borne OUT.
[0122] Selon ce mode de réalisation, le signal R est activé (état 1) entre les instants t83 et t84. Ainsi, la sortie OUT porte la valeur D(ADD) entre ces instants t83 et t84.
[0123] Un avantage du circuit mémoire décrit est qu’il est particulièrement simple à réaliser à partir d’une mémoire quelconque.
[0124] Un avantage du circuit mémoire décrit est qu’il ne requiert aucune entrée-sortie supplémentaire de commande ou autre par rapport aux entrées-sorties d’une cellule mémoire non volatile.
[0125] Un avantage des modes de réalisation décrits est qu’ils ne requièrent aucune modification des circuits de commande en lecture par rapport à des cellules mémoire usuelle. En effet, il suffit de remplacer une cellule mémoire dans l’application par le circuit mémoire décrit, les entrées-sorties étant identiques.
[0126] Le circuit mémoire décrit est compatible avec une organisation, par octets, mots, matrices, etc. à la manière d’une mémoire usuelle. Toutefois, dans la plupart des applications, le nombre de bits que l’on souhaite utiliser avec une lecture destructrice est peu important, par exemple de l’ordre du kilobit par rapport à une mémoire de plusieurs dizaines de mégaoctets qui équipe généralement les circuits électroniques à microprocesseur. Par conséquent, on pourra préférer réaliser la mémoire à lecture destructrice avec un nombre de circuits mémoire dédiés.
[0127] Divers modes de réalisation et variantes ont été décrits. L’homme de l’art comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d’autres variantes apparaîtront à l’homme de l’art. En particulier, bien que l’on ait décrit un mode de réalisation basé sur l’utilisation d’une cellule mémoire à programmation vers l’état 0 (état vierge 1), on pourra utiliser une cellule mémoire à état vierge 0 et programmable vers l’état 1 en adaptant les fonctions logiques.
[0128] Enfin, la mise en oeuvre pratique des modes de réalisation et variantes décrits est à la portée de l’homme du métier à partir des indications fonctionnelles données ci-dessus. En particulier, le choix du signal de synchronisation (périodique ou non) dépend de l’application.
Claims (1)
-
Revendications [Revendication 1] Circuit mémoire (7) comportant : - au moins une cellule mémoire non volatile réinscriptible (72) ; et - un circuit (76) d'effacement de la cellule mémoire à réception d'une requête en lecture. [Revendication 2] Circuit selon la revendication 1, comportant en outre au moins une bascule (74) dont une entrée de mise à un (S') est reliée à une sortie (OUT1) de la cellule. [Revendication 3] Circuit selon la revendication 2, comportant en outre une fonction logique (78) combinant au moins une sortie (Q1) de la bascule et la sortie (OUT') de la cellule (72). [Revendication 4] Circuit selon la revendication 3, dans lequel la fonction logique (78) prend également en compte un état (R) indicateur d'une commande en lecture. [Revendication 5] Circuit selon la revendication 3 ou 4, dans lequel la fonction logique (78) est de type ET, dont une entrée recevant la sortie de la cellule mémoire (72) est inversée. [Revendication 6] Circuit selon l’une quelconque des revendications 2 à 5, dans lequel la bascule (74) est de type RS. [Revendication 7] Circuit selon la revendication 1, comportant en outre une fonction logique (78') combinant la sortie (OUT1) de la cellule (72) à un état (R) indicateur d'une commande en lecture. [Revendication 8] Circuit selon la revendication 7, dans lequel la fonction logique (78') est de type ET. [Revendication 9] Circuit selon l'une quelconque des revendication 1 à 8, dans lequel une lecture de l’état stocké dans la cellule (72) est suivie d’un forçage d'une sortie (75) du circuit dans un état constant. [Revendication 10] Circuit selon l'une quelconque des revendications 1 à 9, dans lequel une lecture est précédée d’une programmation de la cellule mémoire (72) dans un état prédéterminé. [Revendication 11] Circuit selon l’une quelconque des revendications 1 à 10, dans lequel la cellule mémoire (72) est de type à état vierge à l’état haut. [Revendication 12] Circuit selon l’une quelconque des revendications 1 à 11, comportant en outre une entrée (79) d’application d’un signal de séquencement (CK) reliée à une entrée de séquencement de la cellule mémoire (72) et, de préférence, à une entrée de séquencement du circuit d'effacement (76). [Revendication 13] Circuit selon la revendication 12, dans son rattachement à l'une quelconque des revendications 2 à 6, dans lequel le signal de séquencement (CK) est en outre appliqué à une entrée de séquencement de la bascule (74).[Revendication 14] Mémoire non volatile à lecture par effacement, comportant au moins un circuit (7) selon l’une quelconque des revendications 1 à 13.[Revendication 15] Procédé de commande d'un circuit mémoire (7) comportant au moins une cellule mémoire non volatile réinscriptible (72), comportant lors d'une étape de lecture, l'étape de provoquer un effacement de la cellule mémoire avant de fournir son contenu.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1872645A FR3089681B1 (fr) | 2018-12-10 | 2018-12-10 | Mémoire à lecture unique |
US16/708,316 US11049567B2 (en) | 2018-12-10 | 2019-12-09 | Read-once memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1872645A FR3089681B1 (fr) | 2018-12-10 | 2018-12-10 | Mémoire à lecture unique |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3089681A1 true FR3089681A1 (fr) | 2020-06-12 |
FR3089681B1 FR3089681B1 (fr) | 2021-08-06 |
Family
ID=66641032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1872645A Active FR3089681B1 (fr) | 2018-12-10 | 2018-12-10 | Mémoire à lecture unique |
Country Status (2)
Country | Link |
---|---|
US (1) | US11049567B2 (fr) |
FR (1) | FR3089681B1 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11467954B2 (en) | 2020-10-03 | 2022-10-11 | Lenovo (Singapore) Pte. Ltd. | Passing data between programs using read-once memory |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7218567B1 (en) * | 2005-09-23 | 2007-05-15 | Xilinx, Inc. | Method and apparatus for the protection of sensitive data within an integrated circuit |
US20130070519A1 (en) * | 2011-09-20 | 2013-03-21 | Taiwan Semiconductor Manufacturing Co., Ltd. | Read architecture for mram |
JP2013122797A (ja) * | 2011-12-09 | 2013-06-20 | Toshiba Corp | 半導体記憶装置 |
US20140026232A1 (en) * | 2012-07-19 | 2014-01-23 | Samsung Electronics Co., Ltd. | Nonvolatile memory, reading method of nonvolatile memory, and memory system including nonvolatile memory |
US20140115243A1 (en) * | 2012-10-23 | 2014-04-24 | Industrial Technology Research Institute | Resistive random-access memory devices |
US20160246967A1 (en) * | 2014-09-30 | 2016-08-25 | Jonker Llc | Method of Operating Ephemeral Peripheral Device |
US20170344295A1 (en) * | 2016-05-31 | 2017-11-30 | Sandisk Technologies Llc | System and method for fast secure destruction or erase of data in a non-volatile memory |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3764986A (en) | 1972-08-09 | 1973-10-09 | Mi2 Columbus | Magnetic tape data processing system |
JP3553786B2 (ja) | 1998-03-13 | 2004-08-11 | 松下電器産業株式会社 | 半導体集積回路装置およびその製造方法 |
FR2823364B1 (fr) | 2001-04-05 | 2003-06-27 | St Microelectronics Sa | Dispositif et procede de protection partielle en lecture d'une memoire non volatile |
KR20110052941A (ko) | 2009-11-13 | 2011-05-19 | 삼성전자주식회사 | 어디티브 레이턴시를 가지는 반도체 장치 |
US8717831B2 (en) | 2012-04-30 | 2014-05-06 | Hewlett-Packard Development Company, L.P. | Memory circuit |
US9230622B2 (en) | 2012-11-30 | 2016-01-05 | Taiwan Semiconductor Manufacturing Company, Ltd. | Simultaneous two/dual port access on 6T SRAM |
EP3038110B1 (fr) | 2013-08-22 | 2018-10-10 | Renesas Electronics Corporation | Dispositif à semi-conducteurs qui masque les données de stockage de cellules doubles et les produit en sortie |
US9262256B2 (en) | 2013-12-24 | 2016-02-16 | Intel Corporation | Using dark bits to reduce physical unclonable function (PUF) error rate without storing dark bits location |
US10115467B2 (en) * | 2014-09-30 | 2018-10-30 | Jonker Llc | One time accessible (OTA) non-volatile memory |
US9881687B2 (en) * | 2015-12-18 | 2018-01-30 | Texas Instruments Incorporated | Self-latch sense timing in a one-time-programmable memory architecture |
KR102491358B1 (ko) * | 2016-11-22 | 2023-01-26 | 매그나칩 반도체 유한회사 | 센스 앰프 구동 장치 |
US10242747B1 (en) * | 2017-12-28 | 2019-03-26 | Micron Technology, Inc. | Charge loss failure mitigation |
-
2018
- 2018-12-10 FR FR1872645A patent/FR3089681B1/fr active Active
-
2019
- 2019-12-09 US US16/708,316 patent/US11049567B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7218567B1 (en) * | 2005-09-23 | 2007-05-15 | Xilinx, Inc. | Method and apparatus for the protection of sensitive data within an integrated circuit |
US20130070519A1 (en) * | 2011-09-20 | 2013-03-21 | Taiwan Semiconductor Manufacturing Co., Ltd. | Read architecture for mram |
JP2013122797A (ja) * | 2011-12-09 | 2013-06-20 | Toshiba Corp | 半導体記憶装置 |
US20140026232A1 (en) * | 2012-07-19 | 2014-01-23 | Samsung Electronics Co., Ltd. | Nonvolatile memory, reading method of nonvolatile memory, and memory system including nonvolatile memory |
US20140115243A1 (en) * | 2012-10-23 | 2014-04-24 | Industrial Technology Research Institute | Resistive random-access memory devices |
US20160246967A1 (en) * | 2014-09-30 | 2016-08-25 | Jonker Llc | Method of Operating Ephemeral Peripheral Device |
US20170344295A1 (en) * | 2016-05-31 | 2017-11-30 | Sandisk Technologies Llc | System and method for fast secure destruction or erase of data in a non-volatile memory |
Also Published As
Publication number | Publication date |
---|---|
US20200185037A1 (en) | 2020-06-11 |
US11049567B2 (en) | 2021-06-29 |
FR3089681B1 (fr) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR3020712A1 (fr) | Compteur bidirectionnel en memoire flash | |
FR2880963A1 (fr) | Points d'arrets logiciels destines a etre utilises avec des dispositifs a memoire | |
FR3072195B1 (fr) | Procede de gestion d'un retour de produit pour analyse et produit correspondant | |
FR2770327A1 (fr) | Memoire non volatile programmable et effacable electriquement comprenant une zone protegeable en lecture et/ou en ecriture et systeme electronique l'incorporant | |
FR3041806A1 (fr) | Dispositif de memoire non volatile, par exemple du type eeprom, ayant une capacite memoire importante, par exemple 16mbits | |
FR3089681A1 (fr) | Mémoire à lecture unique | |
EP1335287B1 (fr) | Procédé de mise à jour automatique d'un chemin d'accès au disque système d'un périmètre matériel de ressources informatiques, système pour exécuter ce procédé et mémoire utilisée dans ce système | |
FR3075444A1 (fr) | Systeme comportant une memoire adaptee a mettre en oeuvre des operations de calcul | |
FR2966946A1 (fr) | Procede de configuration d'une entite electronique | |
FR2643478A1 (fr) | Carte a circuit integre | |
FR3089680A1 (fr) | Mémoire à lecture unique | |
FR2493641A1 (fr) | Reseau logique integre a programmation electrique simplifiee | |
EP3080812B1 (fr) | Systeme d'ecriture de donnees dans une mémoire | |
FR2771839A1 (fr) | Memoire non volatile programmable et effacable electriquement | |
FR2971349A1 (fr) | Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile | |
FR3051574A1 (fr) | Gestion du stockage dans une memoire flash | |
FR2811096A1 (fr) | Microprocesseur securise comprenant un systeme d'attribution de droits a des librairies | |
WO2021073990A1 (fr) | Procede d'aide a l'identification de secteurs vierges d'une memoire non-volatile d'un microcontroleur | |
EP3252987B1 (fr) | Exécution sécurisée d'un algorithme | |
EP0081873B1 (fr) | Système de traitement de données permettant d'utiliser la même mémoire effaçable et programmable, pour les instructions et les données tant en lecture qu'en écriture | |
FR2719939A1 (fr) | Mémoire non volatile modifiable électriquement à interface de commande. | |
EP3716086A1 (fr) | Accès direct en mémoire | |
EP3522020A1 (fr) | Gestion d'une mémoire non volatile | |
FR2764392A1 (fr) | Procede d'identification d'un circuit integre et dispositif associe | |
EP4411735A1 (fr) | Procédé d'émulation d'une mémoire eeprom |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20200612 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |