Brevet FR2678094A1 — publié le 19921224

CARTE À MÉMOIRE DE COMPTAGE DE DONNEES ET APPAREIL DE LECTURE La présente invention conoerne les circuits intégrés pour support portable de type passif, c'est-à-dire ne comprenant pas de microprooesseur interne mais seulement une mémoire et des moyens de décodage pour, en réponse à un nombre limité de signaux de commande, accéder séquentiellement à des cases sucoessives de ètte mémoire et y effectuer des opérations de lecture, d'écriture ou d'effacement. On ne mentionnera ci-après, par souci de simplicité, que des cartes à mémoire car il s'agit d'un support plus couram- ment utilisé mais il est clair que tout autre support portable peut être utilisé Ainsi on désigne ci-après par carte à mémoire l'ensemble d'un circuit intégré, de ses bornes d' accès et d'un support portable quelconque associable à un lecteur. Une application courante des cartes à mémoire est celle des cartes téléphoniques prépayées Dans de telles cartes, les cases de la meémoire sont initialement dans un certain état, et cet état est modifié en réponse à des impulsions externes correspondant par exemple à des unités téléphoniques, ou à des unités de coût d'un service quelconque fourni par un lecteur dans lequel est insérée la carte. La présente invention vise plus particulièrement des cartes dans lesquelles la mémoire de comptage de données est une mémoire effaçable électriquement, par exemple une mémoire de type EEPROM, c'est-à-dire une mémoire morte électriquement 5 programmable et électriquement effaçable. La figure 1 représente très schématiquement les prin- cipaux éléments d'une puce semiconductrice utilisable dans une carte à mémoire de ce type Traditionnellement, oette carte est associée à un lecteur avec lequel la carte peut caumuniquer par10 six plots d'accès: deux plots d'alimentation VSS et VCC, un plot de sortie Ot 1 T, et trois plots de programmation A, ST et B. Les plots de programmation envoient des signaux vers un ensemble de circuits logiques ou réseau logique programmable 1 pour comi- mander un décodeur de colonne 2 (DEC Y) et un décodeur de ligne15 3 (DEC X) associés à une mémoire EEPRCM 4 Les circuits logiques 1 permettent également, en fonction des signaux de commande, de placer la mémoire dans un état de lecture (R), d'écriture (W) ou d'effacement (E) Dans l'état de lecture, la case adressée de la mémoire est lue, c'est-à-dire que son état est fourni sur la borne OUT Dans l'état d'écriture, l'état de la case de mémoire adressée est mis à 1 Dans l'état d'effacement, un ensemble de cases adressées simultanément est remis à zéro Plus particuliè- rement, les bornes de commande A, ST et B sont généralement prévues pour recevoir l'un ou l'autre de trois ordres de can- mande: un ordre de remise à zéro qui établit un positionnement sur le premier bit de la mémoire, un ordre de lecture qui permet l'incrémentation de l'adresse mémoire et la fourniture en sortie de la valeur de la case adressée, et un ordre de programmation qui permet d'inverser l'état de la case ou des cases adressées pour réaliser une écriture ou un effacement Selon une caracté- ristique de ce type de mémoire, il n'est pas possible d'adresser simultanément en lecture et en écriture ou en effacement des emplacements distincts de la mémoire. L'un des avantages de l'utilisation d'une mémoire sélectivement effaçable électriquement est que l'on peut orga- niser la mémoire en un système de type boulier Ceci signifie que la mémoire est organisée en plusieurs étages comprenant chacun un certain nombre de cases Chaque fois qu'un étage de rang inférieur est plein, on valide une case de l'étage de rang immédiatement supérieur et on efface les cases des étages de rangs inférieurs Ainsi, par exemple, avec trois étages de huit cases on pourra compter au moins 8 x 8 x 8 informations au lieu de seulement 8 + 8 + 8 si la mémoire n'était pas effaçable L'état de la technique et la présente invention seront exposés ci-après dans le cas de trois étages comprenant chacun huit cases mais il sera clair pour l'homme de métier qu'un nombre plus élevé d'éta- ges pourra être utilisé et que les étages ne comprendront pas nécessairement le même nombre de cases De façon générale, on pourra prévoir p étages comprenant chacun ni cases (i=l p) et ainsi on pourra mémoriser dans la mémoire nlxn 2 x xnp informa- tions On considérera plus particulièrement, à titre d'exemple, le cas o les étages de rang inférieur sont effacés séquentiel- lement après une inscription dans un registre de rang supérieur. L'organisation élémentaire d'une mémoire de type bou- lier est illustrée en figure 2 o l'on a représenté trois étages de huit cases 10, 11 et 12 adressables par un décodeur de colon- nes (DEC Y) et un décodeur de rangées (DEC X). Les figures 3 A, 3 B et 3 C représentent un premier exem- ple de remplissage d'étages ou registres organisés en boulier. La figure 3 A représente l'étage de rang inférieur, 10, plein et les étages 11 et 12 vides A l'étape illustrée en figure 3 B, après remplissage de l'étage 10, l'action des décodeurs X et Y amène l'adressage vers la case inférieure de l'étage 11 et un 1 est inscrit dans cet étage A l'étape de la figure 3 C, tout le contenu de l'étage 10 est effacé Ensuite l'écriture reprend à la case de rang inférieur de l'étage 10 (non représenté). Bien entendu, ces adressages successifs sont assurés par le lecteur associé à la carte qui comprend des circuits logiques propres à assurer ces opérations En particulier, le lecteur commence, quand une carte y est insérée, par lire le contenu de toutes les mémo"ires pour déterminer l'état de la carte et fixer l'adressage à effectuer Ainsi, le lecteur sait dans quel état de remplissage se trouvent les divers étages et peut assurer la commande d'adressage adéquate Toutefois, comme cela a été indiqué précédemment, il est seulement possible d'effectuer à un instant donné une opération de lecture ou une opération d'écriture ou d'effacement, c'est pourquoi le passage de l'état représenté en figure 3 A à l'état représenté en figure 3 C doit se faire en passant par l'état intermédiaire illustré en figure 3 B. Les figures 4 A à 4 E illustrent un autre exemple d'états successifs des étages de la zone mémoire En figure 4 A les étages 10 et 11 sont pleins et trois cases de l'étage 12 ont été remplies A l'étape illustrée en figure 4 B, un bit supplé- mentaire est inscrit dans l'étage 12 A l'étape illustrée en figure 4 C le contenu de l'étage 11 est effacé A l'étape illus- trée en figure 4 D, un bit supplémentaire est inscrit dans l'éta- ge 11 A l'étape illustrée en figure 4 E le contenu de l'étage 10 est effacé L'inscription d'un 1 à l'étape de la figure 4 D per- met la réalisation d'une mémorisation par multiples de 8 et non de 9; de plus les circuits logiques du lecteur "savent" que, dès qu'il existe une inscription dans le registre 12, il doit exister au moins un 1 dans le registre 11 et ceci peut être uti- lisé pour une détection d'erreur éventuelle. Ce qui vient d'être décrit, correspond à l'état exis- tant de la technique pour situer l'environnement dans lequel est susceptible de s'insérer la présente invention. L'organisation décrite ci-dessus présente un inconvé- nient à savoir que si, pour une raison quelconque, le traitement d'une carte est brutalement interrompu alors que l'on se trouve à l'état illustré en figure 3 B, 4 B ou 4 D, c'est-à-dire alors que les étages de rang inférieur à èlui dans lequel on vient d'ef- fectuer une inscription n'ont pas encore été effacés, quand on réinsérera la carte dans un lecteur, celle-ci restera dans èt état En conséquence, la mémoire aura été chargée d'un nanbre d'unités plus élevé que le service ayant été effectivement fourni ( 8 unités excédentaires dans le cas des figures 3 B ou 4 D, 8 x 8 = 64 unités dans le cas illustré en figure 4 B) Ce défaut est tout particulièrement susèptible de se produire dans les lec- teurs de carte modernes dans lesquels la carte n'est pas avalée par le lecteur mais reste apparente, c'est-à-dire que l'utili- sateur peut retirer brutalement sa carte à un état intermédiaire correspondant à la figure 3 B ou 4 B à 4 D Cet utilisateur se trouvera alors lésé. La présente invention a pour objet d'éviter cet incon- vénient et d'assurer lors d'une utilisation ultérieure de la carte un effacement des étages de rangs inférieurs qui n'au- raient pas été effacés à la fin d'une opération précédente. Pour atteindre cet objet, la présente invention pré- voit un circuit intégré destiné à un support portable passif de comptage d'unités coeprenant p étages de mémoire de comptage de données contenant des nombres de cases respectifs nl np, une écriture étant effectuée dans une case d'un étage supérieur chaque fois que toutes les cases de l'étage inférieur ont été validées, les cases des étages inférieurs étant ensuite invali- dées Ce circuit camprend en outre (p-1) étages témoin identi- ques aux p-1 étages de rang supérieur des p étages de comptage, la logique d'adressage des étages témoin étant telle que les30 cases de ces étages témoin sont adressées en écriture simulta- nément avec les cases des étages de comptage correspondants et, après une écriture, sont adressées en effacement en même temps que les cases des étages inférieurs à celui qui vient d'être validé. Selon un mode de réalisation de la présente invention, un décodeur de lecture associé à chaque étage de mémoire permet dans les phases d'écriture un adressage simultané de l'étage témoin correspondant et dans les phases d'effacement de l'étage témoin de rang supérieur. Un lecteur associé à un support portable selon l'in- vention comprend des moyens de lecture initiale de toutes les cases des étages témoin et des moyens sensibles à une inscrip- tion dans une case d'un étage témoin pour effacer simultanément10 cette case de l'étage témoin et les cases de l'étage de rang inférieur de comptage de données. Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante d'un mode de réalisation particulier faite en relation avec les figures jointes parmi lesquelles: les figures 1 à 4 décrites précédemment sont destinées à situer l'environnement dans lequel s'insère la présente inven- tion; les figures 5 A à 5 E sont destinées à illustrer dans le cas d'un exemple particulier le procédé mis en oeuvre par le dispositif selon la présente invention; et la figure 6 représente de façon un peu plus détaillée un exemple de mise en oeuvre de la présente invention. Les figures 5 A à 5 E représentent trois étages de comp- tage de données dans le cadre du même exemple que celui décrit précédemment en relation avec les figures 4 A à 4 E. Selon la présente invention, on prévoit dans la mémoire EEPROM 4 de la figure 1, outre les étages de comptage de données 10, 11, 12 décrits précédemment, des étages témoin cor-30 respondant aux étages supérieurs des étages de comptage Ainsi, dans le cas particulier décrit précédemment, o il est prévu trois étages de comptage de huit bits 10, 11 et 12, on prévoiera deux étages témoin de huit bits 21 et 22 Plus généralement, s'il y a p étages de comptage comprenant respectivement ni np cases, il y aura p-1 étages témoin comprenant respectivement n 2 np cases. Lors de l'inscription d'un 1 dans l'un des étages 11 et 12, un 1 sera simultanément écrit dans la case correspondante de l'étage témoin correspondant 21 ou 22 et, pendant chaque effacement d'un étage de rang inférieur suivant l'inscription d'un 1 dans l'étage de comptage de rang supérieur, le 1 inscrit dans l'étage témoin sera simultanément effacé. Dans les figures 5 A à 5 E, les états successif S des étages 10, 11 et 12 sont identiques aux états successifs de ces étages dans les figures 4 A à 4 E Dans l'état de la figure 5 A, tous les bits des étages témoin 21 et 22 sont à zéro Dans l'état de la figure 5 B, en même temps qu'un 1 est inscrit dans la quatrième case de l'étage 12, un 1 est inscrit dans la qua- trième case de l'étage 22 Dans l'état de la figure 5 C, en même temps que l'étage 11 est effacé, l'étage 22 est effacé Dans 1 'état de la figure 5 E, en même temps qu' un 1 est inscrit dans la dernière case de l'étage 11, un 1 est inscrit dans la dernière case de l'étage 21 Dans l'état de la figure 5 E, en même temps que l'étage 10 est effacé, l'étage 21 est effacé de sorte que les étages témoin se retrouvent vides. Ainsi, si les opérations effectuées dans la carte à mémoire par le lecteur sont brutalement interrompues aux étapes intermédiaires comprises entre les figures 5 B et 5 C ou 5 D et 5 E, lors d'une introduction ultérieure de la carte dans un lecteur, le lecteur verra le 1 inscrit dans 1 'étage témoin 22 ou 21 et pourra déclencher les opérations néèssaires à l'obtention de l'état illustré en figure 5 E avant d'effectuer toute nouvelle opération de comptage de données dans la carte On notera que le procédé décrit ne permet pas la détection d'une interruption accidentelle entre les états des figures 5 C et 5 D, les registres témoins étant alors vides, mais un tel état de défaut peut être détecté par les circuits existants comme on l'a indiqué précé-35 demment. Etant donné le fonctionnement souhaité du circuit selon la présente invention exposé précédemment, l'homme de métier pourra exécuter les opérations de décodage propres à rem- plir les fonctions adéquates On indiquera ci-après uniquement à titre d'exemple, un mode de réalisation particulier de circuit permettant d'assurer l'inscription simultanée d'un 1 dans un registre de rang supérieur et dans le registre témoin correspon- dant puis l'effacement simultané des registres témoin et des registres de comptage de rang inférieur à celui dans lequel on10 vient d'inscrire une donnée. Ainsi, la figure 6 représente de façon très schéma- tique des circuits de décodage associés aux étages de comptage , 11 et 12 et à deux étages témoins correspondants 21 et 22. Dans oette figure, le décodeur Y 2 est encore représenté de façon très schématique associé à un circuit de détermination d'écriture, lecture ou effacement (W, R ou E) 6 Les circuits 2 et 6 sont commandés par les circuits logiques 1 classiques représentés sous forme de blocs en figure 1 Les étages 10, 11 et 12 peuvent être adressés en X par des lignes d'adresse A 10, All et A 12 fournies par le décodeur de rangées DEC X 3 repré- senté sous forme de blocs en figures 1 et 2 Il est également prévu des lignes d'adresse A 21, A 22 pour désigner les rangées correspondant aux étages 21 et 22. Entre chacune des lignes d'adresse A 10, All et A 12 et chacun des étages 10, 11 et 12 est inséré un bloc logique, res- pectivement 30, 31 et 32, et entre chacune des lignes d'adresse A 21, A 22 et chacun des étages 21 et 22 est inséré un bloc logi- que, respectivement 41 et 42 On décrira ci-après seulement les blocs logiques 31 et 41, les blocs logiques 30, 31 et 32 étant30 identiques, de même que les blocs logiques 41 et 42. Le bloc logique 31 comprend des portes ET à deux entrées 33 et 34, une porte OU 35 et un étage amplificateur 36 susceptible, selon la commande W/R/E du bloc 6 d'effectuer une inscription, une lecture, ou un effacement dans la rangée 11 Il est en outre prévu des lignes de commande d'écriture W et de commande d'effacement E, correspondant aux états dans le bloc 6 La porte ET 33 a une première entrée inverseuse connectée à la ligne E La deuxième entrée de la porte ET 33 est connectée à la ligne d'adresse All (cette ligne All est aussi connectée) à la deuxième entrée de la porte ET 34 du bloc 30 de rang infé- rieur) La première entrée de la porte ET 34 est connectée à la ligne E La deuxième entrée de la porte ET 34 est connectée à la ligne d'adresse A 12 de l'étage de rang supérieur Les sorties des portes ET 33 et 34 sont appliquées, par l'intermédiaire de la porte OU 35 et de l'étage amplificateur 36, à la rangée 11. Le bloc logique 41 ccmprend trois portes ET 43, 44 et dont les sorties sont appliquées par l'intermédiaire d'une porte OU 46 et d'un circuit amplificateur 47 à la rangée 21 La première entrée de la porte ET 43 est reliée à la ligne E La deuxième entrée de la porte ET 43 est reliée à l'entrée d'adres- se All La première entrée de la porte ET 44 est connectée à la ligne d'écriture W et sa deuxième entrée est connectée à la ligne d'adresse All La première entrée de la porte ET 45 est connectée à la ligne d'adresse A 21 et les deuxième et troisième entrées de cette porte ET 45 sont des entrées inverseuses respectivement reliées à la ligne d'écriture W et à la ligne d'effacement E.25 Le fonctionnement de oes circuits logiques est le suivant Les étages témoin 21 et 22 peuvent être sélectivement adressés pour déterminer leur contenu en envoyant des signaux d'adresse sur les lignes d'adresses respectives A 21 et A 22, et bien entendu en incrémentant de façon appropriée le décodeur de colonne 2 Cet adressage spécifique des étages 21 et 22 n'est possible qu'en dehors des phases d'écriture ou d'effacement en raison des deux entrées inverseuses reliées aux lignes d'écri- ture et d'effacement de la porte ET 45. Par contre, quand on est dans une phase d'écriture, et que la rangée 11 a été désignée par l'adresse All, d'une part la rangée 11 est désignée par l'adresse All sous l'effet de la por- te ET 33, d'autre part la rangée 21 est adressée sous l'effet de la porte ET 44 validée par l'adresse All et la ligne d'écriture W Ainsi, un 1 est écrit simultanément en un même emplacement Y dans les rangées 11 et 21. On obtient alors un état correspondant à èlui de la figure 5 B S'il se produit une interruption, èt état sera détecté lors d'une réinsertion de la carte dans le lecteur par la lecture de l'étage 21 par suite de l'actionnement de la ligne d'adresse A 21. Si aucune interruption ne s'est produite, l'adresse Ail reste sélectionnée, la ligne d'écriture W est amenée à bas niveau, et la ligne d'effacement E est amenée à haut niveau tandis que toutes les colonnes sont sélectionnées en effacement par le décodeur Y 2 et le circuit logique 6 Alors, la porte ET 33 de l'étage 31 est inhibée par l'apparition du signal d'effa- cement tandis que la porte ET 34 de l'étage 30 est validée par le signal d'adresse All et le signal d'effacement E Ainsi, tou- tes les colonnes de la rangée 10 sont effacées simultanément En même temps, l'existence d'un signal à niveau haut sur les lignes All et E valident la porte ET 43 du circuit logique 41 et toutes les cases de la rangée 21 sont également commandées en effa- cement. Bien entendu, la présente invention est susceptible de nombreuses variantes et modifications qui apparaîtront à l'homme de 1 'art, notamment en ce qui conèrne le nombre de cases des divers étages et le nombre d'étages D'autre part, dans les30 exemples précédents, on a indiqué des validations par des états 1 ou des états 0, il sera clair pour l'nhomme de l'art que l'on peut toujours construire un système cohérent dans lequel il se présente une inversion des états hauts et des états bas En outre, seules les parties de la carte à mémoire et du lecteur utiles à la compréhension de la présente invention ont été expliquées Il est clair que la carte comprendra d'autres caractéristiques usuelles Par exemple, sa mémoire comprendra des zones d'identification non effaçables, divers circuits de sécurité, par exemple pour éviter des sur-écritures, oes circuits de sécurité pouvant être modifiés pour la mise en oeuvre de la présente invention REVENDICATIONS 1 Circuit intégré destiné à un support portable passif de comptage d'unités comprenant p étages de mémoire de comptage de données ( 10, 11, 12) contenant des nombres de cases respectifs ni np, une écriture étant effectuée dans une case 5 d'un étage supérieur chaque fois que toutes les cases de l'étage inférieur ont été validées, les cases des étages inférieurs étant ensuite invalidées, caractérisé en ce qu'il comprend en outre (p-1) étages témoin ( 21, 22) identiques aux p-i étages de rang supérieur des p étages de comptage, la logique d'adressage10 des étages témoin étant telle que les cases de ces étages témoin sont adressées en écriture simultanément avec les cases des étages de comptage correspondants et, après une écriture, sont adressées en effacement en même temps que les cases des étages inférieurs à celui qui vient d'être validé.15 2 Circuit selon la revendication 1, caractérisé en ce qu'un décodeur de lecture associé à chaque étage de mémoire permet un adressage simultané dans les phases d'écriture de l'étage témoin de même rang. 3 Circuit selon la revendication 1, caractérisé en ce qu'un décodeur de lecture associé à chaque étage de mémoire permet un adressage simultané dans les phases d'effacement de l'étage témoin de rang supérieur. 4 Lecteur associé à un support portable comprenant un circuit intégré selon la revendication 1, caractérisé en ce qu'il comprend: des moyens de lecture initiale de toutes les cases des étages témoin, et des moyens sensibles à une inscription dans une case d'un étage témoin pour effacer simultanément cette case de l'étage témoin et les cases de l'étage de rang inférieur des étages de comptage de données.