Brevet FR2647582A1 — publié le 19901130

La présente invention concerne un procédé d'écriture de données dans une mémoire semiconductrice telLe que la mémoire de données d'une carte å circuit intégré et un dispositif permettant de mettre en oeuvre le procédé ; plus particulierement, elle concerne un procede d'écriture de données dans une mémoire utilisant un signal du type etat pret/etat occupé, et autres, ainsi qu'un dispositif permettant de mettre en oeuvre le procède. Récemment, pour remplacer les mémoires mortes electrique- ment programmables (EPROM), les mémoires mortes programmables électriquement effaçables (EEPROM), que l'on peut électriquement effacer et ou l'on peut réécrire des données, ont attiré l'attention comme mémoires semiconductrices. Puisque le temps d'écriture de données dans la EEPROM est plus long que celui relatif à la EPROM, diverses améliorations ont été apportées à la EEPROM. Selon l'une des améliorations apportées å la EEPROM, il a ete mis au point, pour réduire la charge d'un disPositif externe dans le traitement d'une operation d'écriture, une EEPROM qui délivre en sortie un signal d'etat pour informer le dispositif externe que l'écriture de données dans la EPROM a été completement réalisée. Plus spécialement, le dispositif externe peut facilement déterminer si l'operation d'écriture s'est ou non terminee par simple contrôle du signal d'état délivré par la EEPROM, après avoir envoyé les données d'écriture å la EEPROM. Toutefois, dans cette EEPROM perfectionnée, lorsque la EEPROM connaît une défaillance, le signal d'état ne réussit parfois pas å atteindre un niveau indiquant la fin d'une opération d'écriture de données dans la EEPROM, même si les données d'écriture ont été envoyées par le dispositif externe et que l'opération d'écriture des donnees s'est achevée. Dans ce cas, l'inconvérient est que, non seulement, le dispositif externe ne peut pas determiner si l'écriture de données dans la EEPROM stest ou non achevée, mais, de plus, il s'arrete pour L'opération d'écriture de données. C'est donc un but de l'invention de produire un procédé d'écriture de données, qui peut arriver au terme de L'opération d'écriture de données et qui peut empêcher entierement L'arrêt inopiné d'un système utilisant une mémoire même lorsqu'il se produit une defaillance de la mémoire, ainsi qu'un dispositif permettant de mettre en oeuvre le procédé. - Selon un premier aspect de l'invention, il est propose un procédé d'écriture de données provenant d'un premier moyen qui sert fournir les données dans un moyen de mémorisation qui sert å emmagasiner les données, comprenant les opérations suivantes : recevoir les données de la part du premier moyen ; écrire les données dans le moyen de memorisation en réponse å l'operation de réception ; compter le temps en réponse å l'opération d'écriture ; comparer le temps compte de l'opération de comptage avec un temps prédéterminé ; et donner, en réponse au résultat comparé de l'opération de comparaison, l'information selon laquelle l'opération d'écriture est arrivée å son terme. Selon un autre aspect de l'invention, il est propose un dispositif permettant d'écrire des données dans un moyen de memori- sation servant å mémoriser les données, ledit dispositif comprenant : un moyen servant å fournir les données au moyen de memo- risation ; un moyen servant å écrire dans le moyen de memorisation les données fournies par le moyen de fourniture ; un moyen servant å indiquer un temps de début lorsque le moyen d'ecriture commence å écrire les données dans le moyen de mémorisation ; un moyen servant à compter le temps en réponse au temps de début indique par le moyen d'indication ; un moyen servant å comparer le temps compte par le moyen de comptage avec un temps prédéterminé ; et un moyen servant a délivrer une information de fin d'écriture indiquant la fin d'une operation d'ecriture du moyen d'écriture en reponse å un résultat compare par le moyen de comparaison. En plus de contrôler la fin de l'écriture å l'aide du signal d'état tel qu'un signal d'état de fin d'écriture délivré par la mémoire, on contrôle la durée d'ecriture des données. Par conse- quent, meme si une défaillance de la mémoire se produit et que, par consequent, le signal d'etat de fin d'ecriture n'atteint pas un niveau représentant la fin d'une opération d'écriture de données, il est possible d'arrêter L'opération d'ecriture et, par conse- quent, on peut empêcher entierement l'arrêt inopiné du système utilisant la mémoire. La description suivante, conçue å titre d'illustration de l'invention, vise å donner une meilleure compréhension de ses caractéristiques et avantages ; elle s'appuie sur les dessins annexés, parmi lesquels : la figure 1 est un schema de principe montrant une configuration d'un dispositif permettant d'écrire des données dans une mémoire semiconductrice selon un mode de réalisation de la présente invention ; et les figures 2A et 2P sont des organigrammes illustrant L'opération d'écriture de données effectuée par le dispositif de l'invention. Sur la figure 1, est représenté un schéma de principe qui montre une configuration d'un dispositif permettant d'écrire des données selon un mode de réalisation de l'invention. Ce mode de réalisation présente la configuration d'un système å microordinateur, par exemple une carte å circuit intérgré utilisant une unité centrale de traitement (CPU) du type Z80, que produit la société ZILOG. Sur cette figure, le numéro de référence 1 designe une CPU, 2 une EEPROM servant å emmagasiner diverses données, 3 une memoire morte ROM, (par exemple une ROM å masque) dans laquelle un programme d'exploitation de la CPU 1 est emmagasine, et 4 une mémoire vive (RAM) servant de memoire de travail pendant le fonctionnement de la CPU 1. Les mémoires 2, 3 et 4 sont disposées sur une carte mémoire de la CPU 1. Comme on peut le voir sur la figure 1, la CPU 1, la EEPROM 2, la ROM 3 et la RAM 4 sont connectees entre elles par un bus d'adresses de 16 bits S et un bus de données de 8 bits 6. La CPU 1 est connectée à un décodeur 7 par l'intermédiaire du bus d'adresses S. Le décodeur 7 revoit les données d'adresses AOO å A15 et un signal de demande de mémoire MREQ de la part de la CPU 1 afin de produire un signal de validation de puce CE. Le signal de validation de puce CE est fourni aux mémoires 2, 3 et 4. La EEPROM 2 délivre, sur sa borne R/B, un signal d'opération d'écriture interne, c'est-å-dire un signal d'état pret/ état occupe (R/B), comme signal d'etat. Le signal R/B est fourni å une borne d'entrée d'une porte å trois états 8. La porte å trois états 8 est commandée par le signal de sortie d'un circuit OU 9, qui reçoit un signal de demande d'entree/sortie IORQ et un signal d'impulsion de lecture RD de la part de la CPU 1. Le signal d'impulsion de lecture RD est également fourni à la EEPROM 2, la ROM 3 et la RAM 4, sur leurs entrées OE. La porte å trois états 8 passe de l'état non conducteur å L'état conducteur dans le sesl cas ou les deux signaux IORQ et RD venant de la CPU 1 prennent un niveau bas et la porte 8 transmet le signal R/B fourni å sa borne d'entrée au bit zero du bus de données 6. La CPU 1 fournit un signal d'écriture WR aux bornes de validation d'écriture WE de la EEPROM 2 et de la RAM L. On va maintenant décrire, en relation avec les organigrammes des figures 2A et 2B le processus au cours duquel la CPU 1 lit une rangée de données de la RAM 4 et L'écrit dans la EEPROM 2. Une technique de pagination est utilisée comme système de gestion de mémoire pour la EEPROM 2. Sur la figure 2A, des données d'écriture sont fournies par la RAM 4 à la EEPROM 2 via le bus de donées 6 (etape SO). L'adresse initiale (adresse initiale d'écriture) d'une région de mémorisation de la EEPROM 2 pour laquelle a été faite une demande d'écriture est soustraite de l'adresse initiale de la page faisant suite å la page å laquelle la première adresse initiale appartient, et le resultat de la SOuS- traction est conservé sous-la forme "RESULTAT 1' (état S1). Si l'on suppose que la EEPROM 2 utilisée dans le présent mode de réalisation est du type å 32 bytes/page, "RESULTAT 1" est calcule de la maniere suivante. Si l'adresse initiale d'ecriture de la Page est @A000, l'adresse initiale de la page suivante est @A020 et, par conséquent, "RESULTAT 1" est 32 bytes. En outre, si l'adresse initiale de la page est @A082, l'adresse initiale de la page suivante est @A0A0 et, par conséquent, "RESULTAT 1" est 30 bytes. Du "nombre de bytes" des données d'écriture situées dans une rangée de données de la RAM 4 qui doivent être écrites dans la EEPROM 2, on soustrait le nombre de bytes de "RESULTAT 1" et, alors, on emmagasine le résultat de la soustraction sous la forme "RESULTAT 2" (étape S2). Si "RESULTAT 2" est nul ou négatif (étape S3), on utilise le "nombre de bytes" des données d'écriture comme nombre de bytes des données d'écriture d'ensemble (étape S4). Si "RESULTAT 2" ntest ni nul, ni négatif, on utilise le "RESULTAT 2 lui-meme comme nombre de bytes des données d'écriture d'ensemble (étape S5). A l'etape S6, on soustrait du nombre de bytes des données d'écriture le nombre de bytes des données d'écriture d'ensembLe utilise å l'étape S4 ou S5, et le résultat de la soustraction est conserve comme nouveau nombre de bytes des données d'écriture. A l'étape S7, une minuterie est prépositionnée sur une durée prédéterminée en fonction du nombre de bytes des données d'écriture. A l'étape S8, les donnees correspondant au nombre de bytes des données d'écriture d'ensemble sont écrites en séquence å partir de l'adresse initiale des données d'ecriture dans la EEPROM 2 par une procédure d'écriture de pages. A l'étape S9 de la figure 2B, si le bit le moins significatif (LSB) des données obtenues par une instruction d'entrée d'espace d'entrée/sortie (I/O) est dans L'état pret "1", l'opra- tion d'écriture de données est arrivée a son terme et, par consé- quent, l'organigramme passe a l'étape S12. Si le bit le moins significatif est dans un état occupe "O", l'opération d'écriture de données n'est pas arrivée å son terme, si bien que la minuterie est décrémentée (étape S1û), et il est ensuite confirme si la minuterie est positionnée ou non å "O" Retape S11). Si la minuterie n'est pas positionnée à "0", l'organigramme revient à l'étape S9. Si la minuterie est positionnée à "0", l'opération d'écriture ne s'est pas terminée dans les limites d'une durée prédéterminée, et le signal (R/B) d'opération d'écriture interne de la EEPROM 2 n'est pas passe de l'état occupe å l'état prêt. On effectue donc le traitement d'erreur. A l'etape S12, on vérifie les données a l'aide de l'adresse initiale des données d'écriture, du nombre de bytes des données d'écriture d'ensemble, et de la rangée des données d'criture, qui ont été traites å l'étape S8 antérieure. Si le resultat de la vérification est négatif (etape S13), alors on effectue le traitement d'erreur. Si le resultat de la vérification est positif (etape S13), il est détermine si le nombre de bytes qui ont été remis å jour å l'étape précédente S6 est ou non "O" (étape S14). Si le nombre de bytes est "O", l'opération d'ecriture est arrivée å son terme. Si ce n'est pas "O", l'adresse suivante de la région courante des données d'ecriture d'ensemble est alors positionnée comme adresse initiale des données d'écriture (étape S15), puis l'organigramme revient å l'étape S1 de la figure 2A. Selon L'invention, non seulement on contrôle l'arrivée å son terme de l'opération d'écriture de données à l'aide du signal R/B, c'est-å-dire un signal d'état qui est délivre par la EEPROM 2 et @eprésente la fin de l'opération d'écriture de données, mais on contrôle également, å l'aide de la minuterie, la durée nécessaire pour achever L'opération d'écriture de données. Même lorsqu'une défaillance de la EEPROM 2 se produit et que, par conséquent, le signal R/B continue de rester dans un etat occupé, on peut mettre fin à l'opération d'écriture et on peut parfaitement empêcher L'arrêt inopiné du système utilisant la EEPROM 2. Dans le mode de réalisation c;-dessus, on utilise la EEPROM 2, où le signal R/B est délivré par la borne RIB. Toutefois, par exempLe, on peut utiliser une EEPROM employant un système d'appel de données. Alors qu'une minuterie d'un type logiciel est réalisée à l'étape S10 de l'organigramme ci-dessus, cette même fonction pourrait être exécutée par une minuterie ta de type reel représentée sur la figure 1 Dans ce cas, la minuterie concrete la démarre å l'instant ou l'opration d'ecriture de données commence, å l'étape S8. En ce qu; concerne le traitement d'erreurs intervenant apres que la minuterie a été positionnee par "O' å l'étape S11, il est souhaible de passer de l'état occupe å l'état prêt par un procédé propre au type particulier de la EEPROM 2. Comme décrit en détail, selon l'invention, on peut produire un procédé d'écriture de données dans une mmoire sem;- conductrice ou l'operation d'écriture de données peut prendre fin même lorsqu'une défaillance de la mémoire se produit, et, par conséquent, on peut parfaitement empecher l'arrêt inopiné du système utilisant la mémoire. Bien entendu, l'homme de l'art sera en mesure d'imaginer, à partir du procédé et du dispositif dont la description vient d'être donnée å titre simplement illustratif et nullement limitatif, diverses variantes et modifications ne sortant pas du cadre de l'invention. REVENDICATIONS 1. Procédé d'écriture de données, å partir d'un premier moyen (4) servant à fournir les données, dans un moyen de mémorisation (2) servant å emmagasiner les données, caractérisé en ce qu'il comprend les opérations suivantes : recevoir (SO) les données en provenance du premier moyen ecrire (S8) les données dans le moyen de mémorisation (2) en réponse à l'opération de réception (S0) ; compter (S10) le temps en réponse å l'opération d'écriture (S8) ; comparer (S11) le temps compté dans l'opération de comptage (S10) avec un temps prédéterminé ; et donner, en réponse au résultat comparé par l'opération de comparaison (S11), l'information (S9) selon laquelle l'opération d'écriture (S8) est arrivée à son terme. 2. Procède selon la revendication 1, caractérisé en ce qu'il comprend en outre l'opération consistant å déterminer (S6) la quantité de données devant être écrites dans le moyen de mémorisation (2). 3. Procédé selon la revendication 2, caractérisé en ce qu'il comprend en outre l'opération consistant å fixer (S7) le temps prédéterminé en réponse à la quantité de données prédéterminées dans l'opération de détermination (S6). 4. Procédé selon la revendication 1, caractérisé en ce que l'opération d'information comprend l'opération consistant à délivrer un signal d'erreur lorsque le temPs compte dans l'opération de comptage (S10) est plus long que le temps prédé- terminé de l'opération de comparaison (S11). 5. Dispositif d'écriture de données dans un moyen de mémorisation (2) servant a emmagasiner les données, ledit dispositif étant caractérisé en ce qu'il comprend : un moyen (S0) servant à fournir les données au moyen de mémorisation (2) ; un moyen (S8) servant à écrire dans le moyen de mémorisation (2) les données fournies par le moyen de fourniture (SO) ; un moyen (S7) servant à indiquer un temps de début lorsque le moyen d'écriture (S8) commence à écrire les données dans le moyen de mémorisation (2) ; un moyen (1a ; S10 ; S11) servant à compter le temps en réponse au temps de début indique par le moyen d'indication (S7) ; un moyen (S11) servant à comparer le temps compte par le moyen de comptage (1a ; S10 ; S11) avec un temps prédéterminé ; et un moyen (S9) servant à délivrer une information de fin d'écriture indiquant la fin d'une opération d'ecriture du moyen d'écriture (S8) en réponse au résultat comparé par le moyen de comparaison (S11).