Brevet FR2626991A1 — publié le 19890811

1. 2626991 La présente invention concerne une carte intelligente tolérant des fautes et, plus particulièrement, une carte intelligente tolérant des fautes, qui peut trouver des applications particulières dans l'industrie des machines à affranchir. Les circuits intégrés dits "intelligents" ou cartes "intelligentes" comportant un microprocesseur et une mémoire sont disponibles commercialement et sont utiles dans de nombreuses applications. L'aptitude des cartes intelligentes à transporter en sécurité des fonds monétaires les rend de plus en plus importantes, en particulier pour les fonds postaux ou pour l'information concernant les fonds postaux. Voir, par exemple, la demande de brevet US No (bordereau du mandataire C-343) intitulée "Système de comptabilisation de coûts postaux" o une machine à affranchir départementale utilise de l'information contenue dans la mémoire d'une carte intelligente et la demande de brevet US No (bordereau du mandataire C-341) intitulée "Système de cartes à valeur pour machine à affranchir", 2. 2626991 2. ou des fonds de machine à affranchir sont transférés d'un centre de cartes à valeur pour réapprovisionner la réserve d'une machine à affranchir. Compte tenu de l'importance accrue de l'information conservée dans les cartes intelligentes, les inconvénients d'un mauvais fonctionnement de la carte intelligente peuvent être très coûteux. Par conséquent, il serait hautement souhaitable de pouvoir disposer d'une carte intelligente d'une fiabilité améliorée. Il serait également hautement souhaitable de pouvoir disposer d'une carte intelligente à laquelle le personnel d'entretien puisse accéder, même en cas de mauvais fonctionnement. De cette manière, on éviterait la "perte" de fonds monétaires conservés dans la carte en cas de mauvais fonctionnement. Un objet de la présente invention est donc de fournir une carte intelligente améliorée. Un autre objet de l'invention est de fournir une carte intelligente tolérant des fautes. Un autre objet encore de l'invention est de permettre d'accéder à l'information contenue dans la mémoire d'une carte intelligente souffrant d'un mauvais fonctionnement. Ces objets fortement souhaitables, ainsi que d'autres, sont réalisés avec une carte intelligente tolérant des fautes, commode et néanmoins fiable. Les objets et avantages de l'invention sont en partie décrits ici et en partie évidents, ou ils peuvent être appris lors de la mise en oeuvre de l'invention, celle-ci étant conçue et réalisée par l'intermédiaire des moyens et des combinaisons précisés dans les revendications en annexe. La présente invention fournit une carte intelligente tolérant des fautes ayant des unités fonctionnelles primaires comportant une interface 3 2626991 standard ISO, un microcontrôleur primaire, une mémoire principale comprenant une ROM, une RAM et une EEPROM, un générateur d'horloge et une source d'alimentation. En plus du rôle normal de la carte intelligente, le microcontrôleur primaire adresse un registre de comptabilisation des accès et un détecteur des fautes des microcontrôleurs, qui à son tour, adresse un registre d'exceptions. On prévoit des unités fonctionnelles secondaires de la carte intelligente, comprenant un microcontrôleur secondaire, une mémoire secondaire qui peut comporter une ROM et des bits de contrôle associés, un registre des fonds restants, le registre de comptabilisation des accès, le détecteur des fautes des microcontrôleurs et le registre de conditions d'exception. Il est également prévu un point d'accès privé. Toutes les unités secondaires nécessitant une alimentation en courant sont connectées à une pile constituant une autre source d'alimentation. Le contrôleur secondaire est connecté aux unites d'horloges primaire et secondaire, au détecteur des fautes des microcontrôleurs et au registre des fonds restants. Le microcontrôleur secondaire adresse la mémoire secondaire et permet uniquement de consulter la mémoire principale. En fonctionnement normal, les microcontrôleurs primaire et secondaire opèrent d'un manière synchrone et exécutent en parallèle des intructions identiques du même emplacement de la mémoire, mais le microcontrôleur secondaire ne peut que consulter la mémoire principale. Lorsqu'une faute est détectée par le détecteur des fautes des microcontrôleurs dans l'un ou l'autre des microcontrôleurs principal ou secondaire, ce qui se manifeste par des incohérences dans les signaux des microcontrôleurs, il y a inscription dans le registre des exceptions. Lorsque cela se produit, le microcontrôleur primaire est maintenu en un état figé et 4 2626991 le microcontrôleur secondaire est libéré de la mémoire principale pour adresser la mémoire secondaire et effectuer des essais aux caractéristiques connues. Lorsqu'une faute se produit durant l'essai, on considère que le microcontrôleur secondaire est défectueux et on permettra au microcontrôleur principal de continuer à fonctionner. Naturellement, l'utilisateur peut être informé de ce que la carte a besoin d'être dépannée et/ou remplacée. Par ailleurs, lorsque aucune faute ne se produit durant l'essai, on considère alors que le microcontrôleur pricipal est défectueux et que la carte est inutilisable, et l'utilisateur est informé par une signalisation appropriée de. ce que l'état de la carte est défectueux. D'une manière avantageuse, un point d'accès privé permet au personnel d'entretien d'accéder directement au microcontrôleur secondaire, au registre des fonds restants, au registre de comptabilisation des accès et au registre des conditions d'exception. Le personnel d'entretien pourrait également faire usage du microcontrôleur secondaire, par exemple pour consulter la mémoire principale. Dans la forme d'exécution préférée comportant des bits de contrôle, les bits de contrôle détecteraient et pallieraient toute défaillance de bit individuel dans la mémoire secondaire. On comprendra dans ces conditions, que la carte intelligente tolérant des fautes selon la présente invention constitue d'une manière avantageuse une carte intelligente capable de -détecter et de pallier la défaillance d'un bit individuel ou d'un circuit individuel. Malgré une telle défaillance, la carte intelligente tolérant des fautes permet d'une manière remarquable d'accéder, par une "porte arrière" en 262699 1 5. utilisant un point d'accès privé, à l'information importante contenue dans la carte intelligente. D'une manière avantageuse, la personne accédant par le point d'accès privé peut déterminer le montant des fonds restants dans la carte et accéder à d'autres informations importantes de la mémoire principale de la carte. Un autre avantage de la présente invention est que les unités fonctionnelles primaires communiquent par l'intermédiaire de l'interface standard ISO d'une manière conventionnelle. Par conséquent, la carte intelligente tolérant des fautes selon l'invention peut être utilisée avec des équipements existants et non modifiés. Uniquement à titre d'exemple, la carte intelligente tolérant des fautes selon la présente invention peut trouver des applications particulières dans les systèmes décrits dans les demandes de brevets susmentinnées. On comprendra que la description générale qui précède, ainsi que la description détaillée qui suit, ne sont que des exemples explicatifs de l'invention, mais ne sont pas limitatives de celle-ci. Les dessins en annexe, dont il est question ici et qui font partie de la présente, représentent un diagramme synoptique de la forme d'exécution préférée de carte intelligente tolérant des fautes selon la présente invention. Lorsqu'on se reporte au dessin, référencé en tant que Figure 1, on y voit un diagramme synoptique' représentant la carte intelligente tolérant des fautes 10 selon l'invention. Comme représenté, la carte intelligente 10 comprend une série d'unités fonctionnelles primaires comprenant une interface standard du type ISO 12, une unité de microcontr8leur 14, une mémoire morte adressable (ROM) 16, une mémoire à accès sélectif (RAM) 18, une mémoire programmable morte 6. 2626991 effaçable par voie électronique (EEPROM) 20, un générateur d'horloge primaire et secondaire, respectivement 22 et 26, et une une source d'alimentation primaire. La carte intelligente préférée de General Electric dont il est question dans les demandes de brevet ci-dessus est alimentée par l'interface ISO comme représenté, mais une source d'alimentation primaire externe n'est pas essentielle à la présente invention. Les éléments ci-dessus, interconnectés comme représenté, comportent des unités fonctionnelles primaires pour effectuer les opérations normales de la carte intelligente. En outre, des unités fonctionnelles secondaires sont prévues comme support de la carte tolérant des fautes. Les unités secondaires comportent un second générateur d'horloge 26 connecté à une autre pile d'alimentation 28, ainsi qu'aux deux microcontrôleurs 14, 30. Le microcontrôleur secondaire est connecté à la mémoire secondaire 32, à un détecteur des fautes des microcontrôleurs 36 et à un registre de fonds restants 38. De préférence, on prévoit des bits de contr8le 34 en association avec la mémoire secondaire 32 pour détecter les défaiilances de bits individuels dans la mémoire secondaire. Comme représenté, le microcontrôleur secondaire est connecté d'une manière adressable à la ROM 32 et au registre des fonds restants 38. Le microcontrôleur secondaire 30 est également connecté à un point d'accès privé 44 et permet uniquement de consulter la mémoire principale 20. Le microcontrôleur secondaire 30 est alimenté par la source d'alimentation primaire 24 et par une autre pile d'alimentation 28. Un registre de comptabilisation des accès 40 et un registre des conditions d'exception 42 adressé par le détecteur des fautes des microcontrôleurs sont également prévus. Chacun des registres des fonds restants 38, de 7 2626991 comptabilisation des accès 40 et des conditions d'exception 42 est également connecté au point d'accès privé 44 et alimenté par la pile d'alimentation 28. La mémoire secondaire 32 est également alimentée par la pile d'alimentation 28 et elle est connectée au registre des conditions d'exception 42. Le registre de comptabilisation des accès est adressé par le microcontrôleur primaire 14 et une inscription s'y produit après chaque utilisation de la carte pour conserver une trace de l'identité de l'utilisateur, de l'adresse de mémoire à laquelle il a accédé et de l'information enregistrée à cette adresse. Ainsi conçu, le circuit de la présente carte intelligente permet de détecter et de pallier les fautes de la carte concernant des bits individuels et des circuits individuels. En fonctionnement normal, les deux microcontrôleurs 14 et 30 fonctionnent d'une manière synchrone pour exécuter en parallèle des instructions identiques depuis le même emplacement de la mémoire. Apres chaque transaction, le microcontrôleur secondaire procède à une remise à jour du registre des fonds restants 38 pour avoir un résumé actualisé des fonds qui demeurent enregistrés dans la carte. Au cas o une incohérence apparaîtrait entre les microcontrôleurs principal et secondaire, le détecteur des fautes des microcontrôleurs, constitué ici par une porte exclusive "OU" 36, fournit un signal de sortie élevé, ce qui aboutit à une inscription dans le registre des conditions d'exception 42. Lorsqu'une inscription a lieu dans le registre d'exception 42, l'information du programme de la mémoire secondaire 32 va donner au microcontrôleur secondaire 30 l'instruction de libérer la mémoire principale 16, 18, 20 et d'effectuer des essais aux caractéristiques connues enregistrées dans la mémoire secondaire 32. Pendant ce temps, le 8. 2626991 microcontrôleur principal 14 reste en un état figé. Lorsqu'une faute se produit durant l'essai, on considère que le processeur secondaire 30 est défectueux et que le processeur principal 14 peut continuer de fonctionner. Par contre, si aucune faute n'est trouvée dans ces essais aux caractéristiques connues, on considère que le processeur principal 14 est défectueux et l'utilisateur est averti d'une condition défectueuse. Ensuite, l'accès à l'information est limité à l'interface privée 44, qui n'est accessible, de préférence, qu'au personnel d'entretien. Malgré un défaut du processeur principal, le personnel d'entretien peut accéder au registre des fonds restants 38, au registre de comptabilitation des accès 40 et au registre d'exceptions 42 par le point d'accès privé 44. On peut également accéder à la mémoire principale 16, 18, 20 par l'intermédiaire du point d'accès 44, lorsque le microcontrôleur secondaire 30 est resté viable. A cet égard, la mémoire secondaire 32 est pourvue de préférence, de bits de contrôle associés, quelquefois dénommés "bits de Hemming", pour pallier toute défaillance des bits à l'intérieur de la mémoire secondaire 32. Ainsi la carte intelligente tolérant des fautes selon l'invention élimine sensiblement le risque que les fonds et/ou l'information comptable enregistrés dans la carte soient perdus par suite d'une défaillance de la carte. En effet, lorsqu'une défaillance de la carte se produit, le personnel d'entretien peut, d'une manière simple, avoir accès au montant des fonds restants et à d'autres informations conservées dans la mémoire principale et transférer cette information vers une nouvelle carte intelligente ou un autre moyen d'enregistrement. De cette façon, le client est assuré de ce que les fonds monétaires et l'information ne *9 2626991 seront pas affectés par un mauvais fonctionnement de la carte intelligente. On comprendra aisément, que cette propriété évitera les effets néfastes qu'auraient autrement les défaillances de telles cartes sur les relations avec la clientèle. Ainsi, la carte intelligente tolérant des fautes selon la présente invention détecte d'une manière avantageuse les défaillances des cartes intelligentes et, malgré une telle défaillance, permet un accès privé à l'information importante enregistrée dans la carte défectueuse. Bien que l'étendue de l'invention n'ait pas été indiquée, il est clair que l'invention dans son sens plus large n'est pas limitée aux formes d'exécution spécifiques représentées et décrites ici, mais qu'elle peut s'en éloigner dans les limites des revendications en annexe, sans que l'on s'écarte des principes de l'invention et sans sacrifier ses avantages essentiels. 10. 2626991 REVENDICATIONS 1. Carte intelligente tolérant des fautes comprenant: une interface entrée-sortie standard; un moyen d'horloge pour fournir une référence de temps pendant le fonctionnement de la carte intelligente; un moyen de mémoire principale pour enregistrer des informations de programmes et de données; un premier moyen de microcontrôleur connecté à ladite interface, audit moyen d'horloge et audit moyen de mémoire principale pour effectuer les opérations normales d'une carte intelligente; un moyen de microcontrôleur secondaire connecté audit premier moyen de microcontrôleur, audit moyen d'horloge, audit moyen de mémoire principale et audit moyen de mémoire secondaire, pour effectuer les opération normales de carte intelligente en synchronisme avec ledit premier moyen microcontrôleur; un moyen de détection de fautes du microcontrôleur connecté audit premier moyen de microcontrôleur et audit moyen microcontrôleur secondaire, pour détecter une défaillance soit du premier microcontrôleur, soit du microcontrôleur secondaire; et un moyen d'alimentation primaire connecté audit premier moyen microcontrô81eur. 11. 2626991 2. Carte intelligente tolérant des fautes selon la revendication 1, o ledit moyen de microcontrôleur secondaire ne peut que consulter ledit moyen de mémoire principal. 3. Carte intelligente tolérant des fautes selon la revendication 1, o ledit moyen d'horloge comprend en outre une horloge primaire et une horloge secondaire, ladite horloge secondaire étant connectée à un moyen de pile d'alimentation secondaire. 4. Carte intelligente tolérant des fautes selon la revendication 1, comprenant en outre un registre de comptabilisation des accès connecté au et adressé par ledit premier moyen de microcontrôleur pour conserver la trace de l'identité de l'utilisateur et des emplacements de la mémoire adressés par les utilisateurs antérieurs. 5. Carte intelligente tolérant des fautes selon la revendication 1, o ladite mémoire secondaire comprend en outre une mémoire morte comportant la programmation pour effectuer un ou plusieurs essais aux caracté- ristiques connues sur ledit second microcontrôleur. 6. Carte intelligente tolérant des fautes selon la revendication 5, o ladite programmation de la mémoire secondaire est activée par ledit moyen de détection des fautes des microcontrôleurs à la détection d'une défaillance soit dans le premier, soit dans le second moyen microcontrôleur. 7. Carte intelligente tolérant des fautes selon la revendication 6, o à l'indication d'une défaillance du microcontrôleur venant dudit moyen de détection de fautes des microcontrôleurs, ledit premier 12. 2626991 microcontrôleur est maintenu en un état figé, alors que ledit microcontrôleur secondaire effectue lesdits essais aux caractéristiques connues. 8. Carte intelligente tolérant des fautes selon la revendication 7, o, lorsqu'une faute vient à se produire dans lesdits essais aux caractéristiques connues, on considère que que ledit microcontrôleur secondaire est défectueux et on permet au premier microcontrôleur de continuer à fonctionner. 9. Carte intelligente tolérant des fautes selon la revendication 7, o lorsque aucune faute ne se produit dans lesdits essais aux caractéristiques connues, on considère que le premier microcontrôleur est défectueux, et l'utilisateur est informé de ce que la carte est défectueuse. 10. Carte intelligente tolérant des fautes selon la revendication 9, comprenant en outre un point d'accès privé connecté audit second moyen de microcontrôleur afin de permettre d'accéder à la carte intelligente tolérant des fautes, pour son entretien. 11. Carte intelligente tolérant des fautes selon la revendication 10, comprenant en outre un registre des fonds restants connecté audit second microcontrôleur, ainsi qu'audit moyen de point d'accès privé de manière a pouvoir y accéder afin de connaître le montant des fonds restants dans la carte intelligente tolérant des fautes. 12. Carte intelligente tolérant des fautes selon la revendication 10, comprenant en outre un moyen de comptabilisation des accès connecté audit premier moyen de microcontrôleur ainsi qu'audit moyen de point 26269i 13. d'accès privé de manière à pouvoir y accéder, afin de retrouver l'identité des utilisateurs et les emplacements de la mémoire adressés par les utilisateurs antérieurs. 13. Carte intelligente tolérant des fautes selon la revendication 11, o ledit microcontrôleur secondaire, ladite mémoire secondaire et ledit registre des fonds restants sont connectés à une pile d'alimentation secondaire. 14. Carte intelligente tolérant des fautes selon la revendication 12, o ledit microcontrôleur secondaire, ladite mémoire secondaire et ledit moyen de comptabilisation des accès sont connectés à une pile d'alimentation secondaire. 15. Carte intelligente tolérant des fautes selon la revendication 10, comprenant en outre des moyens de bits de contrôle associés avec ladite mémoire secondaire pour détecter et pallier aux défaillance de bits individuels ou de circuits individuels à l'intérieur de ladite mémoire secondaire. 16. Carte intelligente tolérant des fautes selon la revendication 1, o ledit moyen de détection des fautes du microcontrôleur comprend en outre une porte exclusive "OU" recevant les signaux de sortie du premier et du second microcontrôleur, ladite porte exclusive "OU" étant actionnée pour fournir un signal de faute, lorqu'il y a incohérence entre les signaux de sortie desdits microcontr8ôleurs. 17. Carte intelligente tolérant des fautes selon la revendication comprenant: 14. une interface entrée-sortie standard; un moyen d'horloge pour fournir une référence de temps pendant le fonctionnement de la carte intelligente; un moyen de mémoire principale pour enregistrer des informations de programmes et de données; un premier moyen microcontrôleur connecté à ladite interface, audit moyen d'horloge et audit moyen de mémoire principale pour effectuer les opérations normales d'une carte intelligente; un moyen de microcontrôleur secondaire connecté audit premier moyen de microcontrôleur, audit moyen d'horloge, audit moyen de mémoire principale et au moyen de mémoire secondaire, ledit moyen microcontrôleur secondaire effectuant les opérations normales de carte intelligente en synchronisme avec ledit premier moyen microcontrôleur; un moyen de détection de fautes du microcontrôleur connecté audit premier moyen de microcontrôleur et audit moyen microcontrôleur secondaire pour détecter une incohérence entre le premier moyen de microcontrôleur et le moyen de microcontrôleur secondaire; et un moyen de point d'accès privé connecté audit microcontrôleur secondaire pour permettre un accès privé à la carte intelligente tolérant des fautes. 15. 18. Carte intelligente tolérant des fautes selon la revendication 17, o à la détection d'une faute par ledit moyen de détection de fautes du microcontrôleur, ledit premier microcontrôleur est maintenu en un état figé et ledit microcontrôleur secondaire est libéré de ladite mémoire principale pour effectuer des essais aux caractéristiques connues sous la direction dudit moyen de mémoire secondaire. 19. Carte intelligente tolérant des fautes selon la revendication 18, o, lorsqu'une faute vient à se produire dans lesdits essais aux caractéristiques connues, on considère que ledit microcontrôleur secondaire est défectueux et on permet au premier microcontr8leur de continuer à fonctionner. 20. Carte intelligente tolérant des-fautes selon la revendication 18, o, lorsque aucune faute ne se produit dans lesdits essais aux caractéristiques connues, on considère que le premier microcontrôleur est défectueux, et l'utilisateur est informé par un signal, de ce que la carte est défectueuse. 21. Carte intelligente tolérant des fautes selon la revendication 20, o ledit point d'accès privé-permet d'accéder à l'information contenue dans ledit moyen de mémoire principale. 22. Carte intelligente tolérant des fautes selon la revendication 21, comprenant en outre un registre des fonds restants connecté audit microcontrôleur secondaire et audit moyen de point d'accès privé pour enregistrer de l'information relative aux fonds disponibles restants à l'intérieur de la carte intelligente tolérant des fautes.