Brevet FR2754100A1 — publié le 19980403

Mémoire à accès série avec sécurisation de l'écriture. L'invention a pour objet une mémoire à accès série avec sécurisation de l'écriture. L'invention est particulièrement adaptée pour les mémoires à grille flottante et pour les mémoires programmables une seule fois. Les cellules de mémoire à grille flottante, de type EPROM ou EEPROM, lorsqu'elles sont non-programmées sont dans un état intermédiaire entre un niveau logique "0" et un niveau logique "1". Pour écrire dans ces cellules, on utilise des tensions importantes pour déplacer les charges du niveau intermédiaire au niveau souhaité "0o" ou "1". Pour pouvoir écrire à nouveau dans ces cellules, il est fortement conseillé de les effacer au préalable, c'est à dire de remettre les cellules mémoires au niveau intermédiaire. Pour les mémoires de type EPROM, cela se fait par exposition aux UV. Pour les mémoires de type EEPROM, cela se fait en utilisant des tensions un peu plus importantes que pour la programmation avec une polarisation différente. Par ailleurs, ces mémoires à grilles flottantes sont souvent utilisées dans des dispositifs portables de cartes électroniques, notamment des cartes à puces. Or, les dispositifs de connexion ont tendance à subir une usure des plots de contact due à de fréquentes connexions et déconnexions. Cette usure des plots de contact a pour effet d'introduire des parasites important sur ces plots. Lorsqu'une lecture est erronée, il suffit de la refaire à nouveau pour avoir une bonne lecture. Par contre, dans le cas d'une écriture erronée, il n'est parfois pas possible de pouvoir y remédier. Dans le cas d'une écriture, il est donc préférable de ne pas écrire des données erronées. En effet, les mémoires programmables une seule fois ne peuvent être reprogrammées. Les mémoires EPROM ont besoin d'une source d'UV pour être effacées. Les mémoires de type EEPROM utilisées sur les cartes à puces ne disposent pas systématiquement des pompes de charge nécessaires à une reprogrammation. Les sources des écritures erronées dues à des parasites provenant des plots de contact se traduisent généralement par des impulsions positives ou négatives sur les bornes d'accès à la mémoire. Dans le cas de mémoires séries, les parasites peuvent affecter les données de manière directe ou indirecte. C'est à dire que les parasites peuvent affecter les données ou les signaux de contrôle de la mémoire, lui faisant réaliser des écritures de type aléatoire. L'invention propose de remédier aux écritures de données erronées dues à la présence de parasites sur les signaux de contrôles. En effet, il est possible de ne pas écrire une données si l'on détecte une erreur dans la synchronisation des signaux de commande. Pour cela, on effectuera une écriture que si l'on vérifie qu'un signal de sélection de la mémoire change après la réception des données. L'invention a pour objet un procédé d'écriture dans une mémoire à accès série comprenant au moins une matrice de cellules mémoires une borne d'entrée d'horloge recevant un signal d'horloge, une borne d'entrée de données recevant un nombre défini de bits de données en série et une borne de sélection recevant un signal de sélection, ledit procédé étant initialisé lors d'un changement d'état du signal de sélection, d'un premier état vers un deuxième état, caractérisé en ce que l'écriture dans la matrice de cellules mémoires se produit uniquement si le signal de sélection passe du deuxième état au premier état pendant une période du signal d'horloge qui se situe juste après que le dernier des bits de données ait été reçu. Le contrôle s'effectuant à partir du signal de sélection et du signal d'horloge, cela supprime les erreurs dues aux parasites présents sur un seul signal des deux signaux et cela supprime également les erreurs dues à des parasites simultanément présents sur les deux signaux dans plus de 95% des cas. Pour éviter d'avoir une désynchronisation des données par rapport aux deux signaux, le procédé est initialisé si un bit de démarrage, positionné dans un état prédéfini, est reçu sur la borne d'entrée de données au commencement d'une période d'horloge pendant laquelle se produit le changement d'état du signal de sélection du premier état vers le deuxième état. De plus, le bit de démarrage est suivi par une succession de bits espacés chacun d'une période d'horloge, ces bits correspondant à des instructions, à des adresses, et à des données. L'invention a également pour objet une mémoire à accès série comprenant au moins une matrice de cellules mémoires une borne d'entrée d'horloge recevant un signal d'horloge, une borne d'entrée de données recevant un nombre défini de bits de données en série, une borne de sélection recevant un signal de sélection, et des moyens pour détecter les changements d'état du signal de sélection caractérisé en ce qu'il comporte des moyens de sécurisation pour autoriser l'écriture dans la matrice de cellules mémoires uniquement si le signal de sélection change d'état pendant une période du signal d'horloge qui se situe juste après que le dernier des bits de donnée ait été reçu. Préférentiellement, on prévoit un système pour des mémoires pouvant travailler sur deux tailles de mots. Un même compteur peut être utilisé pour compter le nombre de bits pour les deux tailles de mots. L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description qui va suivre d'un mode de réalisation préféré non-limitatif, la description faisant référence aux dessins annexés parmi lesquels: la figure 1 représente une réalisation préférée d'un circuit de contrôle d'écriture d'une mémoire à accès série selon l'invention, les figures 2 et 3 représentent des détails du circuit de la figure 1, les figures 4 et 5 représentent des chronogrammes de fonctionnement du circuit de la figure 1 selon deux modes de fonctionnement différents. Le circuit de la figure 1 est contenu dans une puce de silicium. Cette puce de silicium étant une mémoire série comportant au moins une matrice de cellule mémoire constituant la mémoire principale du circuit. De plus, la puce contient les éléments classiques d'une mémoire à grille flottante, par exemple circuits de décodage de lignes et de colonnes, pompe de charge, amplificateur de lecture et d'écriture et circuit de séquencement. Le circuit de la figure 1 faisant partie du circuit de séquencement de la mémoire. Afin de clarifier cette figure 1, certaines connexions ont été matériellement supprimées et remplacées par les noms des signaux. Le circuit de la figure 1 comporte une première borne d'entrée 1, recevant un signal CS, une deuxième borne d'entrée 2, recevant un signal DI, une troisième borne d'entrée 3, recevant un signal SK, et une quatrième borne d'entrée 4, recevant un signal 8B. Ces quatres bornes d'entrée 1 à 4 correspondent dans la réalisation préférée à quatre plots de la puce de silicium. Le signal CS est un signal de sélection de puce qui dans notre exemple est actif à l'état "1". Préférentiellement, le signal DI est un signal d'entrée/sortie qui sert à convoyer des instructions, des adresses et des données entre la mémoire et l'extérieur. Le signal SK est un signal d'horloge généré par un dispositif externe à la puce. Le signal 8B indique un mode de fonctionnement de la mémoire qui correspond à la taille de mot des données, par exemple en 8 ou 16 bits. Dans un exemple, la quatrième borne d'entrée 4 est reliée soit à la masse soit à la tension d'alimentation de manière définitive au moment de l'encapsulation de la puce de silicium dans son boîtier (ou sur la carte à puce). Un circuit de mise en forme d'horloge 5 possède une entrée, connectée à la troisième borne d'entrée 3, et une sortie. Ce circuit de mise en forme d'horloge 5 transforme le signal SK en signal impulsionnel CP adapté aux seuils des différents éléments synchrones de la mémoire. Un tel circuit peut être constitué par exemple d'un trigger et d'une monostable. Le circuit de mise en forme d'horloge a pour but de supprimer des parasites de petite amplitude présent sur le signal SK. Néanmoins, des parasites d'amplitude importante peuvent se transformer en impulsions sur le signal CP. Un registre à décalage 6 possède une entrée série, connecté à la deuxième borne d'entrée 2, une entrée d'horloge, connectée à la sortie du circuit de mise en forme d'horloge 5, une entrée de validation et une sortie parallèle. Dans notre exemple, le registre à décalage 6 est un registre 8 bits, le contenu du registre étant visible en permanence sur la sortie parallèle. L'entrée de validation, recevant le signal OKC, sert à indiquer si le registre va décaler tout ses bits d'un cran et charger le bit présent à l'entrée série dans la cellule la plus proche de l'entrée série. La sortie parallèle est connectée à un bus qui permet. de charger le contenu du registre à décalage dans des bascules de mémorisation servant de buffer à la matrice de cellule mémoire de la puce. D'autres réalisations sont envisageables pour le registre à décalage 6. Celui-ci peut être bidirectionnel, c'est à dire qu'il peut être utilisé aussi bien pour les lectures que pour les écritures en mémoire. Si le circuit est monodirectionnel, l'entrée de validation peut également être supprimée, le registre effectuant alors des décalages en permanence. Un compteur 7 possède une entrée d'horloge, connectée à la sortie du circuit de mise en forme 5, une entrée de validation, recevant le signal OKC, et une sortie, fournissant un signal ENDC. Le signal ENDC indique que le compteur 7 vient d'effectuer un tour complet. L'entrée de validation sert d'une part à initialiser le compteur 7 à zéro lorsqu'il est dans un premier état et à autoriser le comptage lorsqu'il est dans un deuxième état. Un circuit de vérification 8 possède une entrée d'horloge, connectée à la sortie du circuit de mise en forme 5 afin de recevoir le signal CP, une entrée de fin de comptage, connectée à la sortie du compteur 7 afin de recevoir le signal ENDC, une entrée de mode, connectée à la quatrième borne d'entrée 4 afin de recevoir le signal 8B, une entrée de poids faible, recevant le bit d'adresse de poids le plus faible AO, et une sortie fournissant un signal FINC. Le circuit de vérification 8 sert à déterminer la fin de la réception des bits de données (lors d'une écriture) en fonction du mode de fonctionnement 8 bits ou 16 bits. Ce circuit de vérification 8 est décrit de manière plus précise ultérieurement. Un registre d'adresse 9 possède une entrée d'horloge, connectée à la sortie du circuit de mise en forme 5 afin de recevoir le signal CP, une entrée série, connectée à la deuxième borne d'entrée 2 afin de recevoir le signal DI, une entrée d'incrémentation, recevant un signal INCR, une entrée de mode, connectée à la quatrième borne d'entrée 4 afin de recevoir le signal 8B, une entrée de validation, recevant le signal VAL, et une sortie parallèle, fournissant les bits d'adresse AO à A7 sur des fils indépendants. Un des fils indépendants correspondant au bit de poids le plus faible AO est connecté à l'entrée de poids faible du circuit de vérification 8. Tous les fils indépendants de la sortie parallèle sont connectés aux circuits de décodage de la mémoire (non représentés). Le signal CP sert à cadencer l'arrivée en série des bits dans le registre d'adresse 9. Le signal DI contient les bits d'adresse à rentrer dans le registre à un moment donné. Le signal VAL indique si le bit présent sur l'entrée série du registre d'adresse 9 est à rentrer dans ledit registre 9. Le signal 8B indique si l'adresse reçue correspond à une adresse de mémoire recevant des données de 8 bits ou des données de 16 bits. Le signal INCR sert à incrémenter le bit de poids le plus faible du registre d'adresse 9, correspondant à AO, lorsque l'on est en mode 16 bits. Un tel registre d'adresse 9 est décrit ultérieurement. Un circuit de commande 10 possède Une entrée de sélection, connectée à la première borne d'entrée 1 afin de recevoir le signal CS, une entrée d'instructions, connectée à la deuxième borne d'entrée 2 afin de recevoir le signal DI, une entrée d'horloge, connectée à la sortie du circuit de mise en forme 5 afin de recevoir le signal CP, une entrée de fin de comptage, connectée à la sortie du compteur 7 afin de recevoir le signal ENDC, une entrée de vérification, connectée à la sortie du circuit de vérification afin de recevoir le signal FINC, une entrée de mode de fonctionnement, connectée à la quatrième borne d'entrée 4 afin de recevoir le signal 8B, une sortie de fermeture de fenêtre, fournissant le signal RM, une sortie d'ouverture de fenêtre, fournissant un signal SM, une sortie de mémorisation, fournissant le signal MEM, une sortie de validation de comptage, connectée à l'entrée de validation du registre à décalage 6 et à l'entrée de validation du compteur 7 afin de fournir le signal OKC, une sortie d'incrémentation, connectée à l'entrée d'incrémentation du registre d'adresse 9 afin de fournir le signal INCR, et une sortie de validation d'adresse, connectée à l'entrée de validation du registre d'adresse afin de fournir le signal VAL. Le signal SM sert à déclencher l'ouverture d'une fenêtre temporelle autorisant l'écriture. Le signal RM sert à fermer la fenêtre temporelle autorisant l'écriture. Le signal MEM indique le chargement du contenu du registre à décalage 6 dans les bascules de mémorisation servant de buffer à la matrice de cellule mémoire de la puce. Le signal OKC indique le moment de fonctionnement du compteur 7. Le signal INCR indique l'incrémentation du bit de poids le plus faible AO du registre d'adresse 9. Le signal VAL indique le moment de chargement du registre d'adresse 9. Le circuit de commande 10 est en fait un gros séquenceur qu'il sera plus facile de comprendre à l'aide des chronogrammes décrits ultérieurement. Une bascule de mémorisation 11, de type RS, possède une entrée de mise à zéro, connectée à la sortie de fermeture de fenêtre du circuit de commande 10 afin de recevoir le signal RM, une entrée de mise à un, connectée à la sortie d'ouverture de fenêtre du circuit de commande afin de recevoir le signal SM, et une sortie, fournissant le signal PREPRO. Le signal PREPRO est un signal binaire pouvant prendre deux états. Arbitrairement, l'état "1" correspond à une autorisation d'écriture pendant une fenêtre temporelle donnée. Un inverseur 12 possède une entrée, connectée à la première borne d'entrée 1 afin de recevoir le signal CS, et une sortie. Cet inverseur 12 sert à mettre en forme le signal CS pour pouvoir l'utiliser en validation d'écriture. Dans un exemple, on utilise un inverseur 12 à seuils. Une porte logique 13 possède une première entrée, connectée à la sortie de l'inverseur 12, une deuxième entrée, connectée à la sortie de la bascule de mémorisation 11 afin de recevoir le signal PREPRO, et une sortie fournissant le signal PRO. Le signal PRO déclenche une séquence d'écriture établie de manière classique. Il est toutefois à noter que suivant l'organisation de la mémoire on effectue dans le cas de mots de 16 bits soit deux écritures successives dans une mémoire organisée en 8 bits soit une écriture dans deux plans mémoires différents organisés en mots de 8 bits. La figure 2 représente le circuit de vérification 8 utilisé dans la réalisation préférée de l'invention. Il ne s'agit que d'une possibilité de réalisation donnée uniquement à titre indicatif. Ce circuit de vérification 8 comporte des premier, deuxième et troisième inverseurs 14 à 16 ayant chacun une entrée et une sortie, un circuit retardateur 17 ayant deux entrées et une sortie, une première porte NON-ET 18 ayant trois entrées et une sortie, et une deuxième porte NON-ET ayant deux entrées et une sortie. L'entrée du premier inverseur 14 correspond à l'entrée de fin de comptage du circuit de vérification 8. Une première entrée du circuit retardateur 17 correspond à l'entrée d'horloge du circuit de vérification 8. L'entrée du deuxième inverseur 15 correspond à l'entrée de mode du circuit de vérification 8. L'entrée du troisième inverseur 16 correspond à l'entrée de poids faible du circuit de vérification. La deuxième entrée du circuit retardateur 17 est connectée à l'entrée du premier inverseur 14. La sortie du premier inverseur 14 est connectée à la première entrée de la deuxième porte NON-ET 19. La sortie du circuit retardateur 17 est connectée à la première entrée de la première porte NON- ET 18. La sortie du deuxième inverseur 15 est connectée à la deuxième entrée de la première porte NON-ET 18. La sortie du troisième inverseur 16 est connectée à la troisième entrée de la première porte NON-ET 18. La sortie de la première porte NON-ET 18 est connectée à la deuxième entrée de la deuxième porte NON-ET 19. La sortie de la deuxième porte NON-ET correspond à la sortie du circuit de vérification 8 et produit le signal FINC. Le circuit retardateur 17 sert à retarder le signal ENDC d'un cycle d'horloge. Un simple bascule de type D qui recevrait le signal CP sur son entrée d'horloge et le signal ENDC sur son entrée D convient parfaitement. Dans le cas o le signal 8B est à "1", c'est à dire lorsque la mémoire fonctionne en mode 8 bits, la sortie du deuxième inverseur 15 est à "0". De ce fait, la sortie de la première porte NON- ET 18 est à "1". Si ENDC est à "0" alors la sortie du premier inverseur 14 est à "1", donc le signal FINC est à "0". Le signal FINC est le même que le signal ENDC (en négligeant les temps de propagation des différentes portes logiques). Dans le cas o le signal 8B est à "0", c'est à dire lorsque la mémoire fonctionne en mode 16 bits, la sortie de la première porte NON- ET 18 dépend de ses première et troisième entrées. Si A0 est à "1", la troisième entrée de la première porte NON-ET est à "0" alors la sortie de la première porte logique est forcément à "1" impliquant que le signal FINC correspond au signal ENDC comme précédemment expliqué. Si par contre A0 est à "0" alors la sortie de la première porte NON-ET 18 est identique à la sortie du premier inverseur 14 mais avec un retard d'un cycle d'horloge; le signal FINC correspondra donc au signal ENDC prolongé d'une période d'horloge. La figure 3 représente le registre d'adresse 9 utilisé dans la réalisation préférée de l'invention. Il ne s'agit que d'une possibilité de réalisation donnée uniquement à titre indicatif. Le registre d'adresse 9 comporte, dans l'exemple, huit bascules de mémorisation dont seulement quatre sont représentées sur la figure 3, respectivement les première, deuxième, troisième et huitième bascules 20 à 23. La première bascule de mémorisation 20 est de type JK et sert à mémoriser le bit de poids le plus faible de l'adresse, ledit bit de poids le plus faible pouvant provenir soit de l'extérieur, ou pouvant être généré par le registre d'adresse 9 suivant le mode de fonctionnement. La première bascule de mémorisation comporte une entrée J, une entrée K, une entrée d'horloge, et une sortie Q. Les deuxième à huitième bascules de mémorisation 21 à 23 sont identiques et sont de type D et servent à mémoriser les sept bits de poids le plus fort de l'adresse. Chacune des deuxième à huitième bascules de mémorisation 21 à 23 comporte une entrée de donnée D, une entrée de validation E, une entrée d'horloge, et une sortie Q. Le registre d'adresse 9 comporte en outre un multiplexeur 24, ayant des première et deuxième entrées de signal, une entrée de sélection et une sortie; des première à quatrième portes ET 25 à 28 ayant chacune des première à troisième entrées dont certaines sont inverseuses et une sortie; une première porte OU 29 ayant des première et deuxième entrées et une sortie; et une deuxième porte OU 30 ayant des première à troisième entrées et une sortie. L'entrée d'horloge du registre d'adresse 9 est connectée à l'entrée d'horloge de chacune des bascules de mémorisation 20 à 23 afin de synchroniser toutes les bascules de mémorisation 20 à 23 entre elles. L'entrée série du registre 9 est connectée à la première entrée du multiplexeur 24, à la première entrée de la première porte ET 25, et à la première entrée qui est inverseuse de la deuxième porte ET 26. L'entrée d'incrémentation du registre d'adresse 9 est connectée à la première entrée de la troisième porte ET 27, et à la première entrée qui est inverseuse de la quatrième porte ET 28. L'entrée de mode du registre d'adresse 9 est connectée à l'entrée de sélection du multiplexeur 24, aux deuxièmes entrées des première et deuxième porte ET 25 et 26, et aux deuxièmes entrées qui sont inverseuses des troisième et quatrième portes ET 27 et 28. L'entrée de validation du registre d'adresse 9 est connectée aux troisièmes entrées des première, deuxième et quatrième porte ET 25, 26 et 28, à la troisième entrée qui est inverseuse de la troisième porte ET 27, et à chacune des entrées de validation E des deuxième à huitième bascules de mémorisation. La sortie parallèle du registre d'adresse 9 est constituée par l'ensemble des sorties des première à huitième bascules de mémorisation 20 à 23. Par ailleurs, la sortie de la première porte ET 25 est connectée à la première entrée de la première porte OU 29. La sortie de la deuxième porte ET 26 est connectée à la première entrée de la deuxième porte OU 30. La sortie de la troisième porte ET 27 est connectée aux deuxièmes entrées des première et deuxième portes OU 29 et 30. La sortie de la quatrième porte ET 28 est connectée à la troisième porte OU 30. La sortie de la première porte OU 29 est connectée à l'entrée J de la première bascule de mémorisation 20. La sortie de la deuxième porte OU 30 est connectée à l'entrée K de la première bascule de mémorisation 20. La sortie Q de la première bascule de mémorisation est connectée à la deuxième entrée du multiplexeur 24. La sortie du multiplexeur 24 est connectée à l'entrée de donnée D de la deuxième bascule de mémorisation 21. Les sorties Q des deuxième à septième bascules de mémorisation 21 et 22 sont respectivement connectée aux entrées D des troisième à huitième bascules de mémorisation 22 et 23. Le fonctionnement de ce registre d'adresse 9 dépend du mode de fonctionnement choisi. Si le signal 8B est à "1", c'est à dire si l'on travaille avec des mots de 8 bits, le multiplexeur 24 établit une connexion entre sa deuxième entrée et sa sortie, le signal INCR devient inutile et l'ensemble des portes ET 25 à 28, des portes OU 29 et 30, et de la première bascule de mémorisation 20 constitue une bascule équivalente à l'une des deuxième à huitième bascules de mémorisation 21 à 23. Lorsque le signal VAL est actif, à chaque front d'horloge, le bit présent à l'entrée de donnée du registre d'adresse 9 est rentré dans la première bascule de mémorisation 20, le bit qui était présent dans la première bascule est déplacé dans la première bascule, celui présent dans la deuxième bascule est décalé dans la troisième et ainsi de suite jusqu'à la huitième bascule. Lorsque le signal VAL est inactif, les bascules mémorisent leur contenu, laissant apparents et stables les bits AO à A7 sur les fils de la sortie parallèle du registre. Si le signal 8B est à "0", c'est à dire si l'on travaille avec des mots de 16 bits, alors le multiplexeur 24 établit une connexion entre sa première entrée et sa sortie, et l'ensemble des portes ET 25 à 28, des portes OU 29 et 30, et de la première bascule de mémorisation 20 constitue un compteur par deux. En effet, lorsque le signal VAL est actif, la première bascule de mémorisation est positionnée à "0" et le chargement s'effectue depuis l'entrée série du registre d'adresse 9 dans la deuxième bascule de mémorisation 21 puis dans les autres bascules jusqu'à la huitième bascule de mémorisation 23. Lorsque le signal VAL est inactif, alors le contenu des deuxième à huitième bascules est mémorisé et le contenu de la première bascule de mémorisation change d'état si pendant une période d'horloge le signal INCR est actif. D'autres possibilités de réalisation permettent d'obtenir un registre d'adresse 9 ayant les mêmes fonctionnalités. La figure 4 représente des chronogrammes correspondant à un mode de fonctionnement en 8 bits, le signal 8B étant positionné à "1". Ces chronogrammes permettront de mieux comprendre le fonctionnement de l'invention et aideront à la réalisation du circuit de commande 10. La courbe 31 représente le signal CP, c'est à dire le signal d'horloge après mise en forme, ce signal CP étant normalement constitué d'impulsions identiques régulièrement espacées, les fronts montant de ce signal constituent les moments actifs dudit signal CP. La courbe 32 représente le signal DI qui est constitué d'un train de bits répartis en bits de contrôle 33, bits d'adresse 34, et bits de donnée 35. La courbe 36 représente le signal CS qui est. constitué d'un front montant 37 indiquant le début de la sélection de la mémoire suivi d'un front descendant 38 devant valider l'écriture après l'envoi de tous les bits de donnée 35. Les signaux CP, DI et CS correspondent à des signaux produits de manière externe à la mémoire. Des courbes 39 à 43 correspondent respectivement aux signaux VAL, OKC, MEM, SM et RM, générés par le circuit de commande 10. Une courbe 44 correspond au signal de fin de comptage ENDC. Une courbe correspond au signal FINC de fin de réception des bits de données. Une courbe 46 représente le signal PREPRO qui fait apparaître la fenêtre temporelle 47 autorisant une écriture. Une courbe 48 représente le signal PRO de déclenchement d'écriture. A l'origine des temps des chronogrammes, le signal CS est à "0", on considère que la mémoire est en phase d'attente et que tous les signaux produits de manière internes à la mémoire sont à "O". Sur un premier coup d'horloge, on a un bit, par exemple à "1" qui correspond à l'état que doit avoir un bit de démarrage SB lors du changement d'état du signal CS de "0" à "1". Le signal CS étant maintenu à "1" jusqu'au front d'horloge suivant, le circuit de commande va recevoir le reste des bits de contrôle 33 correspondant à une instruction de la mémoire. Dans l'exemple, on utilise deux bits OPC1 et OPC2. Lors de la réception du deuxième bit d'instruction OPC2, le circuit de commande positionne le signal VAL à "1" pour une durée de huit cycles d'horloge, comme représenté sur la courbe 39, afin de charger l'adresse A7 à AO dans le registre d'adresse 9. Le circuit de commande 10 décode pendant ce temps l'instruction destinée à indiquer l'opération à effectuer dans la mémoire (lecture, écriture, test,...). On ne traitera par la suite que le cas o le code d'instruction OPC1 + OPC2 correspond à une écriture. Lorsque l'on charge l'avant dernier bit d'adresse Ai dans le registre d'adresse 9, le circuit de commande 10 positionne à "1" le signal OKC qui déclenche le compteur 7 et qui autorise la réception des bits sur le registre à décalage 6. Au bout de huit cycles d'horloge, le compteur 7 indique la fin du comptage, pendant une période d'horloge, sur le signal ENDC. Le circuit de vérification fournit un signal FINC identique au signal ENDC. Le signal ENDC provoque le passage à "1" du signal MEM qui produit le chargement du contenu du registre àdécalage 6 dans les bascules de mémorisation des buffers d'écritures. La descente simultanée des signaux ENDC et FINC provoque une brève impulsion sur le signal SM suivie au coup d'horloge suivant par une brève impulsion sur le signal RM. L'impulsion sur le signal SM fait basculer le signal PREPRO à l'état "1" et l'impulsion sur le signal RM fait basculer le signal PREPRO à l'état "0". Le signal PREPRO ouvre une fenêtre d'écriture 47 pendant une période d'horloge immédiatement après que le dernier des bits de données DO ait été théoriquement reçu. Si le signal CS repasse à l'état "O" pendant que le signal PREPRO est à "1" alors le signal PRO passe à "1". Si le front montant du signal PRO ne correspond pas à un front montant d'horloge, alors on déclenche une séquence d'écriture qui va consister à produire une tension de programmation par pompage de charge puis à écrire à l'adresse présente dans le registre d'adresse la donnée qui est présente dans les bascules de mémorisation des buffers d'écriture. Si un parasite important est présent sur le signal CS en dehors de la fenêtre d'écriture 47, aucune donnée n'est écrite. Si le signal CS ne change pas d'état pendant la fenêtre d'écriture 47 alors aucune donnée n'est écrite en mémoire. Si le front montant 37 du signal provient d'un parasite validé par une valeur du signal DI qui correspond à un bit de départ, il y a peu de chance qu'un front descendant 38 soit présent sur le signal CS pendant la fenêtre 47. Si un parasite important crée une impulsion d'horloge supplémentaire ou supprime une impulsion d'horloge, la fenêtre 47 va se trouver décalée par rapport au front 38 empêchant de ce fait l'écriture. Dans le cas o des parasites importants sont produits sur les deux signaux CP et CS de manière simultanée ou décalée de moins d'un cycle d'écriture, ce qui est rare, il est possible dans environ 5% des cas qu'une écriture erronée soit produite ce qui diminue considérablement les risques d'erreurs. La figure 5 représente des chronogrammes correspondant à un mode de fonctionnement en 16 bits, le signal 8B étant positionné à "0". Ces chronogrammes permettront de mieux comprendre le fonctionnement de l'invention et aideront à la réalisation du circuit de commande 10. La courbe 49 représente le signal CP, c'est à dire le signal d'horloge après mise en forme, ce signal CP étant normalement constitué d'impulsions identiques régulièrement espacées, les fronts montant de ce signal constituent les moments actifs dudit signal CP. La courbe 50 représente le signal DI qui est constitué d'un train de bits répartis en bits de contrôle 51, bits d'adresse 52, et bits de donnée 53. La courbe 54 représente le signal CS qui est constitué d'un front montant 55 indiquant le début de la sélection de la mémoire suivi d'un front descendant 56 devant valider l'écriture après l'envoi de tous les bits de donnée 53. Les signaux CP, DI et CS correspondent à des signaux produits de manière externe à la mémoire. Des courbes 57 à 62 correspondent respectivement aux signaux VAL, OKC, MEM, INCR, SM et RM, générés par le circuit de commande 10. Une courbe 63 correspond au bit de poids le plus faible du registre d'adresse 9. Une courbe 64 correspond au signal de fin de comptage ENDC. Une courbe 65 correspond au signal FINC de fin de réception des bits de données. Une courbe 66 représente le signal PREPRO qui fait apparaître la fenêtre temporelle 67 autorisant une écriture. Une courbe 68 représente le signal PRO de déclenchement d'écriture. A l'origine des temps des chronogrammes, le signal CS est à "0", on considère que la mémoire est en phase d'attente et que tous les signaux produits de manière internes à la mémoire sont à "0". Sur un premier coup d'horloge, on a un bit, par exemple à "1" qui correspond à l'état que doit avoir un bit de démarrage SB lors du changement d'état du signal CS de "0" à "1". Le signal CS étant maintenu à "1" jusqu'au front d'horloge suivant, le circuit de commande va recevoir le reste des bits de contrôle 51 correspondant à une instruction de la mémoire. Dans l'exemple, on utilise deux bits OPC1 et OPC2. Lors de la réception du deuxième bit d'instruction OPC2, le circuit de commande positionne le signal VAL à "1" pour une durée de sept cycles d'horloge, comme représenté sur la courbe 57, afin de charger l'adresse A7 à A1 dans le registre d'adresse 9. Le circuit de commande décode pendant ce temps l'instruction destinée à indiquer l'opération à effectuer dans la mémoire (lecture, écriture, test,...). On ne traitera par la suite que le cas o le code d'instruction OPC1 + OPC2 correspond à une écriture. Lorsque l'on charge l'avant dernier bit d'adresse A2 dans le registre d'adresse 9, le circuit de commande 10 positionne à "1" le signal OKC qui déclenche le compteur 7 et qui autorise la réception des bits sur le registre à décalage 6. Au bout de huit cycles d'horloge, le compteur 7 indique la fin d'un premier comptage, pendant une période d'horloge, sur le signal ENDC. Le signal 8B étant à 1"0" et le bit de poids le plus faible AO étant à "0" alors le circuit de vérification fournit un signal FINC prolongé d'une période d'horloge par rapport au signal ENDC. Le signal ENDC provoque le passage à "1" du signal MEM qui produit le chargement du contenu du registre à décalage 6 dans les bascules de mémorisation des buffers d'écritures. La descente non simultanée des signaux ENDC et FINC provoque une impulsion sur le signal INCR qui à pour but d'incrémenter AO de "O" à "1", changeant ainsi l'adresse du prochain mot de huit bits reçu. Huit cycles d'horloge après avoir indiqué la fin d'un premier comptage, le compteur 7 indique la fin d'un deuxième comptage, pendant une période d'horloge, sur le signal ENDC. Le signal 8B étant à O"0 et le bit de poids le plus faible AO étant à "1" alors le circuit de vérification fournit un signal FINC identique au signal ENDC. Le signal ENDC provoque le passage à "1" du signal MEM qui produit le chargement du contenu du registre à décalage 6 dans les bascules de mémorisation des buffers d'écritures. La descente simultanée des signaux ENDC et FINC provoque une brève impulsion sur le signal SM suivie au coup d'horloge suivant par une brève impulsion sur le signal RM. L'impulsion sur le signal SM fait basculer le signal PREPRO à l'état "1" et l'impulsion sur le signal RM fait basculer le signal PREPRO à l'état "O". Le signal PREPRO ouvre une fenêtre d'écriture 47 pendant une période d'horloge immédiatement après que le dernier des bits de données DO ait été théoriquement reçu. Si le signal CS repasse à l'état "O" pendant que le signal PREPRO est à "1" alors le signal PRO passe à "1". Si le front montant du signal PRO ne correspond pas à un front montant d'horloge, alors on déclenche une séquence d'écriture qui va consister à produire une tension de programmation par pompage de charge puis à écrire à l'adresse présente dans le registre d'adresse la donnée qui est présente dans les bascules de mémorisation des buffers d'écriture. L'écriture s'effectuant de manière simultanée ou successive suivant l'organisation physique de la mémoire. Si un parasite important est présent sur le signal CS en dehors de la fenêtre d'écriture 67, aucune donnée n'est écrite. Si le signal CS ne change pas d'état pendant la fenêtre d'écriture 67 alors aucune donnée n'est écrite en mémoire. Si le front montant 55 du signal provient d'un parasite validé par une valeur du signal DI qui correspond à un bit de départ, il y a peu de chance qu'un front descendant 56 soit présent sur le signal CS pendant la fenêtre 67. Si un parasite important crée une impulsion d'horloge supplémentaire ou supprime une impulsion d'horloge, la fenêtre 67 va se trouver décalée par rapport au front 56 empêchant de ce fait l'écriture. Dans le cas o des parasites importants sont produits sur les deux signaux CP et CS de manière simultanée ou décalée de moins d'un cycle d'écriture, ce qui est rare, il est possible dans environ 4% des cas qu'une écriture erronée soit produite ce qui diminue considérablement les risques d'erreurs. De plus, l'écriture ne s'effectue que lorsque la totalité des bits sont reçus. Il n'est plus possible d'avoir des erreurs d'écriture dues à l'écriture en deux temps des mots de seize bits. L'homme du métier pourra à loisirs modifier certains éléments du mode de réalisation préféré sans changer l'esprit de l'invention. Ainsi le choix des différents niveau logiques, et de ce fait des portes logiques est tout à fait arbitraires. de plus, certains signaux offrent certaines libertés par rapport à la forme montrée sur les chronogrammes, par exemple AO, INCR, MEM, FINC, SM et RM. Des variantes simples qui correspondent à la combinaison de l'invention avec l'état de la technique sont également envisageable. Par exemple, il est possible de choisir à l'aide d'un bit d'instruction supplémentaire, par exemple OPC3 si le mot à écrire (ou à lire) est codé sur 8 ou 16 bits. Dans ce cas, la quatrième borne d'entrée sera connectée à un registre de mémorisation du mode de fonctionnement qui pourra très bien faire partie du circuit de commande 10. Il est également possible d'avoir des systèmes à taille de mots fixe, ou à taille de mots variable suivant des multiples d'une taille définie pouvant être autre que huit bits. Le bit de démarrage SB n'est pas nécessaire à l'invention mais permet de diminuer des risques éventuels de démarrage de séquence qui sont inutiles et peuvent ralentir la mémoire. Le choix de l'état du bit est purement arbitraire et peut même dans certain cas être remplacé par une succession de bits. On peut par exemple prendre en compte le signal CS pour valider le signal d'horloge afin de répercuter une erreur se produisant sur le signal de sélection sur le signal d'horloge. Dans ce cas, il n'est pas nécessaire de détecter la non coïncidence entre le front descendant du signal de sélection CS avec le signal d'horloge CP. REVENDICATIONS 1. Procédé d'écriture dans une mémoire à accès série comprenant au moins une matrice de cellules mémoires une borne d'entrée d'horloge (3) recevant un signal d'horloge (SK, CP), une borne d'entrée de données (2) recevant un nombre défini de bits de données (D15 à DO) en série et une borne de sélection (1) recevant un signal de sélection (CS), ledit procédé étant initialisé lors d'un changement d'état du signal de sélection (CS), d'un premier état vers un deuxième état, caractérisé en ce que l'écriture dans la matrice de cellules mémoires se produit uniquement si le signal de sélection (CS) passe du deuxième état au premier état pendant une période du signal d'horloge (CP) qui se situe juste après que le dernier des bits de données (DO) ait été reçu. 2. Procédé selon la revendication 1, caractérisé en ce que le procédé est initialisé si un bit de démarrage (SB), positionné dans un état prédéfini, est reçu sur la borne d'entrée de données au commencement d'une période d'horloge pendant laquelle se produit le changement d'état du signal de sélection (CS) du premier état vers le deuxième état, et en ce que le bit de démarrage est suivi par une succession de bits espacés chacun d'une période d'horloge, ces bits correspondant à des instructions (33 ou 51), à des adresses (34 ou 52), et à des données (35, 53, D15 à DO). 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que le nombre défini de bit peut prendre une première ou une deuxième valeur suivant l'état d'un bit de mode (8B) contenu dans la mémoire lors de la réception des données, la deuxième valeur correspondant au double de la première valeur. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que la mémoire compte les bits à l'aide d'un compteur (7) recevant le signal d'horloge (CP) afin de déterminer quel bit de donnée est le dernier des bits de données. 5. Procédé selon les revendication 3 et 4, caractérisé en ce que si le nombre défini prend la première valeur, alors le compteur (7) effectue un tour de compteur complet et en ce que si le nombre défini prend la deuxième valeur alors le compteur (7) effectue deux tours de compteur complet. 6. Mémoire à accès série comprenant au moins une matrice de cellules mémoires une borne d'entrée d'horloge (3) recevant un signal d'horloge (SK), une borne d'entrée de données (2) recevant un nombre défini de bits de données (D15 à DO) en série, une borne de sélection (1) recevant un signal de sélection (CS), et des moyens pour détecter les changements d'état du signal de sélection caractérisé en ce qu'il comporte des moyens de sécurisation (4 à 13) pour autoriser l'écriture dans la matrice de cellules mémoires uniquement si le signal de sélection (CS) change d'état pendant une période du signal d'horloge qui se situe juste après que le dernier des bits de donnée ait été reçu. 7. Mémoire selon la revendication 6, caractérisée en ce que la matrice de cellules mémoires est organisée en mots de bits d'une taille définie et en ce que les moyens de sécurisation comportent des moyens d'indication (4) pour indiquer que la borne de donnée (2) va recevoir des mots de la taille définie et des mots du double de la taille définie. 8. Mémoire selon la revendication 7, caractérisée en ce les moyens de sécurisation comportent: - un compteur (7) par N qui reçoit le signal d'horloge (CP) et un signal de validation (CS) et qui fournit un signal de fin de comptage (ENDC) à chaque fois qu'il effectue un tour de compteur, des moyens de fenêtrage (11) pour positionner un signal de validation (PREPRO) dans un état de validation pendant une fenêtre temporelle (47 ou 67) qui dure une période d'horloge et qui commence immédiatement après avoir reçu le signal de fin de comptage d'un premier comptage si les moyens d'indication (8B) indiquent que la borne de donnée (2) va recevoir des mots de la taille définie, et immédiatement après avoir reçu deux signaux de fin de comptage successifs si les moyens d'indication indiquent que la borne de donnée va recevoir des mots du double de la taille définie, - une porte logique (13) ayant une première et une deuxième entrées et une sortie, la première entrée étant connectée à la borne de sélection (1) et la deuxième entrée étant connectée aux moyens de fenêtrage (11) pour recevoir le signal de validation (PREPRO), la sortie fournissant un signal d'écriture (PRO) dans un état d'autorisation si le signal de validation (PREPRO) est dans un état de validation pendant que le signal de sélection (CS) change d'état.