FR3047348A1 - - Google Patents

Download PDF

Info

Publication number
FR3047348A1
FR3047348A1 FR1650856A FR1650856A FR3047348A1 FR 3047348 A1 FR3047348 A1 FR 3047348A1 FR 1650856 A FR1650856 A FR 1650856A FR 1650856 A FR1650856 A FR 1650856A FR 3047348 A1 FR3047348 A1 FR 3047348A1
Authority
FR
France
Prior art keywords
test
memory
memory array
circuit
overwriting
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
FR1650856A
Other languages
English (en)
Other versions
FR3047348B1 (fr
Inventor
Mickael Broutin
Benoit Lelievre
Nicolas Anquet
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 Alps SAS
Original Assignee
STMicroelectronics Alps SAS
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 STMicroelectronics Alps SAS filed Critical STMicroelectronics Alps SAS
Priority to FR1650856A priority Critical patent/FR3047348B1/fr
Priority to US15/253,002 priority patent/US10331530B2/en
Publication of FR3047348A1 publication Critical patent/FR3047348A1/fr
Application granted granted Critical
Publication of FR3047348B1 publication Critical patent/FR3047348B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • G11C2029/3602Pattern generator

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

L'invention concerne un procédé comprenant, en réponse à l'activation d'au moins un signal de commande (BIST CMD) requérant qu'un circuit de test (204) d'une matrice mémoire (202) déclenche un mode de test de la mémoire permettant la lecture d'au moins une partie de la matrice mémoire, le lancement par un circuit de commande de test (208) d'une séquence de sur-écriture pour sur-écrire les données stockées dans la matrice mémoire (202) ; et l'activation, grâce au circuit de commande de test (208), du mode de test de la mémoire une fois que la séquence de sur-écriture est achevée.

Description

PROTECTION DE DONNEES POUR UNE MEMOIRE Ά AUTOTEST INTEGRE
Domaine
La présente demande concerne un circuit et un procédé de protection de données stockées dans une mémoire, et plus particulièrement un circuit et un procédé de protection de données pour des mémoires comprenant des circuits d'autotest intégrés (en anglais "Built-in self-test", ou BIST).
Exposé de 1'art antérieur
Les mémoires vives telles que les SRAM (mémoires vives statiques) et les DRAM (mémoires vives dynamiques) comprennent généralement des circuits de test, tels que des circuits BIST, permettant le test des cellules mémoire formant la matrice mémoire. Par exemple, les séquences de test obtenues grâce à des circuits BIST peuvent inclure des séquences dans lesquelles des données de test sont écrites puis lues à partir de certaines parties de la matrice mémoire.
Dans certaines applications, les mémoires peuvent être utilisées pour stocker des données sensibles, qui ne doivent pas être accessibles à des dispositifs non autorisés. Les données sensibles peuvent par exemple inclure des clés de chiffrement, des mots de passe ou des données financières ou médicales. Le circuit BIST d'une mémoire peut constituer un point d'entrée permettant à un attaquant d'accéder aux données sensibles. En effet, le circuit BIST va généralement autoriser l'exécution de séquences de test, et parmi les séquences de test disponibles, certaines pourraient autoriser la lecture du contenu de la mémoire, comme par exemple un vidage de la mémoire. Par conséquent, pour protéger des données sensibles, le circuit BIST peut être partiellement ou entièrement désactivé après avoir achevé un test à la fin du processus de fabrication, de telle façon que le contenu de la mémoire ne puisse plus être lu en utilisant une séquence de test BIST. Les circuits BIST peuvent par exemple être désactivés en utilisant un fusible programmable à usage unique.
Cependant, pour certaines mémoires, il peut être souhaitable d'autoriser un test pendant leur durée de vie. Si pendant sa durée de vie la mémoire commence par exemple à dysfonctionner, un test peut être utilisé pour identifier la source du dysfonctionnement. Un tel diagnostic peut permettre à la mémoire d'être réparée, ou à la structure du circuit d'être améliorée pour des produits futurs.
Il y a ainsi un besoin dans la technique pour une solution permettant aux fonctions de test d'être utilisées sur une mémoire sans permettre l'obtention de données sensibles par des tiers non autorisés. Résumé C'est un objet de modes de réalisation de la présente demande de traiter au moins partiellement un ou plusieurs besoins de l'art antérieur.
Selon un aspect, on prévoit un procédé comprenant, en réponse à l'activation d'au moins un signal de commande requérant qu'un circuit de test d'une matrice mémoire déclenche un mode de test de la mémoire permettant la lecture d'au moins une partie de la matrice mémoire, le lancement par un circuit de commande de test d'une séquence de sur-écriture pour sur-écrire les données stockées dans la matrice mémoire ; et 1 ' activation, grâce au circuit de commande de test, du mode de test de la mémoire une fois que la séquence de sur-écriture est achevée.
Selon un mode de réalisation, le mode de test de la mémoire est un mode point par point permettant un vidage des données stockées dans la matrice mémoire.
Selon un mode de réalisation, la séquence de surécriture est effectuée par le circuit de test.
Selon un mode de réalisation, le procédé comprend en outre la vérification, par le circuit de commande de test, que la séquence de sur-écriture a été achevée en se basant sur un signal d'état généré par le circuit de test.
Selon un mode de réalisation, la matrice mémoire est une matrice mémoire programmable.
Selon un mode de réalisation, le procédé comprend en outre la détermination, grâce au circuit de commande de test en réponse à l'activation d'au moins un autre signal de commande requérant qu'un autre mode de test de mémoire soit déclenché, de si la séquence de sur-écriture a déjà été appliquée ou non à la matrice mémoire ; et s1 il est déterminé que la séquence de surécriture a déjà été appliquée, l’activation de l'autre mode de test de mémoire sans appliquer une nouvelle fois la séquence de sur-écriture à la matrice mémoire.
Selon un autre aspect, on prévoit un circuit de commande de test adapté à : lancer une séquence de sur-écriture pour surécrire des données stockées dans une matrice mémoire en réponse à l'activation d'au moins un signal de commande demandant qu'un mode de test de mémoire soit déclenché par un circuit de test de la matrice mémoire, le mode de test de la mémoire permettant la lecture d'au moins une partie de la matrice mémoire ; et activer le mode de test de la mémoire une fois que la séquence de surécriture est achevée.
Selon un mode de réalisation, le circuit de commande de test.est en outre adapté à déterminer, en réponse à l'activation d'au moins un autre signal de commande demandant qu' un mode de test supplémentaire soit déclenché, si la séquence de sur-écriture a déjà été appliquée à la matrice mémoire ; et, s'il est déterminé que la séquence de sur-écriture a déjà été appliquée, activer un autre mode de test de mémoire sans appliquer une nouvelle fois la séquence de sur-écriture à la matrice mémoire.
Selon un mode de réalisation, le mode de test de mémoire est un mode point par point permettant le vidage de données stockées dans la matrice mémoire.
Selon un autre aspect, on prévoit une mémoire sécurisée comprenant : le circuit de commande de test ci-dessus et le circuit de test adapté à mettre en œuvre la séquence de surécriture.
Selon un mode de réalisation, le circuit de commande de test est en outre configuré pour vérifier que la séquence de surécriture a été achevée en se basant sur un signal d'état généré par le circuit de test.
Selon un mode de réalisation, la matrice mémoire est une matrice mémoire programmable.
Brève description des dessins
Ces caractéristiques et avantages ainsi que d'autres apparaîtront à la lecture de la description détaillée suivante de modes de réalisation, donnés à titre illustratif et non limitatif, en référence aux dessins joints, dans lesquels : la figure 1 illustre schématiquement un circuit mémoire muni d'un circuit de test selon un mode de réalisation ; la figure 2 illustre schématiquement ion circuit mémoire muni d'un circuit de test selon un mode de réalisation de la présente demande ; la figure 3 est un organigramme illustrant les étapes d'un procédé de test d'un circuit mémoire selon un mode de réalisation de la présente demande ; et la figure 4 illustre schématiquement un système comprenant des dispositifs mémoire sécurisés selon un mode de réalisation.
Description détaillée
Le terme "couple" ou "couplé" est utilisé ici pour désigner une connexion électrique entre deux composants qui peut être une connexion directe, ou une connexion via un ou plusieurs composants intermédiaires tels que des condensateurs, des amplificateurs tampons, etc.
La figure 1 illustre schématiquement un circuit mémoire 100 incluant un circuit de test muni de circuits d'autotest intégrés. Comme cela est illustré, le circuit mémoire 100 comprend une ou plusieurs matrices mémoire (MEMORY ARRAY(S)) 102, qui sont par exemple des SRAM (mémoires vives statiques ), des DRAM (mémoires vives dynamiques), des mémoires FLASH, des EEPROM (mémoires mortes effaçables et programmables électriquement), des Flash EEPROM, ou d'autres types de matrices mémoire programmables embarquées ou non.
En plus de ses connexions normales d'entrée et de sortie, la matrice mémoire 102 est par exemple couplée à un circuit de test (BIST) 104 via une interface de test (TEST INTERFACE) 106, qui comprend par exemple des lignes de données et d'adresses. Bien que le circuit de test 104 soit illustré séparément de la matrice mémoire 102, il sera clair pour l'homme de l'art qu'en pratique le circuit de test 104 peut être intégré à la matrice mémoire 102. Le circuit de test 104 est par exemple commandé par un circuit de commande ' de test (BIST CONTROLLER) 108, qui sélectionne par exemple l'un d'une pluralité de modes de test disponibles pour exécution par le circuit de test 104 et qui fournit dans certains cas des données de test. Le circuit de commande de test 108 reçoit par exemple un signal de commande CMD sur une ou plusieurs lignes d'entrée 110 indiquant qu'un mode de test doit être déclenché. Dans certains modes de test, des données de test de sortie (BIST DATA) sont fournies par des lignes de sortie 112 de la matrice mémoire 102.
Les modes de test permettant aux données d'être lues ou "vidées" de la matrice mémoire 102 posent problème quand les matrices mémoire stockent des données sensibles, puisqu'ils peuvent être utilisés par des attaquants pour accéder de façon non autorisée aux données sensibles. Il existe les solutions possibles suivantes pour éviter de telles brèches de sécurité, dont chacune présente des inconvénients correspondants : - le circuit de test 104 pourrait être configuré pour n'autoriser que des modes de test qui ne permettent pas des opérations de lecture ou de vidage de la mémoire. Cependant, une telle stratégie ralentirait ou rendrait impossible 11 exécution d'analyses de fiabilité dans le cas de problèmes de conception. Par ailleurs, revenir à des analyses et des diagnostics pendant la durée de vie de la mémoire serait lent ou impossible ; - le circuit de test 104 pourrait être muni d'un ou plusieurs fusibles programmables à usage unique 114, permettant que des modes de test autorisent la désactivation permanente des opérations de lecture et de vidage de la mémoire à un moment spécifique après la fabrication, par exemple une fois que le test est achevé et avant que la mémoire quitte la zone de fabrication. Cependant, cette solution ralentirait ou rendrait impossible de revenir à des analyses et des diagnostics pendant la durée de vie de la mémoire ; - le circuit de test 104 pourrait inclure des circuits de chiffrement permettant d'activer et de désactiver les modes de test qui permettent des opérations de lecture et de vidage de la mémoire. Cependant, de tels circuits de chiffrement, qui nécessitent l'utilisation d'une clé secrète, pourraient ajouter une complexité et un coût supplémentaire. Par exemple, un équipement de test externe ATE devrait fournir la clé secrète au dispositif sous test (DUT).
La figure 2 illustre schématiquement un circuit mémoire selon un mode de réalisation de la présente demande.
Comme cela est illustré, le circuit mémoire 200 comprend par exemple une ou plusieurs matrices mémoire (MEMORY ARRAY(S)) 202, qui sont par exemple des SRAM, des DRAM, des mémoires FLASH, des EEPROM (mémoires mortes effaçables et programmables électriquement), des Flash EEPROM, ou d'autres types de matrices mémoire programmables embarquées ou non. En vue du stockage de données sensibles dans ces matrices mémoire 202, il existe par exemple des circuits de sécurité, munis d'une forme de protection contre les falsifications. Les matrices de données sont par exemple sécurisées en brouillant les données qu' elles contiennent en utilisant une clé secrète. Par ailleurs, dans certains modes de réalisation les matrices mémoire peuvent intégrer un détecteur de champ magnétique capable de détecter une attaque externe telle qu'une attaque laser ou une attaque EMP (impulsion électromagnétique) et, en réponse à la détection d'une telle attaque, de corrompre les données stockées par les matrices mémoire.
Les matrices mémoire 202 sont couplées à un circuit de test (BIST) 204 via une interface de test 206, qui comprend par exemple des lignes de données et d'adresses. Bien que le circuit de test 204 soit illustré séparément des matrices mémoire 202, il sera clair pour l'homme de l'art qu'en pratique le circuit de test 204 peut être intégré avec les matrices mémoire 202. Le circuit de test 204 est par exemple commandé par un circuit de commande de test (BIST CONTROLLER) 208, qui sélectionne par exemple l'un d'une pluralité de modes de test disponibles pour exécution par le circuit de test 204 et qui fournit dans certains cas des données de test au circuit de test 204. L'un des modes de test permis par le circuit de test 204 est par exemple un mode point par point (en anglais "bitmap mode"). Un mode point par point implique de fournir en sortie tout ou partie des données stockées dans les matrices mémoire 202. Les matrices mémoire 202 comprennent par exemple des lignes de sortie 212 fournissant les données (BIST DATA) lues à partir des matrices mémoire 202 pendant un tel mode de test.
Le circuit de commande de test 208 est par exemple capable d'effectuer une opération de sur-écriture pour sur-écrire toût ou partie des données stockées dans les matrices mémoire 202 avant d'autoriser le circuit de test 204 à entrer dans certains modes de test vulnérables, tel que le mode point par point. Pour cela, le circuit de commande de test 208 comprend par exemple un automate à états finis (FSM) 216, qui est adapté à déclencher l'écriture de valeurs de remplissage dans les matrices mémoire 202. Dans certains modes de réalisation, le FSM 216 génère les valeurs de remplissage et les fournit par exemple sur des lignes de sortie 218 au circuit de test 204 via un multiplexeur 220. Le circuit de test 204 lance ensuite une séguence d'écriture pour écrire les valeurs de remplissage dans les matrices mémoire 202. A titre de variante, le circuit de test 204 peut stocker ou être capable de générer des valeurs de remplissage, et le FSM 216 génère un ou plusieurs signaux de commande sur les lignes de sortie 218 pour le circuit de test 204 pour lancer la séquence de sur-écriture pour que le circuit de test 204 sur-écrive les données dans les matrices mémoire 202.
Dans certains modes de réalisation, les valeurs de remplissage produisent l'écriture d'un motif en damier sur les matrices mémoire 202. Cependant, dans d'autres modes de réalisation, les matrices mémoire 202 peuvent être remplies de données différentes.
Le multiplexeur 220 reçoit aussi par exemple une commande de test et/ou des signaux de données de test (BIST CMD) via un registre d'entrée 221 couplé à une ou plusieurs lignes d'entrée 222 du circuit de commande de test 208. Cette commande de test ou ces signaux de données sont pâr exemple fournis au circuit mémoire 200 via un port d'accès de test (TAP) (non illustré en figure 2) couplé à une ou plusieurs lignes d'entrée 222. Le multiplexeur 220 est par exemple contrôlé par le FSM 216, qui décide, en se basant sur le signal de commande particulier BIST CMD, soit d'accorder l'accès aux matrices mémoire directement en sélectionnant l'entrée du registre d'entrée 221 constituant le circuit de test, soit de lancer la séquence de remplissage en sélectionnant les signaux sur les lignes 218 du FSM 216 qui doivent être couplés au circuit de test 204 jusqu'à ce que la séquence de sur-écriture soit achevée.
Le circuit de test 204 exécute par exemple la séquence de sur-écriture via l'interface de test 206 avec la matrice mémoire 202, et active un signal B_END de fin de procédé sur une ligne 223A quand le procédé est terminé. L'interface de test 206 génère aussi par exemple un signal d'état STATUS sur une ligne de sortie 223B quand la séquence de sur-écriture est achevée. Les lignes 223A et 223B sont par exemple couplées à un ou plusieurs registres de sortie 224 des matrices mémoire 202. Les registres 224 sont par exemple couplés aux lignes de sortie 212 des matrices mémoire 202 pour recevoir les données (BIST DATA) lues à' partir des matrices mémoire 202. Les lignes 223A et 223B constituent aussi par exemple le circuit de commande de test 208 et, en se basant sur ces signaux, le FSM 216 génère par exemple un signal OW_CPLT indiquant quand la séquence de sur-écriture a été achevée avec succès. Ce signal OW_CPLT est par exemple aussi fourni aux registres 224.
Quand la séquence de sur-écriture a été achevée avec succès, le circuit de commande de test 208 permet au circuit de test 204 de déclencher le mode de test demandé, par exemple le mode point par point, en commandant le multiplexeur 220 pour fournir le signal de commande et/ou les données de test du registre 221 au circuit de test 204. Par ailleurs, le circuit de commande 208, et en particulier le FSM 216, activent par exemple, via le signal OW_CPLT, le registre 224 pour fournir les données BIST DATA, lues dans les matrices de mémoire 202, sur les lignes de sortie 226 du circuit mémoire 200.
Le fonctionnement du circuit de la figure 2 va maintenant être décrit plus en détail en relation avec la figure 3.
La figure 3 est un organigramme illustrant des étapes d'un procédé de test d'un circuit mémoire selon un exemple de réalisation.
Initialement, on suppose que le circuit mémoire 200 doit être testé, et qu'une séquence d'initialisation de conception des circuits de test BIST et de commande 204, 208 a bien été exécutée, comprenant par exemple une initialisation d'horloge, une initialisation d'alimentation, une initialisation de la mémoire, etc. A une étape initiale 301, une commande de mode de test est reçue.
Une étape 302 implique ensuite de détecter, par exemple par le FSM 216, si le mode de test requis est vulnérable ou non. Le FSM 216 détecte par exemple quand le code d'instruction de la commande du mode de test indique qu'un mode point par point, ou un autre mode de test dans lequel les données de la matrice mémoire peuvent être lues ou vidées, doit être déclenché. Si le mode de test n'est pas un mode de test vulnérable, l'étape suivante est par exemple une étape 303, dans laquelle le mode de test requis est déclenché directement. Sinon, si le mode de test est un mode de test vulnérable, l'étape suivante est l'étape 304. A l'étape 304, on détermine par exemple si la surécriture de la matrice mémoire a déjà été effectuée ou non depuis la dernière fois que des données sensibles ont été stockées dans la mémoire. Le circuit de commande de test 208 comporte par exemple un registre stockant un ou plusieurs bits de données indiquant quand une séquence de sur-écriture a été appliquée aux matrices mémoire, et ce registre est par exemple remis à zéro quand le fonctionnement normal des matrices mémoire reprend. Si les matrices mémoire ont déjà été sur-écrites, le procédé passe par exemple directement à l'étape 303. De cette façon, un ou plusieurs modes de test vulnérables peuvent être déclenchés les uns après les autres, et il n'est pas nécessaire d'exécuter une séquence de sur-écriture à chaque fois. Si une sur-écriture n' a pas encore été exécutée, l'étape suivante est l'étape 305. A une étape 305, les données stockées dans les matrices mémoire 202, incluant des données sensibles, sont sur-écrites, par exemple sous la commande du circuit de commande de test 208. En particulier, comme indiqué çi-dessus, le FSM 216 ou le circuit de test 204 sont par exemple utilisés pour générer des données de remplissage qui seront écrites dans la matrice mémoire 202, et la séquence de sur-écriture sera effectuée pendant un nombre suffisant de cycles de mémoire pour sur-écrire tous les emplacements de mémoire dans les matrices mémoire 202. Chaque valeur de remplissage est par exemple un mot de données surécrivant une ligne dans l'une des matrices mémoire 202, et le circuit de test 204 comprend un programme de commande de ligne adressant chacune des lignes des matrices mémoire tour à tour dans le but de sur-écrire leur contenu, bien que la méthode particulière de sur-écriture dépende du type particulier de mémoire utilisé.
Comme mentionné ci-dessus, dans un exemple, les données de remplissage sont un motif en damier, dans lequel les cellules mémoire sont programmées alternativement avec des 0 logiques et des 1 logiques, de sorte que des cellules mémoire adjacentes de chaque matrice mémoire soient programmées à des états logiques opposés. Bien sûr d'autres motifs pourraient être utilisés comme données de remplissage. A une étape ultérieure 306, on détermine au moyen du circuit de commande de test 208 si la séquence de sur-écriture est achevée. Le signal d'état STATUS sur une ligne de sortie 223B du circuit de test 204 est par exemple utilisé comme indication du fait que chaque ligne de chaque matrice mémoire 202 a été surécrite. L'étape 306 est par exemple répétée jusqu'à ce que la séquence de sur-écriture soit achevée. Une fois achevée, l'étape suivante est par exemple l'étape 303, dans laquelle le mode de test vulnérable requis est déclenché, et n'importe quelle opération de test impliquant des accès à la mémoire peut être autorisée. Par exemple, cette opération implique que le FSM 216 commande le multiplexeur 220 pour coupler le signal de commande de test et/ou les données de test du registre d'entrée 221 au circuit de test 204, et d'activer les données de sortie du registre 224.
La figure 4 illustre schématiquement un système 400, qui est par exemple un système embarqué (SoC). Le système 400 comprend par exemple une pluralité de matrices mémoire sécurisées (SRAM0, SRAM1) 402, 404. La matrice mémoire 402 est par exemple couplée à une interface de test (TEST INTERFACE) 406 via un circuit de test (CTRL) 408, et la matrice mémoire 404 est par exemple couplée à l'interface de test 406 via un circuit de test (CTRL) 410. Les circuits de test 408, 410 comprennent chacun par exemple un circuit de test 204 et un circuit de commande de test 208 de la figure 2. L'interface de test 406 est par exemple couplée à un port d'accès de test (TAP) 412, permettant des communications extérieures. Par ailleurs, dans certains modes de réalisation, l'interface de test 406 peut être couplée à des cibles non sécurisées 413, 414, qui sont par exemple des matrices mémoire pour lesquelles n' importe quel mode de test peut être déclenché sans opération de sur-écriture.
Par ailleurs, 1'interface de test 406 peut être couplée à un sous-système 416 du système 400, qui comprend par exemple des matrices mémoire 418 (MEM1) et 420 (MEM2), un circuit de commande (SS_CTRL) 422, et des circuits de test (MEM1_CTRL, MEM2_CTRL) 424, 426 respectivement couplés aux mémoires 418, 420, et aux circuits de commande 422. Chacun des circuits de commande 424, 426 comprend par exemple le circuit de test 204 et le circuit de commande de test 208 de la figure 2. L'interface de test 406 est aussi par exemple couplée à un circuit de commande de système 428, qui est par exemple adapté à générer un signal de commande approprié BIST CMD dans le but de requérir un mode de test point par point ou un autre mode de test vulnérable. Une requête est reçue par exemple via le TAP 412 pour qu'un mode point par point soit déclenché et le circuit de commande de système 428 reçoit cette requête et génère en réponse un signal de commande approprié. Un registre d'observation 430 est par exemple inclus pour mettre en œuvre le registre de sortie 224 du circuit de test de chaque circuit mémoire.
Un avantage des modes de réalisation décrits ici est que les données sensibles d'un circuit mémoire peuvent être protégées d'un accès non autorisé via une interface de test d'une manière simple sans recourir à un mécanisme de protection par chiffrement, tout en permettant des modes de test qui incluent des fonctions de vidage de mémoire.
Ayant ainsi décrit au moins un mode de réalisation illustratif, diverses variantes, modifications et améliorations apparaîtront à l'homme de l'art. Par exemple, il sera clair pour l'homme de l'art que, bien que l'on ait décrit des modes de réalisation dans lesquels un circuit de test effectue la surécriture des données dans chacune des matrices mémoire, dans des variantes de réalisation, la séquence de sur-écriture pourrait être mise en œuvre par un autre circuit. Par ailleurs, l'utilisation de l'automate à états finis 216 de la figure 2 est simplement un exemple, et dans des variantes de réalisation d'autres mises en œuvre pourraient être possibles.

Claims (12)

  1. REVENDICATIONS
    1. Procédé comprenant : en réponse à l'activation d'au moins un signal de commande (BIST CMD) requérant qu'un circuit de test (204) d'une matrice mémoire (202) déclenche un mode de test de la mémoire permettant la lecture d'au moins une partie de la matrice mémoire, le lancement par un circuit de commande de test (208) d'une séquence de sur-écriture pour sur-écrire les données stockées dans la matrice mémoire (202) ; et l'activation, grâce au circuit de commande de test (208), du mode de test de la mémoire une fois que la séquence de sur-écriture est achevée.
  2. 2. Procédé selon la revendication 1, dans lequel le mode de test de la mémoire est un mode point par point permettant un vidage des données stockées dans la matrice mémoire (202).
  3. 3. Procédé selon la revendication 1 ou 2, dans lequel la séquence de sur-écriture est effectuée par le circuit de test (204).
  4. 4. Procédé selon la revendication 3, comprenant en outre la vérification, par le circuit de commande de test (208), que la séquence de sur-écriture a été achevée en se basant sur un signal d'état (STATUS) généré par le circuit de test (204).
  5. 5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel la matrice mémoire (202) est une matrice mémoire programmable.
  6. 6. Procédé selon l'une quelconque des revendications 1 à 5, comprenant en outre : la détermination, grâce au circuit de commande de test (208) en réponse à l'activation d'au moins un autre signal de commande requérant qu'un autre mode de test de mémoire soit déclenché, de si la séquence de sur-écriture a déjà été appliquée ou non à la matrice mémoire ; et s ' il est déterminé que la séquence de sur-écriture a déjà été appliquée, l'activation de l'autre mode de test de mémoire sans appliquer une nouvelle fois la séquence de surécriture à la matrice mémoire.
  7. 7. Circuit de commande de test adapté à : lancer une séquence de sur-écriture pour sur-écrire des données stockées dans une matrice mémoire (202) en réponse à l'activation d'au moins un signal de commande demandant qu'un mode de test de mémoire soit déclenché par un circuit de test (204) de la matrice mémoire, le mode de test de la mémoire permettant la lecture d'au moins une partie de la matrice mémoire (202) ; et activer le mode de test de la mémoire une fois que la séquence de sur-écriture est achevée.
  8. 8. Circuit de commande de test selon la revendication 7, dans lequel le circuit de commande de test est en outre adapté à : déterminer, en réponse à l'activation d'au moins un autre signal de commande demandant qu'un autre mode de test soit déclenché, si la séquence de sur-écriture a déjà été appliquée à la matrice mémoire ; et s ' il est déterminé que la séquence de sur-écriture a déjà été appliquée, activer l'autre mode de test de mémoire sans appliquer une nouvelle fois la séquence de sur-écriture à la matrice mémoire.
  9. 9. Circuit de commande de test selon les revendications 7 ou 8, dans lequel le mode de test de mémoire est un mode point par point permettant le vidage de données stockées dans la matrice mémoire (202).
  10. 10. Mémoire sécurisée comprenant : le circuit de commande de test de l'une quelconque des revendications 7 à 9 ; et le circuit de test (204) adapté à mettre en œuvre la séquence de sur-écriture.
  11. 11. Mémoire sécurisée selon la revendication 10, dans laquelle le circuit de commande de test (208) est en outre configuré pour vérifier que la séquence de sur-écriture a été achevée en se basant sur un signal d'état généré par le circuit de test (204).
  12. 12. Mémoire sécurisée selon les revendications 10 ou 11, dans laquelle la matrice mémoire (202) est une matrice mémoire programmable.
FR1650856A 2016-02-03 2016-02-03 Protection de donnees pour une memoire a autotest integre Expired - Fee Related FR3047348B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1650856A FR3047348B1 (fr) 2016-02-03 2016-02-03 Protection de donnees pour une memoire a autotest integre
US15/253,002 US10331530B2 (en) 2016-02-03 2016-08-31 Data protection for memory with built-in self-test

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1650856A FR3047348B1 (fr) 2016-02-03 2016-02-03 Protection de donnees pour une memoire a autotest integre
FR1650856 2016-02-03

Publications (2)

Publication Number Publication Date
FR3047348A1 true FR3047348A1 (fr) 2017-08-04
FR3047348B1 FR3047348B1 (fr) 2018-07-27

Family

ID=56322019

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1650856A Expired - Fee Related FR3047348B1 (fr) 2016-02-03 2016-02-03 Protection de donnees pour une memoire a autotest integre

Country Status (2)

Country Link
US (1) US10331530B2 (fr)
FR (1) FR3047348B1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494522B2 (en) * 2019-11-07 2022-11-08 Micron Technology, Inc. Semiconductor device with self-lock security and associated methods and systems
US11520711B2 (en) 2019-11-07 2022-12-06 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11704255B2 (en) 2019-11-07 2023-07-18 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102518881B1 (ko) * 2017-01-09 2023-04-05 삼성전자주식회사 반도체 장치의 동작 방법
US11276648B2 (en) 2018-07-31 2022-03-15 Nvidia Corporation Protecting chips from electromagnetic pulse attacks using an antenna
KR20210081093A (ko) * 2019-12-23 2021-07-01 주식회사 실리콘웍스 메모리 컨트롤러, 및 이의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195723A1 (en) * 2005-02-08 2006-08-31 Stmicroelectronics Sa Securing the test mode of an integrated circuit
US20110185110A1 (en) * 2007-05-30 2011-07-28 Summit Design Solutions, Inc. Method and device for protecting information contained in an integrated circuit

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1585139A1 (fr) * 2004-04-08 2005-10-12 STMicroelectronics Pvt. Ltd Testeur sur puce à vitesse élevée pour tester et caractériser des mémoires de types différents
US20070226795A1 (en) * 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
US8233303B2 (en) * 2006-12-14 2012-07-31 Rambus Inc. Multi-die memory device
US7979616B2 (en) * 2007-06-22 2011-07-12 International Business Machines Corporation System and method for providing a configurable command sequence for a memory interface device
JP2009181600A (ja) * 2008-01-29 2009-08-13 Renesas Technology Corp 半導体装置
US7872931B2 (en) * 2008-10-14 2011-01-18 Qimonda North America Corp. Integrated circuit with control circuit for performing retention test
US20170357829A1 (en) * 2016-06-13 2017-12-14 Samsung Electronics Co., Ltd. Integrated circuit, mobile device having the same, and hacking preventing method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195723A1 (en) * 2005-02-08 2006-08-31 Stmicroelectronics Sa Securing the test mode of an integrated circuit
US20110185110A1 (en) * 2007-05-30 2011-07-28 Summit Design Solutions, Inc. Method and device for protecting information contained in an integrated circuit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494522B2 (en) * 2019-11-07 2022-11-08 Micron Technology, Inc. Semiconductor device with self-lock security and associated methods and systems
US11520711B2 (en) 2019-11-07 2022-12-06 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11704255B2 (en) 2019-11-07 2023-07-18 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11954049B2 (en) 2019-11-07 2024-04-09 Lodestar Licensing Group Llc Semiconductor device with secure access key and associated methods and systems

Also Published As

Publication number Publication date
US10331530B2 (en) 2019-06-25
FR3047348B1 (fr) 2018-07-27
US20170220443A1 (en) 2017-08-03

Similar Documents

Publication Publication Date Title
FR3047348A1 (fr)
US5742616A (en) System and method testing computer memories
EP3259674B1 (fr) Circuit dram muni d'un processeur integre
US8321686B2 (en) Secure memory card with life cycle phases
US8108691B2 (en) Methods used in a secure memory card with life cycle phases
FR2977694A1 (fr) Microprocesseur protege contre un debordement de pile
JPH04264643A (ja) 改良されたアクセス安全装置を備える集積回路
US20090296933A1 (en) Integrated circuit and a method for secure testing
US20100306519A1 (en) System and method for maintaining the security of memory contents and computer architecture employing the same
EP2940690B1 (fr) Compteur bidirectionnel en mémoire flash
US7725786B2 (en) Protecting an integrated circuit test mode
WO2008150939A1 (fr) Procédé et dispositif pour protéger des informations contenues dans un circuit intégré
EP1120662B1 (fr) Procédé pour tester un circuit intégré comportant des parties matérielles et/ou logicielles ayant un caractère de confidentialité
KR100972540B1 (ko) 라이프 사이클 단계들을 가진 보안 메모리 카드
US20100070779A1 (en) Integrity of ciphered data
FR2762683A1 (fr) Circuit testable a faible nombre de broches
FR3008534A1 (fr) Procede de gestion du fonctionnement d'un dispositif de memoire associant un plan-memoire du type sram et un plan memoire du type non volatil, et dispositif de memoire correspondant
EP1821111B1 (fr) Circuit électronique comprenant un mode de test sécurisé par l'utilisation d'un identifiant, et procédé associé.
JP4920680B2 (ja) エラー注入によるアタックに対してメモリを保護する装置
JP2008262630A (ja) 半導体集積回路及びメモリ検査方法
EP1560032B1 (fr) Procédé de sécurisation du mode de test d'un circuit intégré par détection d'intrusion
EP1710700A2 (fr) Coprocesseur sécurisé comprenant des moyens pour empêcher l'accès à un organe du coprocesseur
EP1688753B1 (fr) Sécurisation du mode de test d'un circuit intégré
EP1742407A1 (fr) Protection d'une quantité numérique contenue dans un circuit intégré comportant une interface JTAG
FR2945148A1 (fr) Procede pour tester une memoire ainsi qu'un dispositif de commande pour la mise en oeuvre du procede

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170804

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 5

ST Notification of lapse

Effective date: 20211005