FR2752992A1 - Dispositif de protection de donnees memorisees - Google Patents

Dispositif de protection de donnees memorisees Download PDF

Info

Publication number
FR2752992A1
FR2752992A1 FR9610588A FR9610588A FR2752992A1 FR 2752992 A1 FR2752992 A1 FR 2752992A1 FR 9610588 A FR9610588 A FR 9610588A FR 9610588 A FR9610588 A FR 9610588A FR 2752992 A1 FR2752992 A1 FR 2752992A1
Authority
FR
France
Prior art keywords
signal
memory
state
programming
supply voltage
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
Application number
FR9610588A
Other languages
English (en)
Other versions
FR2752992B1 (fr
Inventor
Sebastien Zink
Jean Francois Leon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
SGS Thomson Microelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SGS Thomson Microelectronics SA filed Critical SGS Thomson Microelectronics SA
Priority to FR9610588A priority Critical patent/FR2752992B1/fr
Priority to US08/916,054 priority patent/US5787040A/en
Publication of FR2752992A1 publication Critical patent/FR2752992A1/fr
Application granted granted Critical
Publication of FR2752992B1 publication Critical patent/FR2752992B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

L'invention concerne un dispositif (10) de protection de données mémorisées dans une mémoire comprenant un dispositif (VCC-LOW-DETECT) de détection de chute de la tension d'alimentation pour forcer un signal de validation (/WRITE-INHIBIT) dans un état actif quand une tension d'alimentation est en dessous d'un seuil et une bascule (12) dont une sortie contrôle l'état du signal de validation (/WRITE-INHIBIT), concurremment au dispositif (VCC-LOW-DETECT) de détection de chute de la tension d'alimentation, de telle sorte que toute programmation soit interdite quand la bascule mémorise un premier état, et le dispositif de protection étant agencé de telle sorte que cet état de la bascule ne soit modifié qu'après que le dispositif de détection de chute de la tension d'alimentation ait détecté que la tension d'alimentation est en dessous du seuil.

Description

Dispositif de protection de données mémorisées.
L'invention concerne le domaine des mémoires non volatiles. Plus particulièrement elle concerne un dispositif de protection de données mémorisées contre des programmations parasites.
Le paramètre le plus important des mémoires non volatiles est la garantie apportée à l'intégrité des données mémorisées dans celles-ci. Aujourd'hui, dans la plupart des mémoires, cette garantie est apportée par deux types de dispositifs : les circuits de détection de chute de tension d'alimentation (appelés communément "Vcc
Low") et les dispositifs de protection logique des données en écriture (appelés communément "Software Data Protection").
Par mémoire, on entend aussi bien une mémoire autonome qu'une mémoire utilisée dans un circuit comprenant d'autres éléments.
Les circuits de type "Vcc Low" sont des circuits de détection qui interdisent la programmation (c'est-à-dire la modification des données mémorisées, encore appelée écriture) si la tension d'alimentation de la mémoire (ou du circuit comprenant la mémoire) est en dessous d'une certaine valeur. Il s'agit d'une protection de type analogique. Très souvent les fonctions de détection de chute de tension d'alimentation et d'initialisation du circuit lors de la montée de la tension d'alimentation (appelée communément "Power On Reset") ne sont pas distinguées.
Les dispositifs de type "Software Data Protection" se présentent généralement sous la forme d'un registre interne de commande, programmable et non volatil, dont le contenu est représentatif d'une autorisation ou d'une interdiction de programmer. Il est programmé par le circuit qui pilote la mémoire (par exemple un microprocesseur ou un microcontrôleur, si la mémoire est un circuit indépendant). Il s'agit ici d'une protection de type logique.
L'ensemble des deux dispositifs peut être connu sous l'appellation "Write
Inhibit".
Ces deux dispositifs présentent chacun des inconvénients.
Supposons que la tension d'alimentation d'une mémoire en fonctionnement, dans laquelle l'écriture est permise, commence à chuter. Au dessus d'une certaine valeur, le dispositif de commande (par exemple un microcontrôleur) qui pilote la mémoire fonctionne correctement. Lorsque la tension atteint un premier seuil VA, le microcontrôleur détecte que l'alimentation a chuté. Suivant les applications et suivant sa durée, cette phase est utilisée par exemple pour effectuer des sauvegardes d'urgence de données dans la mémoire, ou pour éventuellement programmer le registre du dispositif de protection logique des données de façon à protéger la mémoire contre les écritures parasites. On peut également configurer la mémoire de sorte qu'une programmation parasite soit plus difficile, par exemple en configurant la mémoire en mode de lecture.
Lorsque la tension atteint un seuil VB inférieur, en valeur absolue, à VA, le dispositif de commande ne fonctionne plus correctement et adopte alors un comportement complètement imprévisible. En particulier, il peut très bien envoyer des ordres d'écriture à la mémoire. Dans ce cas, le dispositif de protection logique, s'il a été programmé pour interdire toute programmation, est une protection non totalement sûre. Il existe nécessairement quelque part dans la mémoire du microcontrôleur un programme de configuration du registre du dispositif. Il se peut que le microcontrôleur accède à ce programme et modifie ainsi le contenu du registre, autorisant l'écriture. La probabilité que ce programme soit exécuté est néanmoins beaucoup plus faible que la probabilité d'une écriture parasite dans la mesure où, de manière standard, la programmation du registre nécessite au moins trois cycles d'horloge cohérents (alors qu'une écriture parasite peut se déclencher sur un seul cycle).
Lorsque la tension atteint un troisième seuil VC inférieur, en valeur absolue, à
VB, le circuit de détection de chute de tension d'alimentation embarqué dans la mémoire détecte la chute de tension et interdit alors automatiquement tout ordre d'écriture dans la mémoire.
La période critique en terme d'intégrité des données de la mémoire se situe donc entre les seuils VB et VC, c'est-à-dire entre le moment où la chute de la tension d'alimentation induit un comportement aléatoire du dispositif de commande et le moment où cette chute induit une interdiction automatique de toute programmation.
Une solution consisterait à choisir VC > VB. Cependant, il est difficile pratiquement de réaliser des circuits de détection ayant un seuil VC stable en fonction de la température et des paramètres de fabrication. Typiquement, les dispositifs implantés à ce jour dans les mémoires présentent une dispersion de l'ordre de plus ou moins 0.2 volts suivant les paramètres de fabrication et de plus ou moins 0.3 volts suivant la température. On a donc une incertitude de plus ou moins 0.5 volts sur la valeur de VC.
D'autre part, le seuil VB est généralement situé très près de la valeur minimale de tension d'alimentation à partir de laquelle les fabricants garantissent un fonctionnement normal des circuits. Si on a VC > VB, on risque donc de bloquer la mémoire alors qu'elle devrait fonctionner normalement.
A titre d'exemple, pour un circuit alimenté par une tension d'alimentation de 5 volts, on garantit typiquement un bon fonctionnement entre 4.5 et 5.5 volts. Le seuil
VB sera typiquement placé à 4.3 volts et on aura VC égal à 3.8 volts +/- 0.5 volts.
Un but de l'invention est proposer un dispositif de protection de données mémorisées qui soit plus sûr.
Pour ce faire, on propose une protection mixte par le biais d'une bascule qui soit activable quand on le souhaite mais qui ne soit désactivable que si un dispositif de détection analogique a pris le relais. Ainsi, si la protection est mise en oeuvre avant que la tension d'alimentation n'ait atteint un niveau tel que les circuits pilotant la mémoire aient un comportement aléatoire, un tel comportement aléatoire sera, s'il se produit, sans effet sur les données quels que soient les signaux produits par les circuits de pilotage.
Selon l'invention, on inhibe la programmation jusqu'à ce que la mémoire ait détecté une chute de la tension d'alimentation. Tant que le seuil VC n'a pas été détecté, la mémoire reste donc protégée. Dès que le seuil VC est atteint, le dispositif de détection de type VCC Low prend le relais.
Ainsi l'invention propose un dispositif de protection de données mémorisées dans une mémoire, comprenant des moyens de protection pour contrôler un signal de validation de programmation de la mémoire, la programmation étant autorisée quand le signal de validation est dans un premier état et interdite quand ce signal est dans un deuxième état, les moyens de protection comprenant un dispositif de détection de chute d'une tension d'alimentation pour forcer le signal de validation dans le deuxième état quand la tension d'alimentation est en dessous d'un seuil. Il comprend en outre une bascule dont une sortie contrôle l'état du signal de validation, concurremment au dispositif de détection de chute de la tension d'alimentation, de telle sorte que toute programmation soit interdite quand la bascule mémorise un premier état, et le dispositif de protection étant agencé de telle sorte que cet état de la bascule ne soit modifié qu'après que le dispositif de détection de chute de la tension d'alimentation ait détecté que la tension d'alimentation est en dessous du seuil.
D'autres avantages et particularités apparaîtront à la lecture de la description qui suit d'un exemple de réalisation de l'invention, à lire conjointement aux dessins annexés dans lesquels la figure 1 représente un dispositif de protection selon l'état de la technique, et la figure 2 représente un dispositif de protection selon l'invention.
La figure 1 représente un dispositif 1 de protection en programmation de données mémorisées dans une mémoire, selon l'état de la technique. Ce dispositif pourra être mis en oeuvre dans une mémoire non volatile ou un circuit comprenant une telle mémoire.
Le dispositif 1 comprend un circuit logique de contrôle LOGIC. Ce circuit, non décrit, sera par exemple le circuit de décodage des signaux de commande reçus de l'extérieur si le dispositif 1 est intégré dans une mémoire autonome, ou bien encore le circuit de pilotage de la mémoire si le dispositif 1 est utilisé dans un circuit comprenant une mémoire. Le circuit LOGIC produit les signaux logiques de commande utilisés dans le dispositif 1 pour gérer la protection des données.
Classiquement, l'autorisation ou l'interdiction de programmer est réalisée en positionnant un signal logique /WRITE~INHIBIT de validation de programmation (la notation /X représentant le signal complémentaire de X) respectivement dans un premier état logique, dit inactif ou un deuxième état logique, dit actif. A titre d'exemple on supposera que l'état inactif est l'état haut et que l'état actif est l'état bas.
Quand un ordre de programmation est envoyé au circuit 2, celui-ci positionne un signal logique START~PROG~REQUEST dans un état logique donné dit actif. On supposera ici que celui-ci est l'état haut, l'état bas étant dit inactif. Ce signal est combiné avec le signal /WRITE~INHIBIT pour produire un signal logique START~PROG de commande de programmation de telle sorte que l'on programme des données quand il est dans un état donné dit actif (on supposera ici que c'est l'état haut) et que l'on ne programme pas quand il est dans un état dit inactif (dans l'exemple on supposera que c'est l'état bas). Classiquement, la protection se traduit par le fait que le signal START~PROG reste inactif, quel que soit l'état du signal START PROG REQUEST, si le signal /WRITE~INHIBIT est actif. Si le signal /WRITE~INHIBIT est inactif alors l'état du signal START~PROG est identique à l'état du signal START~PROG~REQUEST.
Ainsi, dans l'exemple illustré sur la figure 1, le signal START~PROG est produit par une porte logique 3 de type ET recevant les signaux /WRITE~INHIBIT et START PROG REQUEST de telle sorte que START~PROG = 1 si START PROG REQUEST = /WRITE~INHIBIT =1.
Le dispositif 1 comprend un registre non volatil SDPREG de protection logique. Il comprend également un circuit de détection de chute de tension d'alimentation VCC LOW DETECT recevant en entrée des potentiels d'alimentation haute VCC et de masse GND alimentant le circuit à protéger, et produisant un signal logique VCC~LOW tel que VCC~LOW est dans un premier état logique (dit inactif) si
VCC est supérieur à un seuil Vseuil donné et dans un second état (dit actif) si il est inférieur.
On a par exemple VCC~LOW = 1 si VCC < Vseuil et VCC~LOW = 0 dans le cas contraire.
Soit SDPB le contenu du registre SDPREG. On supposera que si SDPB = 1, alors on interdit toute programmation.
Une porte logique 5 de type NON OU reçoit les signaux VCC~LOW et SDPB et produit à partir de ces signaux le signal /WRITE~INHIBIT.
Ainsi, si on protège de manière logique la mémoire contre la programmation et/ou si VCC est inférieur à Vseuil alors les commandes de programmation de la mémoire sont inhibées et n'ont pas d'effet.
La figure 2 illustre un dispositif 10 de protection semblable à celui de la figure 1 et mettant en outre en oeuvre l'invention.
Il comprend, outre les éléments de la figure 1 (portant les mêmes références que sur la figure 1), une bascule RS 12 de type NON OU produisant un signal logique
PROG~OFF et la porte 5 comprend une troisième entrée pour recevoir le signal
PROG~OFF.
L'entrée de réinitialisation R de la bascule 12 reçoit le signal VCC~LOW et son entrée d'initialisation S reçoit un signal SET~PROG~OFF fourni par exemple par le circuit 2 de contrôle. Quand un front montant apparaît dans le signal
SET~PROG~OFF, le signal PROG~OFF passe à l'état haut, ce qui impose /WRITE~INHIBIT = 0. Toute programmation est alors interdite.
Si ce front est fourni après qu'une chute de tension ait été détecté, seul le passage de VCC en dessous du seuil Vseuil pourra inactiver le signal PROG~OFF. La protection contre la programmation est alors assurée par le circuit
VCC~LOW~DETECT.

Claims (3)

REVENDICATIONS
1 - Dispositif (l0) de protection de données mémorisées dans une mémoire, comprenant des moyens de protection (VCC~LOW~DETECT, SDPREG) pour contrôler un signal (/WRITE~INHIBIT) de validation de programmation de la mémoire, la programmation étant autorisée quand le signal de validation est dans un premier état et interdite quand ce signal est dans un deuxième état, les moyens de protection comprenant un dispositif (VCCLOWPETECT) de détection de chute d'une tension d'alimentation pour forcer le signal de validation dans le deuxième état quand la tension d'alimentation est en dessous d'un seuil,
caractérisé en ce qu'il comprend en outre une bascule (12) dont une sortie contrôle l'état du signal de validation (/WRITE INHIBIT), concurremment au dispositif (VCC~LOW~DETECT) de détection de chute de la tension d'alimentation, de telle sorte que toute programmation soit interdite quand la bascule mémorise un premier état, et le dispositif de protection étant agencé de telle sorte que cet état de la bascule ne soit modifié qu'après que le dispositif de détection de chute de la tension d'alimentation ait détecté que la tension d'alimentation est en dessous du seuil.
2 - Dispositif selon la revendication 1, caractérisé en ce que la bascule est une bascule de type RS dont l'entrée de réinitialisation reçoit un signal du dispositif de détection de chute de la tension d'alimentation, de telle sorte que l'état du signal de validation est contrôlé par ce seul dispositif de détection quand il a détecté le premier seuil.
3 - Utilisation du dispositif selon l'une des revendications précédentes dans une mémoire ou un circuit comprenant une mémoire pour empêcher la programmation des données mémorisées dans la mémoire.
FR9610588A 1996-08-27 1996-08-27 Dispositif de protection de donnees memorisees Expired - Fee Related FR2752992B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR9610588A FR2752992B1 (fr) 1996-08-27 1996-08-27 Dispositif de protection de donnees memorisees
US08/916,054 US5787040A (en) 1996-08-27 1997-08-21 Device for the protection of stored data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9610588A FR2752992B1 (fr) 1996-08-27 1996-08-27 Dispositif de protection de donnees memorisees

Publications (2)

Publication Number Publication Date
FR2752992A1 true FR2752992A1 (fr) 1998-03-06
FR2752992B1 FR2752992B1 (fr) 1998-10-30

Family

ID=9495298

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9610588A Expired - Fee Related FR2752992B1 (fr) 1996-08-27 1996-08-27 Dispositif de protection de donnees memorisees

Country Status (2)

Country Link
US (1) US5787040A (fr)
FR (1) FR2752992B1 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19616053A1 (de) * 1996-04-23 1997-10-30 Bosch Gmbh Robert Verfahren zum Betreiben eines Steuergerätes mit einer programmierbaren Speichereinrichtung
FR2752993B1 (fr) * 1996-08-27 1998-12-04 Sgs Thomson Microelectronics Dispositif de protection de donnees memorisees utilisant un circuit de temporisation
WO1998022879A1 (fr) * 1996-11-15 1998-05-28 Philips Electronics N.V. Procede de protection contre les intrusions dans des memoires eeprom dans un dispositif de communication mobile comportant un processeur, et dispositif comportant ce mecanisme de protection
US6711701B1 (en) * 2000-08-25 2004-03-23 Micron Technology, Inc. Write and erase protection in a synchronous memory
US8171192B2 (en) * 2005-09-20 2012-05-01 Qualcomm Incorporated Hardware-assisted device configuration detection
US10305470B1 (en) * 2018-07-09 2019-05-28 Winbond Electronics Corp. Circuit for recovering from power loss and electronic device using the same circuit and method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4485456A (en) * 1981-04-21 1984-11-27 Tokyo Shibaura Denki Kabushiki Kaisha Data processor with R/W memory write inhibit signal
US4580246A (en) * 1983-11-02 1986-04-01 Motorola, Inc. Write protection circuit and method for a control register
EP0250242A2 (fr) * 1986-06-20 1987-12-23 Fujitsu Limited Dispositif de mémoire à semi-conducteurs comprenant un circuit de prévention d'écriture erronée
US5315549A (en) * 1991-06-11 1994-05-24 Dallas Semiconductor Corporation Memory controller for nonvolatile RAM operation, systems and methods
US5430882A (en) * 1992-07-14 1995-07-04 Halliburton Company Apparatus and method for protecting data stored in memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557576A (en) * 1995-07-28 1996-09-17 Micron Quantum Devices, Inc. Method and apparatus for monitoring illegal conditions in a nonvolatile memory circuit
US5668760A (en) * 1996-04-23 1997-09-16 Intel Corporation Nonvolatile memory with a write protection circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4485456A (en) * 1981-04-21 1984-11-27 Tokyo Shibaura Denki Kabushiki Kaisha Data processor with R/W memory write inhibit signal
US4580246A (en) * 1983-11-02 1986-04-01 Motorola, Inc. Write protection circuit and method for a control register
EP0250242A2 (fr) * 1986-06-20 1987-12-23 Fujitsu Limited Dispositif de mémoire à semi-conducteurs comprenant un circuit de prévention d'écriture erronée
US5315549A (en) * 1991-06-11 1994-05-24 Dallas Semiconductor Corporation Memory controller for nonvolatile RAM operation, systems and methods
US5430882A (en) * 1992-07-14 1995-07-04 Halliburton Company Apparatus and method for protecting data stored in memory

Also Published As

Publication number Publication date
US5787040A (en) 1998-07-28
FR2752992B1 (fr) 1998-10-30

Similar Documents

Publication Publication Date Title
EP0604270B1 (fr) Circuit de démarrage et de sécurité contre les coupures d&#39;alimentation pour circuit intégré
EP0377368B1 (fr) Dispositif de traitement de données comportant une mémoire non volatile électriquement effaçable et reprogrammable
EP0252812B1 (fr) Dispositif de sécurité interdisant le fonctionnement d&#39;un ensemble électronique après une première coupure de son alimentation électrique
FR2675602A1 (fr) Procede et dispositif de protection d&#39;un systeme informatique.
EP0669576A1 (fr) Circuit de redondance de mémoire
US20040193817A1 (en) Circuit for prevention of unintentional writing to a memory, and semiconductor device equipped with said circuit
FR2894373A1 (fr) Cellule anti-fusible autonome
KR20080059321A (ko) 반도체 장치 및 이를 포함하는 스마트 카드, 공격 방어방법
FR3072195A1 (fr) Procede de gestion d&#39;un retour de produit pour analyse et produit correspondant
FR2752992A1 (fr) Dispositif de protection de donnees memorisees
CA1282875C (fr) Dispositif de detection du fonctionnement du systeme de lecture d&#39;une cellule-memoire eprom ou eeprom
FR2475779A1 (fr) Circuit et procede d&#39;alimentation de secours pour polariser les lignes binaires d&#39;une memoire statique a semi-conducteur
FR2819070A1 (fr) Procede et dispositif de protection conte le piratage de circuits integres
EP0735489A1 (fr) Procédé de protection de zones de mémoires non volatiles
WO2009059763A1 (fr) Procede de deverrouillage d&#39;un calculateur de controle moteur
FR2752993A1 (fr) Dispositif de protection de donnees memorisees utilisant un circuit de temporisation
EP1374249B1 (fr) Dispositif et procede de protection partielle en lecture d&#39;une memoire non volatile
US5941987A (en) Reference cell for integrated circuit security
FR2766594A1 (fr) Dispositif de re-initialisation a commande externe pour une memoire non volatile en circuit integre
US5761609A (en) Limited use circuit
EP0437400B1 (fr) Procédé et dispositif pour associer à la réception d&#39;impulsions de réinitialisation par un microprocesseur l&#39;accès à des sous-programmes différents
FR2786911A1 (fr) Memoire eeprom securisee comportant des moyens de detection d&#39;effacement par uv
EP4145704B1 (fr) Démarrage sécurisé d&#39;une unité de traitement
FR2811164A1 (fr) Circuit integre avec dispositif de protection
FR2745415A1 (fr) Circuit d&#39;inhibition de fonctionnement

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20070430