Brevet FR2600445A1 — publié le 19871224

L'invention concerne un appareil électronique portatif, du type appeLé carte à circuit intégré et incorporant un circuit intégré (IC) possédant, par exemple, une mémoire de données permanente et un élément de commande tel qu'une unité centrale de trai5 tement (CPU). Récemment, des cartes à circuit intégré incorporant des puces à circuit intégré dotées de mémoires de données permanentes et d'éléments de commande tels que des CPU ont commencé de faire valoir leur importance comme nouveau moyen d'emmagasinage de données 10 portatif. Les données emmagasinées dans la mémoire de données qui est incorporée dans cette carte à circuit intégré sont gérées par un élément de commande interne ou une unité externe. Comme procédé d'accès à une telle carte à circuit intégré, il est mis en oeuvre un accès direct dans lequel la mémoire de données 15 est divisée en plusieurs zones auxquelles il est respectivement donné accès. Dans ce cas, une donnée spécifique telle qu'une adresse in-itiale de la zone cible et le nombre de bytes constituant la zone est enregistrée dans la carte à circuit intégré. Lorsque la donnée de la zone cible s'est ajoutée à la donnée d'instruction d'entrée, la donnée spéci20 fique de la zone cible contenue dans la carte à circuit intégré est recherchée, est transformée en une donnée d'accès physique, et est traitée. Toutefois, dans une carte à circuit intégré classique, on détermine si une certaine zone se trouve ou non dans l'état de 25 non-écriture de donnée en vérifiant que tous les bytes de la zone considérée sont dans l'état initial (tous les bytes sont "FF"). Ainsi, lorsqu'il existe une demande externe d'effacement de toutes les données de la zone, il faut que "FF" soit écrit dans tous les bytes de la zone cible. De cette manière, dans la carte à circuit intégré classique, il faut vérifier si tous les bytes sont ou non dans l'état initial pour déterminer si la zone constituant la cible d'accès est ou non dans l'état de non-écriture de donnée. Ainsi, on ne peut pas effectuer rapidement ladétermination. De plus, puisque toutes les données de la zone doivent être positionnées dans l'état de nonécriture de donnée pour permettre l'effacement de la donnée, un effacement de donnée ne peut pas être effectué rapidement. C'est un but de l'invention de proposer un appareil électronique portatif dans lequel on peut rapidement déterminer si une zone constituant une cible d'accès est ou non dans un état de non-écriture de donnée et o on peut rapidement effectuer un efface5 ment de donnée. Pour réaliser le but ci-dessus indiqué, l'appareil électronique portatif selon l'invention comprend un moyen d'emmagasinage divisé en plusieurs zones, chacune desdites zones divisées étant divisée en plusieurs blocs, chacune des zones possédant un secteur 10 de donnée indiquantune zonedenon-écriture qui sert à indiquer si la zone est une zone non écrite; et un moyen de commande d'accès connecté au moyen d'emmagasinage et permettant de commander l'accès grâce à la vérification du fait qu'une zone à laquelle il doit être accédé est ou non une zone non écrite par référence au secteur de 15 donnée indiquant une zone non écrite lorsqu'il doit être fait accès à l'une quelconque des différentes zones du moyen d'emmagasinage. Selon l'appareil électronique portatif de l'invention -il est prévu une zone servant à emmagasiner une donnée spécifique en fonction du fait qu'une donnée est ou non écrite dans cette zone, et l'état non écrit de la zone est déterminé en fonction du fait que la donnée spécifique est initialisée ou non. Lorsque la donnée de la zone doit être effacée, seule la donnée spécifique est initialisée. Ainsi, on peut rapidement déterminer l'état de non-écriture de donnée dans la zone et on peut rapidement effectuer un effacement de donnée 25 dans la zone. 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 schéma de principe montrant la disposition d'une unité de manipulation de carte utilisée comme unité terminale d'un système de traitement d'opérations bancaires à domicile ou d'un système d'achat à domicile qui adopte une carte à circuit intégré comme appareil électronique portatif selon 35 l'invention; - la figure 2 est un schéma de principe de la carte à circuit intégré faisant fonction de l'appareil électronique portatif selon l'invention; - la figure 3 est un schéma de principe montrant la disposition d'une puce à circuit intégré incorporée dans la carte à circuit intégré représentée sur la figure 2; la figure 4 est une représentation détaillée, ou format détaillé, de mémorisation pour une mémoire de données représentée sur la figure 3; - la figure 5 est une vue de la zone "00" de la mémoire de données représentée sur la figure 3; - la figure 6 montre la représentation, ou format, de la 10 donnée d'attribut emmgasinée dans les parties hachurées représentées sur la figure 4; - les figures 7A et 7B sont des organigrammes de l'opération d'écriture relative à la mémoire de données représentée sur la figure 3; - la figure 8_présente le format de l'instruction d'écriture utilisée dans l'opération d'écriture représentée sur les figures 7A et 7B; - les figures 9A et 9B sont des organigrammes de l'opération d'écriture continue relative à la mémoire de données représentée 20 sur la figure 3; - la figure 10 montre le format d'une instruction d'écriture continue utilisée dans l'opération d'écriture continue représentée sur les figures 9A et 9B; - les figures 11A à 11J sont des-diagrammes servant à expli25 quer une opération d'écriture pratique représentée dans les organigrammes des figures 7A et 7B; - les figures 12A à 12C sont des organigrammes montrant une opération d'écriture relative à la mémoire de données représentée sur la figure 3; - la figure 13 montre le format d'une instruction de lecture utilisée dans l'opération de lecture représentée sur-les figures 12A à 12C; - les figures 14A et 14B sont les organigrammes d'une opération de lecture continue relative à la mémoire de données représentée sur la figure 3; la figure 15 montre le format d'une instruction de lecture continue utilisée dans l'opération de lecture continue représentée sur les figures 14A et 14B; - les figures 16A à 16F sont des schémas servant à expliquer une opération de lecture pratique représentée sur les figures 12A à 12C; la figure 17 est un organigramme servant à expliquer une 5 opération d'effacement relative à la mémoire de données représentée sur la figure 3; et - la figure 18 montre le format d'une instruction d'effacement utilisée dans l'opération d'effacement représentée sur la figure 17. Sur la figure 1, est présenté le schéma d'un système de manipulation de carte utilisé comme unité terminale d'un système de traitement d'opérations banquaires à domicile ou d'un système d'achat à domicile qui a adopté une carte à circuit intégré comme appareil électronique portatif selon l'invention. Plus spécialement, 15 dans ce système de manipulation de carte, une carte à circuit intégré peut être connectée à une unité centrale de traitement (CPU) 3 v4a un dispositif 2 de lecture-écriture de carte et la CPU 3 est connectée à un clavier 4, une unité d'affichage à tube cathodique 5, une imprimante 6, et une unité pour disque souple 7. La carte à circuit intégré 1 est la propriété d'un utilisateur, et celuici l'utilise en faisant référence à un PIN (numéro d'identification personnelY connu de lui seul ou lorsqu'une donnée nécessaire y est emmgasinée. La figure 2 montre ses blocs de fonction. Comme on peut le voir sur la figure 2, la carte 1 comprend des sections servant à exécuter des 25 fonctions de base, telles qu'une section 11 de lecture-écriture, une section 12 de fixation-recueil de PIN, et une section 13 de chiffrementdéchiffrement, ainsi qu'un superviseur 14 servant à gérer ces fonctions de base. La section de lecture-écriture 11 lit, écrit ou efface la donnée relativement à la mémoire de données 16. La 30 section 12 de fixationrecueil de PIN emmagasine le PIN fixé par l'utilisateur, empêche la lecture du PIN, recueille les PIN lorsqu'un PIN est introduit et donne l'autorisation de la poursuite du traitement. La section 13 de chiffrement-déchiffrement déchiffre les données de transmission afin d'empêcher que la donnée de transmission 35 ne soit observée ou copié illégitimement lorsque cette donnée est transmise de la CPU 3 à une autre unité terminale par l'intermédiaire d'un réseau de communication par exemple, et déchiffre les données chiffrées. La section 13 de chiffrementdéchiffrement a pour fonction d'effectuer le traitement de données en fonction d'un algorithme de chiffrement, par exemple l'algorithme DES (Date Encryption Standard, ou norme de chiffrement américaine), qui offre une capacité de chiffrement suffisante. Le superviseur 14 déchiffre un signal d'entrée de code de fonction provenant du dispositif 2 de lectureécriture ou un code de fonction adjoint à une donnée, et il sélectionne et excécute la fonction voulue parmi les fonctions de base. Pour réaliser ces diverses fonctions, la carte à circuit intégré 1 comprend une CPU 15 comme section de commande, une mémoire de données permanente 16 comme section de mémoire de données dont le contenu peut être efface, une mémoire de programme 17, et une section de contact 18 servant à réaliser un contact électrique avec le dispositif 2 de lectureécriture de carte tel que représenté sur la figure 3 par exemple. Parmi ces composants, la CPU 15 et tes mémoires 16 et 17, entourées par une ligne en trait interrompu, sont constituées paruneuniquepuce àcircuit intégré. La CPU 15 possède une mémoire à accès direct, ou mémoire vive, (RAM) 19. La mémoire 17 comprend par exemple une mémoire morte (ROM) à masque et emmagasine un programme de commande pour la CPU 15 possédant un sousprogramme permettant de valider les fonctions de base ci-dessus décrites. La mémoire 16 est utilisée pour emmagasiner diverses données et comprend par exemple une mémoire morte programmable électriquement 25 effaçable (EEPROM). La mémoire de données 16 est divisée en plusieurs zones, comme représenté sur la figure 4. Chacune de ces zones est divisée en un ou plusieurs blocs. Chaque bloc est constitué par un nombre prédéterminé de bytes. Le traitement s'effectue par unités de blocs. 30 Un bloc est constitué d'une donnée d'attribut (1 byte) (la partie hachurée sur la figure 4)et d'une donnée d'emmagasinage. Des numéros de zones "00" à "FF" sont assignés à des zones correspondantes, chacune étant divisée de la manière présentée sur la figure 4. Parmi elles, la zone "00" comprend un secteur 20 de numéro de zone, 35 un secteur 22 du nombre de bytes, un secteur 24 d'adresse initiale indiquant l'adresse de début de chaque zone, et un secteur 26 d'adresse finale indiquant l'adresse finale de chaque zone, ainsi que cela est représenté sur la figure 5. L'adresse de début de la zone "01" est l'adresse aaa et son adresse finale est l'adresse bbb. Un bloc est constitué de 6 bytes. Le nombre de bytes de la donnée d'emma5 gasinage est de 5 bytes par bloc. Une zone est prévue au début de chaque zone pour emmagasiner une adresse (à laquelle on se raportera ci-après comme étant une donnée de pointeur) d'un byte final d'un bloc final lorsque le bloc final est écrit au moment de l'écriture de la donnée. La donnée d'attribut comporte un identificateur qui 1 0 indique si la donnée d'emmagasinage correspondante est ou non valable, et un autre identificateur qui indique si le bloc correspondant est un bloc emmagasinant la donnée finale lorsqu'une cha ne de données d'emmagasinage est constituée de plusieurs blocs. La figure 6 montre le format de la donnée d'attribut. Comme 15 représenté sur la figure 6, le sixième bit est un identificateur indiquant si la donnée d'emmagasinage du bloc correspondant est -ou non valable. Si ce bit est "1", ba donnée d'emmagasinage est non valable; si c'est "O", la donnée d'emmagasinage est valable. Le septième est un identificateur indiquant si le bloc correspondant 20 est un bloc qui comporte le byte final d'une chaîne de données. Si ce bit est "1", le bloc correspondant est un bloc ne comportant pas le byte final; si c'est "O", le bloc correspondant est un bloc qui comporte le byte final. On note que les bits des rangs d'ordre O à 5 sont des bits fictifs. On va décrire ci-dessous, en relation avec les organigrammes des figures 7A et 7B, une opération d'écriture de donnée relative à la mémoire de données 16 de la carte à circuit intégré 1 présentant le montage ci-dessus. L'écriture d'une donnée dans la mémoire de données 16 de la carte à circuit intégré 1 est exécutée lorsqu'une donnée d'instruction ayant un format tel que-présenté sur la figure 8 est délivrée à la carte 1 via le dispositif de lecture-écriture 2 en provenance de la CPU 3, comme représenté sur la figure 1, et lorsque la CPU 15 exécute l'instruction. L'instruction d'écriture est constituée d'un 35 secteur 28 de code de fonction d'écriture, d'un secteur 30 de numéro de zone, d'un secteur 32 de donnée du nombre de bytes, et d'un secteur 34 de chaTne de données. La donnée d'emmagasinage est constituée par une chaîne de données devant être emmagasinée, et la donnée du nombre de bytes (qui sera appelée le nombre de bytes dans la chaîne de données ci-après) constituant la chaîne de données. Dans un état normal, un mode d'attente d'instruction pour le dispositif de Lecture-écriture 2 de carte est positionné. Dans ce cas, lorsqu'une donnée d'instruction est délivrée par Le dispositif de Lectureécriture 2, la CPU 15 vérifie au cours de l'étape 36 si le code d'instruction appartenant à la donnée d'ins10 truction se raporte ou non à l'écriture. Si la réponse est oui à l'étape 36, la CPU 15 trouve, à l'étape 38, un numéro de zone adjoint à la donnée d'instruction à partir de la zone "00" de la mémoire de données 16. Si le numéro de zone correspondant n'est pas trouvé (non à l'étape 38), la CPU 15 délivre, à l'étape 40, une donnée de réponse 15 indiquant qu'une zone correspondante n'a pas été trouvée au dispositif de lecture-écriture 2 de carte, et l'organigramme revient à un mode d'attente de données d'instruction qui attend une donnée d'instruction de la part du dispositif de lectureécriture 2. Si la réponse est oui à l'étape 38, la CPU 15 renvoie à la donnée d'unité de traitement 20 correspondante. Lorsqu'une donnée d'emmagasinage doit être écrite dans une zone, la CPU 15 renvoie à la donnée de pointeur placée au début de la zone dans l'étape 42 et vérifie l'adresse initiale. Ensuite, à l'étape 44, la CPU 15 compare la donnée du nombre de bytes contenus dans la donnée d'instruction et la capacité (le nombre de 25 bytes) de chaque zone représentée sur la figure 5 pour déterminer si la donnée d'emmagasinage fournie peut être entièrement emmagasinée dans la zone. Si la réponse est non à l'étape 44, la CPU 15 délivre une donnée de réponse indiquant que la donnée du. nombre de bytes est erronée au dispositif de lecture-écriture 2, à l'étape 48, et 30 l'organigramme revient au mode d'attente de donnée d'instruction en ce qui concerne le dispositif de lecture-écriture 2. Si La réponse est oui à l'étape 44, la CPU 15 compare le nombre de bytes dans la chaîne de données avec la donnée du nombre de bytes incLuse dans la donnée d'instruction d'entrée, à l'étape 46. En résultat 35 de cette vérification, si le nombre de bytes est plus grande que la donnée du nombre de bytes (c'est-à-dire si la réponse est positive à l'étape 46), la CPU 15 délivre une donnée de réponse indiquant que la donnée du nombre de bytes est erronée au dispositif de lecture-écriture 2, à l'étape 48, et l'organigramme revient au mode d'attente d'une donnée d'instruction. Sinon (c'est-à-dire si la réponse est non à l'étape 46), le nombre de bytes contenu dans la chaîne de données est soustrait de la donnée du nombre de bytes afin qu'il soit produit un résultat donnant la quantité restante, à l'étape 50. A l'étape 52, la CPU 15 de la carte 1 positionne à "1" le bit le plus significatif (secteur 32 de la figure 8) de la chaîne de bits constituant la donnée du nombre de bytes représentée sur la figure 8, en invalidant ainsi temporairement la donnée d'emmagasinage. Ensuite, à l'étape 54, la CPU 15 divise la donnée d'emmagasinage en unités de traitement, adjoint une donnée d'attribut à chacune des données divisées et les emmagasine. Plus spécialement, à l'étape 56, la CPU 15 vérifie si la chaîne de données à écrire est la donnéedivisée finale. Si la réponse est non à l'étape 56, la donnée divisée est écrite dans la mémoire de données 16 à l'étape 58 et la donnée divisée suivante à écrire est préparée dans l'étape 60. Si la réponse est oui à l'étape 56, il est vérifié à l'étape 62 si la quantité restante est ou non "0". Dans ce cas, si la quantité restante détenue par avance est "0" (oui à l'étape 62), la donnée divisée finale est écrite à l'étape 70, et le bit le plus significatif de la chaîne de bits constituant la donnée du nombre de bytes représenté sur la figure 8 est positionné à "0" à l'étape 72. Ainsi, la donnée d'emmagasinage est validée et l'adresse finale du bloc comportant le byte final de la chaîne de données d'emmagasinage est emmagasinée comme donnée de pointeur. A l'étape 74, la CPU 15 délivre une donnée de réponse indiquant l'achèvement de l'écriture, 30 et l'organigramme revient au mode d'attente de donnée d'instruction. Toutefois, si la réponse est non à l'étape 62, la CPU 15 n'emmagasine pas que la donnée divisée finale, mais la maintient dans une RAM interne, à L'étape 64. Ensuite, à l'étape 66, la CPU 15 positionne le drapeau d'acceptation d'écriture continue et maintient l'adresse 35 intiale du nouveau bloc non écrit de la RAM comme adresse initiale d'écriture. A l'étape 88, la CPU 15 délivre une donnée de réponse indiquant une acceptation d'écriture continue, et L'organigramme revient au mode d'attente de donnée d'instruction. On va maintenant décrire, en relation avec les organigrammes présentés sur les figures 9A et 9B, une opération d'écriture continue. Lorsqu'une écriture continue est effectuée, une donnée d'instruction d'écriture continue possédant le format présenté sur la figure 10 est fournie. La donnée d'instruction d'écriture continue consiste en un secteur 76 de code de fonction d'écriture continue et un secteur 78 de donnée d'emmagasinage. Lorsqu'il est déterminé à 10 l'étape 80 que la donnée d'instruction d'écriture continue a été fournie (si la réponse est oui à l'étape 80), la CPU 15 renvoie au drapeau d'acceptation d'écriture continue et vérifie si le drapeau est positionné, au cours de l'étape 82. Si la réponse est non à l'étape 82, la CPU 15 délivre une donnée de réponse indiquant une 15 erreur de séquence au dispositif 2 de lecture/écriture de carte à l'étape 84, et l'organigramme revient au mode d'attente de donnée d'instruction. Si la réponse est oui à l'étape 82, la CPU 15 vérifie le nombre de bytes de la donnée d'emmagasinage d'entrée et la quantité 20 restante, à l'étape 86. En résultat de la vérification effectuée à l'étape 86, si la première quantité est plus grande que la deuxième (réponse oui à l'étape 86), la CPU 15 déLivre une donnée de réponse indiquant que la donnée du nombre de bytes est erronée, à l'étape 88, et l'organigramme revient au mode d'attente de données d'instruction. 25 Sinon (si la réponse est non à l'étape 86), la CPU 15 soustrait la première quantité de la deuxième quantité et conserve le résultat de la soustraction comme nouvelle quantité restante, à l'étape 90i Ensuite, à l'étape 92, la CPU 15 prod4it une nouvelle donnée d'emmagasinage en adjoignant la donnée divisée finale précé30 dente, conservée en avance dans la RAM, à l'entête de la donnée d'emmagasinage d'entrée. A l'étape 94, la CPU 15 divise la nouvelle donnée d'emmagasinage en données d'unités de traitement et adjoint une donnée d'attribut aux données divisées respectives. Ensuite, la CPU 15 emmagasine la donnée reposant sur l'adresse initiale 35 d'écriture maintenue dans la RAM à l'avance. Plus spécialement, la CPU 15 divise la donnée en unités de traitement à l'étape 94, et vérifie à l'étape 96 si la chaîne de données à écrire est la donnée divisée finale. Si La réponse est non à l'étape 96, La donnée divisée est écrite à L'étape 98, une préparation à L'écriture de la nouvelle donnée divisée est effectuée à l'étape 100, et l'orga5 nigramme revient à l'étape 96. Si la réponse est oui à l'étape 96,'il est vérifié, à l'étape 102, si la quantité restante est "0". Si la réponse est oui à l'étape 102, La donnée divisée finale est écrite à l'étape 104, le bit le plus significatif de la donnée du nombre de bytes est 10 fixé à "0" à l'étape 106, et la donnée de pointeur est remise à jour. Ensuite, la CPU 15 repositionne le drapeau d'acceptation d'écriture continue à l'étape 108, et déLivre une donnée de réponse indiquant l'achèvement de l'écriture à l'étape 110. Si la réponse est non à l'étape 102, la donnée divisée 15 finale est emmagasinée dans la RAM à l'étape 112. A l'étape 114, l'adresse initiaLe du bloc à écrire ensuite est emmagasinée, et te drapeau d'acceptation d'écriture continue est positionné. A L'étape 116, la CPU 15 déLivre une donnée de réponse indiquant l'acceptation de l'écriture continue, et L'organigramme revient 20 au mode d'attente de donnée d'instruction. De cette manière, est emmagasinée une chaîne de données qui ne peut être écrite en une seule transmission. Dans un bloc destiné à emmagasiner la donnée divisée finale au cas o la quantité restante est "0", les septième et sixième bits sont tous deux posi25 tionnés à "0". Par exemple, on suppose que la donnée d'instruction telle que représentée sur la figure 11A est appliquée. Ceci correspond à une donnée d'instruction d'écriture et sa zone cJble est "02". Le nombre de bytes d'unités de traitement de la zone "02" est 4. Tout 30 d'abord, la donnée du nombre de bytes contenue dans la donnée d'instruction d'entrée est extraite. Simultanément, on est renvoyé à la donnée de pointeur placée au début de la zone "02" pour vérifier que toute la donnée d'emmagasinage peut être emmagasinée. Ensuite, le bit le plus significatif de la donnée du nombre de bytes est 35 positionné à "1" (figure 11B). Ensuite, la quantité restante est positionnée à partir du nombre de bytes de la donnée d'emmagasinage et de la valeur de la donnée du nombre de bytes (figure 11C). La donnée d'emmagasinage est divisée par le nombre de bytes d'unités de traitement (figure 11D) et est emmagasinée dans la zone "02", comme représenté sur la figure 11E. Toutefois, puisque la quantité restante est autre que "0", la donnée divisée finale n'est pas emmagasinée. Ensuite, une adresse à écrire ensuite est maintenue, et le drapeau d'acceptation d'écriture continue est positionné. Dans cet état, on suppose que la donnée d'instruction d'écriture telle que présentée sur la figure 11F est appliquée. 10 Ensuite, une vérification est faite sur le nombre de bytes de la donnée d'emmagasinage appartenant à cette donnée d'instruction. Si le résultat de la vérification est acceptable, une nouvelle quantité restante est fixée à partir de la quantité de fixation précédente et du nombre de bytes de la donnée d'emmagasinage actuel15 lement en cours (figure 11G). La donnée divisée finale préalablement maintenue et la donnée d'emmagasinage actuellement en cours sontcombinées (figure 11H). La donnée d'emmagasinage résultante est divisée par le nombre de bytes d'unités de traitement (figure 11I) et est emmagasinée en fonction de l'adresse d'écriture préalable20 ment emmagasinée (figure 11J). Dans ce cas, puisque la quantité restante est "0", le bit le plus significatif de la donnée du nombre de bytes est fixé à "O", et l'adresse finale est emmagasinée comme donnée de pointeur. On va maintenant décrire, en relation avec les organigrammes 25 présentés sur les figures 12A à 12C, une opération de lecture de données relative à la mémoire de données 16. Lorsque la donnée emmagasinée dans la mémoire de données 16 doit être lue, une donnée d'instruction de lecture possédant le format de donnée tel que présenté sur la figure 13 est fournie. Cette donnée d'instruc30 tion de lecture consiste en un code de fonction de lecture 118 et un numéro de zone 120. Dans un état normal, un mode d'attente de donnée d'instruction visant à faire attendre une instruction de la part du dispositif 2 de lecture-écriture de carte est positionné. Dans ce cas, lorsque la donnée d'instruction est introduite à partir 35 du dispositif 2 de lecture-écriture, la CPU 15 vérifie à l'étape 122 si le code de fonction inclus dans la donnée d'instruction se rapporte à une lecture. Si la réponse est oui à l'étape 122, le CPU 15 cherche un numéro de zone adjoint à la donnée d'instruction en provenance de la zone "00" de la mémoire de données 16, au cours de l'étape 124. Si le numéro de zone correspondant n'a pas été trouvé (si la réponse est non à l'étape 124), la CPU 15 délivre une donnée de réponse indiquant que la zone correspondante n'a pas été trouvée à L'étape 126, et l'organigramme revient au mode d'attente de donnée d'instruction de l'étape 122. Si le numéro de zone correspondant est trouvé (réponse oui à L'étape 126), la 10 CPU 15 renvoie à la donnée d'unité de traitement correspondante et l'emmagasine dans la RAM qui emmagasine les adresses de début et de fin de cette zone. Lorsque la donnée contenue dans cette zone doit être lue, à l'étape 128, La CPU 15 fait référence à la donnée de pointeur située au début de la zone. S'il est déterminé 15 à l'étape 128 que tous les bits de cette donnée de pointeur sont "1" (réponse oui à l'étape 128), la CPU 15 détermine qu'aucune donnée n'est emmagasinée dans cette zone, et l'organigramme revient au mode d'attente de donnée d'instruction de l'étape 122. Toutefois, s'il est déterminé, dans l'étape 128, que tous les bits de 20 la donnée de pointeur ne sont pas "1" (réponse non à l'étape 128., la CPU 15 reconnaît le bloc initial de la donnée la plus récente dans cette zone sur la base de cette donnée de pointeur à l'étape 132. La donnée du nombre de bytes est emmagasinée dans ce bloc initial. Ensuite, la CPU 15 vérifie si la donnée du nombre de bytes est valable, au cours de l'étape 134. Si la réponse est non à l'étape 134, la CPU 15 délivre une donnée de réponse indiquant que ta donnée du nombre de bytes est erronée à l'étape 136. Toutefois, si la réponse est oui à l'étape 134, la CPU 15 vérifie, à l'étape 138, si le bit le plus significatif de la donnée du nombre de bytes est "0". Si la 30 réponse est non à l'étape 138 (si le bit le plus significatif de la donnée du nombre de bytes est "1"), la CPU 15 détermine que la chaîne de donnéesqui suit ce bit le plus significatif n'est pas valable et positionne la présence d'un drapeau de donnée non valable à l'étape 140. Toutefois, si la réponse est oui à l'étape 138, la CPU 15 positionne 35 la donnée du nombre de bytes dans le compteur à L'étape 142. Ensuite, la CPU 15 lit le byte simple suivant à l'étape 144 et vérifie, à l'étape 146, si le byte lu est une donnée d'attribut. Si la réponse est oui à l'étape 146, l'organigramme revient à l'étape 144 et le byte suivant est lu. Si la réponse est non à l'étape 144, la donnée lue est emmagasinée dans la RAM et le contenu du compteur subit une décrémentation d'une unité, à l'étape 148. A l'étape 150, il est déterminé si la RAM est pleine. Si la réponse est non à l'étape 150, il est vérifié, à l'étape 152, si le compteur est "0". Si la réponse est non à l'étape 152, l'organigramme revient à l'étape 144, et le byte simple suivant est lu. Toutefois, si la réponse est oui à l'étape 150, l'organigramme avance à l'étape 154 et il est vérifié si le compteur est ou non "0". Si la réponse est non à l'étape 154, la CPU 15 emmagasine une adresse finale lue dans la RAM et positionne un drapeau d'acceptation de lecture continue, à l'étape 156. Ensuite, à l'étape 158, la CPU 15 déLivre une donnée de réponse qui indique l'acceptation de la lecture continue et qui est adjoint à la cha5ne de données se trouvant dans la RAM, après quoi l'organigramme revient à l'étape 122. Toutefois, si la réponse est oui à l'étape 154, la CPU 15 20 vérifie, à l'étape 160, si la présence d'un drapeau de donnée non valabLe est ou non positionnée. Si la réponse est oui à l'étape 160, la CPU 15 délivre une donnée de réponse qui indique la donnée non valable et est adjointeà la chaîne de données se trouvant dans la RAM, à l'étape 162, après quoi l'organigramme revient à l'étape 122. 25 Toutefois, si la réponse est non à l'étape 160, la CPU 15 délivre une donnée de réponse qui indique l'achèvement de la lecture et est adjointeà la chaîne de données de la RAM, à l'étape 164, après quoi l'organigramme revient à l'étape 162. On va maintenant décrire, en relation avec les organigrammes 30 des figures 14A et 14B, une opération de lecture continue. Lorsqu'une lecture continue est effectuée, une donnée d'instruction de lecture continue possédant le format présenté sur la figure 15 est appliqué. La donnée d'instruction de lecture continue est constituée d'un secteur 196 de code de fonction de lecture continue et d'un secteur198 35 de numéro de zone. Lorsqu'il est déterminé, à l'étape 166, qu'une instruction de lecture continue est appliquée, la CPU 15 vérifie à l'étape 168 si un drapeau d'acceptation de lecture continue est ou non positionné. Si la réponse est non à l'étape 168, la CPU 15 délivre une donnée de réponse indiquant une erreur de séquence à l'étape 170, et l'organigramme revient à l'étape 166 pour attendre une donnée d'instruction de Lecture continue. Si La réponse est oui à L'étape 168, la nouvelle donnée de byte est lue à l'étape 172. Ensuite, la CPU 15 vérifie à l'étape 174 si la donnée de byte lué est une donnée d'attribut. Si La réponse est oui à l'étape 174, l'organigramme revient à l'étape 172 et la nouvelle donnée de byte 10 est lue. Toutefois, si la réponse est non à l'étape 174, la CPU 15 emmagasine la donnée lue dans la RAM et diminue le compteur d'une unité, à l'étape 176. A l'étape 178, la CPU 15 vérifie si la RAM est pleine. Si la réponse est non à l'étape 178, la CPU 15 vérifie à l'étape 180 si le compteur est ounon "0". Si la réponse est non 15. à l'étape 180, l'organigramme revient à l'étape 172 et la nouvelle donnée de byte est lue. - Si la réponse est oui à l'étape 180, l'organigramme avance à l'étape 188. A l'étape 178, si la RAM est pleine (si la réponse est oui 20 à l'étape 178), l'organigramme avance à l'étape 182 et vérifie si le contenu du compteur est ou non "0". Si la réponse est non à l'étape 182, l'organigramme avance à l'étape 184 pour emmagasiner l'adresse finale lue dans la RAM. Ensuite, à l'étape 186, la CPU 15 délivre une donnée de réponse qui indique l'acceptation de la lecture continue et est 25 adjointe à la chaîne de données de la RAM, après quoi l'organigramme revient à l'étape 166. Si la réponse est oui à l'étape 182, la CPU 15 repositionne le drapeau d'acceptation de lecture continue à C'étape 188, et il est vérifié, à l'étape 190, si la présence d'un drapeau de donnée non valable est ou non positionnée. Si la réponse est oui à l'étape 190, alors, à l'étape 192, la CPU 15 délivre une donnée de réponse qui indique une donnée non valable et est adjointe à la chaîne de données dans la RAM, après quoi l'organigramme revient à l'étape 166. Toutefois, si la réponse est non à l'étape 190, la CPU 15 délivre une 35 donnée de réponse qui indique l'achèvement de la lecture et est adjointe à la chaîne de données de la RAM, à l'étape 194, après quoi l'organigramme revient à l'étape 166. Par exemple, on suppose qu'une zone (la zone "02") ayant l'état présenté sur la figure 11J doit être lue par l'instruction de lecture telle que présentéesur la figure 16A. On note que la capacité de la RAM est de 8 bytes par exemple. Dans ce cas, la chaîne de données qui est lue par cette donnée d'instruction est une chaîne de données telle que présentée sur la figure 16B, et la donnée du nombre de bytes indique 1 byte. Ainsi, le compteur 10 est à "5" lorsqu'il est emmagasiné dans la RAM. Puisque la valeur de comptage est autre que "0", cette chaîne de données est adjointe à la donnée de réponse indiquant l'acceptation de la lecture continue et est délivrée (figure 16C). Lorsqu'une donnée d'instruction de lecture continue telle que présentéesur la figure 16D est appliquée 15 en entrée, une chaîne de données telle que présentée sur la figure 16E est positionnée dans la RAM. Dans ce cas, puisque la valeur de comptage est "O", cette chaîne de données est adjointe à la donnée de réponse indiquant l'achèvement de la lecture, et elle est délivrée (figure 16F). On va maintenant décrire, en relation avec l'organigramme de la figure 17, l'opération d'effacement relative à la mémoire de données 16. Lorsque la donnée emmagasinée dans la mémoire 16 doit être effacée, une donnée d'instruction d'effacement possédant le format présenté sur la figure 18 est appliquée. La donnée d'instruc25 tion d'effacement est constituée d'un secteur 200 de code de fonction d'effacement et d'un secteur 202 de. numéro de zone. A l'étape 204, lorsqu'il est déterminé qu'une instruction d'effacement est appliquée, la CPU 15 cherche un numéro de zone adjoint à la donnée d'instruction à partir de la zone "00" de la mémoire de données 16, au cours de 30 l'étape 206. Si le numéro de zone correspondant n'est pas trouvé à l'étape 206 (réponse non à l'étape 206), la CPU 15 délivre une donnée de réponse indiquant que la zone correspondante n'a pas été trouvée, à l'étape 208, et l'organigramme revient à l'étape 204, pour faire attendre l'instruction suivante. Si la réponse est oui à l'étape 206, 35 la CPU 15 se rapporte à l'adresse initiale de cette zone pour confirmer la donnée de pointeur de cette zone. Plus spécialement, la CPU 15 vérifie à l'étape 210 si tous Les bits de la donnée de pointeur sont ou non "1". Si la réponse est oui à l'étape 210, la CPU 15 délivre une donnée de réponse indiquant une zone non écrite au cours de l'étape 212, et le programme revient à l'étape 204. 05 Toutefois, si la réponse est non à L'étape 210 (si tous Les bits de la donnée de pointeur ne sont pas "1"), la CPU 15 positionne à "1" tous Les bits de cette donnée de pointeur, c'est-à-dire écrit FFH à l'étape 214, et déLivre une donnée de réponse indiquant l'achèvement de L'effacement à L'étape 216, et le programme revient 10 au mode d'attente de donnée d'instruction de l'étape 204. Dans le mode de réalisation ci-dessus présenté, comme indiqué sur la figure 3, la CPU 15, la mémoire de données 16 et la mémoire de programme 17 sont intégrées dans une unique puce. Toutefois, elles peuvent être formées sur des puces différentes. 15 IL est possible de modifier le mode de réalisation matériel du dispositif électronique portatif en restant dans les limites et l'étendue de l'invention. En outre, dans les modes de réalisation ci-dessus présentés, il a été choisi comme exemple d'un dispositif électronique portatif 20 une carte à circuit intégré. La forme du dispositif électronique portatif ne se limite pas à celle d'une carte, mais peut présenter la forme d'un bloc ou la forme d'un crayon. Bien entendu, l'homme de l'art sera en mesure d'imaginer, à partir 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. Appareil électronique portatif caractérisé en ce qu'il comprend: un moyen d'emmagasinage (16) divisé en plusieurs zones, 5 chacune des zones divisées étant divisée en plusieurs blocs, chacune des zones possédant un secteur de donnée d'indication de zone non écrite qui sert à indiquer si la zone est ou non une zone non écrite; et un moyen de commande d'accès (15), qui est connecté 10 audit moyen d'emmagasinage (16), servant à commander l'accès grâce au fait que l'on vérifie si une zone dans laquelle il doit être accédé est ou non une zone non écrite en se reportant au secteur de donnée d'indication de zone non écrite (donnée de pointeur) lorsqu'il doit être fait accès à l'une quelconque des zones. 2. Appareil selon la revendication 1, caractérisé en ce que le moyen de commande d'accès (15) est un microcalculateur. 3. Appareil selon la revendication 1, caractérisé en ce que, lorsque tous les bits constituant le secteur de donnée d'indication de zone non écrite sont des niveaux logiques "O" ou bien "1", 20 ledit moyen de commande d'accès (15) détermine que cette zone est une zone non écrite. 4. Appareil selon la revendication 1, caractérisé en ce que le moyen de commande d'accès (15) efface tous les blocs constituant une zone du secteur d'indication de zone non écrite en posi25 tionnant tous ces bits à un niveau logique "0" ou bien "1". 5. Appareil selon la revendication 1, caractérisé en ce que ledit moyen d'emmagasinage (16) comprend une mémoire morte électriquement effaçable. 6. Appareil selon la revendication 4, caractérisé en ce 30 qu'il possède en outre un élément de contact (18) destiné à être connecté à un système de manipulation (2, 3, 4, 5, 6, 7) de l'appareil électronique portatif, lequel est connecté extérieurement audit appareil (1), et ledit moyen de commande positionne le secteur de donnée d'indication de zone non écrite d'une zone désignée de façon 35 que tous les bits soient "1" ou que tous Les bits soient "O" en réponse à une instruction d'effacement introduite depuis ledit système de manipulation de l'appareil électronique portatif via ledit élément de contact. 7. Appareil selon la revendication 6, caractérisé en ce que L'instruction d'effacement consiste en un code de fonction (200) indiquant un effacement et un secteur de numéro de zone (202) servant à désigner une zone à effacer. 8. Appareil selon la revendication 6, caractérisé en ce que ledit appareil possède en outre un élément de contact (28) devant être connecté à un système de manipulation (2, 3, 4, 5, 6, 7) 10 *de l'appareil électronique portatif, lequel est connecté extérieurement audit appareil, ledit moyen de commande se reporte au secteur de donnée d'indication de zone non écrite d'une zone désignée en réponse à une instruction d'effacement introduite depuis ledit système de manipulation de l'appareil électronique portatif via ledit élément 15 de contact et, lorsque le secteur de donnée d'indication de zone non écrite est entièrement constitué de bits "1" ou entièrement constitué de bits "0", la zone est déterminée comme étant une zone non écrite, et un message indiquant une zone non écrite est délivré audit système de manipulation de l'appareil électronique portatif. 9. Appareil selon la revendication 1, caractérisé. en ce que le secteur de donnée d'indication de zone non écrite est également utilisé pour emmagasiner l'adresse initiale du bloc initial de donnée qui a été écrit le plus récemment dans la zone.