DE19928939A1 - Data carriers and methods for data transmission and memory management - Google Patents
Data carriers and methods for data transmission and memory managementInfo
- Publication number
- DE19928939A1 DE19928939A1 DE19928939A DE19928939A DE19928939A1 DE 19928939 A1 DE19928939 A1 DE 19928939A1 DE 19928939 A DE19928939 A DE 19928939A DE 19928939 A DE19928939 A DE 19928939A DE 19928939 A1 DE19928939 A1 DE 19928939A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- memory area
- area
- buffer memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Abstract
Description
Die Erfindung geht aus von einem Datenträger nach der Gattung des Hauptanspruchs. Tragbare Datenträger in Gestalt von mit einem Mikrocon troller versehenen Chipkarten, sogenannten "Smart Cards", sind beispiels weise aus W. Rankl, W. Effing: "Handbuch der Chipkarten", Carl Hanser Verlag, 2. Auflage 1996, bekannt und werden in einer vielfältigen Formen in einer zunehmenden Zahl von Anwendungsbereichen eingesetzt. Besonders verbreitet sind Chipkarten, die aus einem aus Kunststoff gefertigten Karten träger bestehen, in den eine integrierte Halbleiterschaltung sowie ein Kon taktfeld zum Herstellen elektrischer Verbindungen mit einem entsprechen den Lesegerät eingelassen sind. Neben der galvanischen Kopplung zum Le segerät kommen dabei zunehmend auch kontaktlose Signalübermittlungs verfahren zum Einsatz. Vorgeschlagen wurde auch bereits, den Kartenträger zu verkleinern oder ganz fortzulassen, indem beispielsweise ein Einchip- Mikrocontroller in Armbanduhren, Schmuckstücke, Kleidungsstücke oder andere Gebrauchsgegenstände eingebaut wird. Als tragbarer Datenträger sollen daher nicht nur derzeit übliche Standardchipkarten angesehen wer den, sondern vielmehr alle derzeitigen und zukünftigen transportablen Ge genstände, in die ein Mikrocontroller eingebettet ist, um es einem Nutzer zu ermöglichen, chipkartentypische Interaktionen mit entsprechenden dafür vorgesehenen Interaktionsstationen vorzunehmen.The invention is based on a data carrier according to the genus Main claim. Portable data carriers in the form of with a microcon troller-provided chip cards, so-called "smart cards", are for example from W. Rankl, W. Effing: "Handbook of chip cards", Carl Hanser Verlag, 2nd edition 1996, and are known in a variety of forms an increasing number of application areas. Especially Chip cards made from plastic cards are common carrier exist in which an integrated semiconductor circuit and a Kon Clock field for making electrical connections with a match the reader is embedded. In addition to the galvanic coupling to Le Contactless signal transmission is increasingly coming here procedures for use. The card holder has already been proposed to shrink or omit entirely, for example by using a single-chip Microcontrollers in wristwatches, jewelry, clothing or other everyday objects are installed. As a portable data carrier should therefore not only be viewed standard chip cards currently common the, but rather all current and future portable Ge objects in which a microcontroller is embedded in order to serve it to a user enable smart card-typical interactions with appropriate ones provided interaction stations.
Der Datenaustausch zwischen einer Chipkarte und einem Chipkartentermi nal findet üblicherweise unter Verwendung von sogenannten "Anwen dungsprotokolldateneinheiten" ("Application Protocol Data Unit, APDU) statt. Dieser Begriff bezeichnet international genormte Dateneinheiten der Schicht 7 im OSI-Modell, d. h. der Anwendungsschicht. Die unterhalb der Anwendungsschicht eingesetzten, verbreiteten Übertragungsprotokolle übertragen bestimmte "Übertragungsprotokolldateneinheiten" ("Trans mission Protocol Data Unit", TPDU) unter Nutzung serieller Übertragungs techniken, beispielsweise nach ISO/IEC 7816-3 oder ISO/IEC 10536-4. Diese bitseriellen Datenübertragungsvorgänge können im Vergleich zu reinen Re chenoperationen des Chipkartenmikrocontrollers zeitaufwendig sein. Der Zeitbedarf für die Übertragung von Datenblöcken liegt typischerweise im Millisekundenbereich. Besonders bei aufeinanderfolgenden Sende- oder Empfangsanforderungen seitens des auf dem Chipkartenmikrocontroller ablaufenden Programmes ist dies nachteilig, da bei jedem APDU-Über tragungsvorgang mit der weiteren Programmabarbeitung jeweils das Ende der bitseriellen Datenübertragung abgewartet werden muß. Es besteht daher ein Bedürfnis, eine Chipkarte vorzusehen, die eine höhere Effizienz bei ei nem Datenaustausch mit einem Terminal ermöglicht.The data exchange between a chip card and a chip card term nal usually takes place using so-called "users Application Protocol Data Unit (APDU) instead of. This term refers to internationally standardized data units of the Layer 7 in the OSI model, i.e. H. the application layer. The below the Widely used transmission protocols transmit certain "transmission protocol data units" ("Trans mission Protocol Data Unit ", TPDU) using serial transmission technologies, for example according to ISO / IEC 7816-3 or ISO / IEC 10536-4. This bit-serial data transmission processes can be compared to pure Re operations of the chip card microcontroller can be time-consuming. The The time required for the transfer of data blocks is typically Millisecond range. Especially with successive broadcast or Reception requests on the part of the chip card microcontroller running program, this is disadvantageous because with each APDU over transfer process with the further program execution the end the bit serial data transmission must be waited for. It therefore exists a need to provide a smart card that is more efficient at ei enables data exchange with a terminal.
Bestimmte Chipkartentypen weisen einen als EEPROM ausgeführten nicht flüchtigen Speicher für persistente Datenobjekte sowie einen als RAM ausge führten Speicher für flüchtige Datenobjekte auf. Schreibzugriffe auf EEPROM-Speicher haben jedoch den Nachteil, im Vergleich zu reinen Re chenoperationen des Chipkartenmikrocontrollers zeitaufwendig zu sein; ei ne EEPROM-Schreiboperation dauert typischerweise einige Millisekunden. Es besteht daher ein Bedürfnis, eine Chipkarte vorzusehen, die eine höhere Effizienz bei dem Schreibzugriff auf EEPROM-Speicherbereiche ermöglicht.Certain types of chip cards do not have an EEPROM volatile memory for persistent data objects as well as a RAM listed stores for volatile data objects. Write access to EEPROM memories have the disadvantage compared to pure Re Chen operations of the smart card microcontroller to be time consuming; egg A EEPROM write operation typically takes a few milliseconds. There is therefore a need to provide a chip card that has a higher one Efficiency in write access to EEPROM memory areas enabled.
Es ist Aufgabe der Erfindung, einen tragbaren Datenträger anzugeben, der eine effizientere Nutzung von APDUs und damit einen schnelleren Daten austausch mit einem externen Terminal ermöglicht. Es ist weiter Aufgabe der Erfindung, einen Datenträger anzugeben, der einen effizienteren Schreibzugriff auf einen EEPROM-Speicher ermöglicht und damit den Da tendurchsatz auf dem Datenträger erhöht. It is an object of the invention to provide a portable data carrier that more efficient use of APDUs and thus faster data exchange with an external terminal enables. It is still a task the invention to provide a disk that is more efficient Allows write access to an EEPROM memory and thus the Da throughput on disk increased.
Diese Aufgabenstellung wird gelöst durch die in den unabhängigen Ansprü chen 1 und 9 angegebenen Datenträger sowie durch die in den nebengeord neten Ansprüchen 6 und 7 angegebenen Verfahren zur Einrichtung eines Sende/Empfangsbetriebes. Desweiteren wird die Aufgabenstellung durch das im unabhängigen Anspruch 14 angegebene Verfahren zum Ausführen von Schreibzugriffen gelöst.This task is solved by the independent claims Chen 1 and 9 specified media and by the in the subordinate Neten claims 6 and 7 specified method for establishing a Sending / receiving operation. Furthermore, the task is through the A method for executing specified in independent claim 14 Write access solved.
Anhand von Ausführungsbeispielen wird die Erfindung im folgenden unter Bezugnahme auf die Zeichnung näher erläutert. Es zeigen:The invention is described below using exemplary embodiments Reference to the drawing explained in more detail. Show it:
Fig. 1 den Aufbau eines tragbaren Datenträgers, Fig. 1 shows the structure of a portable data carrier,
Fig. 2 eine erste Variante eines Sende/Empfangsbetriebes, Fig. 2 shows a first variant of a transmitting / receiving operation,
Fig. 3 eine zweite Variante eines Sende/Empfangsbetriebes, Fig. 3 shows a second variant of a transmitting / receiving operation,
Fig. 4 einen Sende/Empfangsbetrieb bei Verwendung einer EEPROM-Speichereinrichtung. Fig. 4 shows a transmit / receive operation when using an EEPROM memory device.
Fig. 1 zeigt die Struktur einer Chipkarte 1, die im folgenden als Ausbildungs form für den Datenträger zugrundegelegt wird. Ihren Kern bildet eine zentrale Prozessoreinheit 2, die in Verbindung mit geeigneter Mikrocontroller-Soft ware die Funktionalität der Chipkarte herstellt. Der Prozessoreinheit 2 ist eine in zwei Bereiche gegliederte Speichereinrichtung 4, 5 zugeordnet. De ren erster Bereich 4 beinhaltet einen APDU-Puffer 10, der als Übertragungs pufferspeicher dient. Der zweite Bereich 5 der Speichereinrichtung 4 beinhal tet einen als Ein-/Ausgabepufferspeicher fungierenden Cache-Puffer 20 und ist unmittelbar einer Datenübertragungseinrichtung 3 zugeordnet. Über die se führt die Karte 1 einen Datenaustausch mit einer externen Einrichtung 9, beispielsweise einem Terminal für Zahlungsverkehrstransaktionen. Die Da tenübertragungseinrichtung 3 liest im Sendebetrieb aus dem Cache-Puffer 20 zu sendende Datenblöcke aus oder speichert im Empfangsbetrieb empfan gene Datenblöcke darin ab. Einzelheiten zur Realisierung einer vorbeschrie benen Chipkarte 1, insbesondere eine Darstellung der Struktur üblicher APDUs sowie üblicher bitserieller Datenübertragungseinrichtungen sind bei spielsweise aus der eingangs genannten Veröffentlichung W. Rankl, W. Ef fing: "Handbuch der Chipkarten", S. 155 bis 215, entnehmbar, auf die hier diesbezüglich verwiesen wird. Fig. 1 shows the structure of a chip card 1 , which is used in the following as a training form for the data carrier. At its core is a central processor unit 2 which, in conjunction with suitable microcontroller software, produces the functionality of the chip card. The processor unit 2 is assigned a memory device 4 , 5 which is divided into two areas. De ren first area 4 includes an APDU buffer 10 , which serves as a transmission buffer. The second area 5 of the memory device 4 contains a cache buffer 20 which functions as an input / output buffer memory and is directly assigned to a data transmission device 3 . Via this card 1 carries out a data exchange with an external device 9 , for example a terminal for payment transactions. The data transmission device 3 reads out data blocks to be sent from the cache buffer 20 in the transmission mode or stores received data blocks therein in the reception mode. Details of the implementation of a chip card 1 described above, in particular a representation of the structure of conventional APDUs and conventional bit-serial data transmission devices, can be found, for example, in the publication W. Rankl, W. Ef caught at the beginning: "Manual of Chip Cards", pp. 155 to 215 to which reference is made here.
Fig. 2 veranschaulicht für eine wie vorstehend beschrieben ausgestattete Chipkarte eine erste Variante eines Sende/Empfangsbetriebes anhand der schematischen Darstellung des APDU-Puffers 10 sowie des Cache-Puffers 20 in aufeinanderfolgenden Betriebszuständen 10a, 10b, 10c. Der als Übertra gungspufferspeicherbereich dienende APDU-Puffer 10 dient im Sendebe trieb zum Zwischenspeichern von durch die Prozessoreinheit 2 erzeugten und zu sendenden Datenblöcken, im Empfangsbetrieb zum Zwischenspei chern empfangener und für die Verarbeitung durch die Prozessoreinheit 2 bestimmter Datenblöcke. Im Sendebetrieb kopiert dabei die Datenübertra gungseinrichtung 3 im APDU-Puffer 10 nacheinander bereitgestellte Daten blöcke 10a, 10b, 10c unter Wahrung ihrer Reihenfolge in den Cache-Puffer 20, so daß der APDU-Puffer jeweils nach kurzer Zeit wieder der Prozes soreinheit 2 zur Verfügung steht. Wenn der Cache-Puffer 20 gefüllt ist oder wenn ein von der Prozessoreinheit 2 ausgeführtes Chipkartenprogramm den Vollzug eines Datenübertragungsvorganges erfordert, veranlaßt die Daten übertragungseinrichtung 3, daß der Inhalt des Cache-Puffers 20 zum Termi nal 9 übertragen wird. Im Empfangsbetrieb speichert die Datenübertra gungseinrichtung 3 vom Terminal 9 empfangene Datenblöcke zunächst im Cache-Puffer 20 und kopiert sie anschließend unter Wahrung ihrer Reihen folge nacheinander einzeln in den APDU-Puffer 10. Die Prozessoreinheit 2 kann so mehrere Füllungen des APDU-Puffers 10 nacheinander in Empfang nehmen, ohne jedesmal auf den Abschluß eines bitseriellen Datenübertra gungsablaufes warten zu müssen. Fig. 2 illustrates a as described above equipped smart card, a first variant of a transmission / reception operation with reference to the schematic representation of the APDU buffer 10 and the cache buffer 20 in successive operating states 10 a, 10 b, c 10. The APDU buffer 10 serving as the transfer buffer memory area is used in the transmission mode for temporarily storing data blocks generated and to be transmitted by the processor unit 2 , in the reception mode for buffering received data blocks and for processing by the processor unit 2 specific data blocks. In transmission mode, the data transmission device 3 in the APDU buffer 10 copies data blocks 10 a, 10 b, 10 c one after the other while maintaining their sequence in the cache buffer 20 , so that the APDU buffer each time after a short time again the processor unit 2 is available. If the cache buffer 20 is filled or if a chip card program executed by the processor unit 2 requires the completion of a data transfer operation, the data transfer device 3 causes the content of the cache buffer 20 to be transferred to the terminal 9 . In the receiving mode, the data transmission device 3 initially stores data blocks received from the terminal 9 in the cache buffer 20 and then copies them one after the other one after the other into the APDU buffer 10 while maintaining their sequence. The processor unit 2 can thus receive several fillings of the APDU buffer 10 in succession without having to wait each time for the completion of a bit-serial data transmission process.
Wenn die Speicherausstattung der Chipkarte es zuläßt, können mehrere APDU-Puffer 10 eingerichtet sein, die etwa unterschiedlichen Chipkarten programmen zugeordnet sind.If the memory equipment of the chip card allows, several APDU buffers 10 can be set up, which are assigned to different chip card programs.
Für Chipkarten 1, deren Kommunikation mit einem Terminal 9 ausschließ lich im Halbduplex-Modus abläuft, ist ein einziger Cache-Puffer 20 ausrei chend, der abwechselnd im Empfangsbetrieb und im Sendebetrieb benutzt wird. Soll eine Kommunikation mit einem Terminal 9 im Vollduplexbetrieb ablaufen, wird vorteilhafterweise ein erster Cache-Puffer für den Sendebe trieb und ein zweiter Cache-Puffer für den Empfangsbetrieb vorgesehen.For chip cards 1 , whose communication with a terminal 9 runs exclusively in half-duplex mode, a single cache buffer 20 is sufficient, which is used alternately in the receive mode and in the transmit mode. If communication with a terminal 9 is to take place in full-duplex operation, a first cache buffer is advantageously operated for the send operation and a second cache buffer is provided for the receive operation.
Fig. 3 zeigt anhand einer schematischen Darstellung eines Cache-Puffers 120 sowie eines APDU-Puffers 110 in drei aufeinanderfolgenden Betriebszustän den 110a, 110b, 110c eine zweite Variante eines Sende/Empfangsbetriebes. Der Cache-Puffer 120 steht unmittelbar im Zugriff einer Datenübertra gungseinrichtung 3 zum Austausch von Datenblöcken mit einem externen Chipkartenterminal 9. Der als Übertragungspufferspeicherbereich dienende APDU-Puffer 110 dient im Sendebetrieb zum Zwischenspeichern von durch die Prozessoreinheit 2 erzeugten und zu sendenden Datenblöcken, im Emp fangsbetrieb zum Zwischenspeichern empfangener und für die Verarbeitung durch die Prozessoreinheit 2 bestimmter Datenblöcke. Die Funktion dieser Komponenten entspricht insoweit derjenigen bei der in Fig. 1 dargestellten Ausführungsvariante. Fig. 3 shows a schematic representation of a cache buffer 120 and an APDU buffer 110 in three successive operating states 110 a, 110 b, 110 c, a second variant of a transmit / receive operation. The cache buffer 120 is directly accessible to a data transmission device 3 for exchanging data blocks with an external chip card terminal 9 . The APDU buffer 110, which serves as the transmission buffer memory area, is used in the transmit mode for buffering data blocks generated and to be sent by the processor unit 2 , in the receive mode for buffering received data blocks and for the processing by the processor unit 2 certain data blocks. In this respect, the function of these components corresponds to that in the embodiment variant shown in FIG. 1.
Die in Fig. 3 dargestellte Anordnung unterscheidet sich von der in Fig. 1 dargestellten, indem der APDU-Puffer 110 und der Cache-Puffer 120 als ein heitlicher zusammenhängender Adreßbereich im Chipkartenspeicher reali siert sind. Die Speicherbereiche des APDU-Puffers 110 und des Cache- Puffers 120 überlappen sich dabei derart, daß der APDU-Puffer 110 den obe ren Teil 125 des Cache-Puffers 120 ausmacht. Nacheinander zu kopierende APDUs aus verschiedenen Betriebszuständen 110a, 110b, 110c des APDU- Puffers 110 werden dabei zunächst jeweils in den überlappenden Teil 125 des Cache-Puffers kopiert. Durch eine anschließende Verschiebeoperation wird sodann der Inhalt des überlappenden Teils 125 unter Beibehaltung seiner Datenfolge in den nichtüberlappenden Speicherbereich 135 geschoben, im in Fig. 3 angedeuteten Beispiel wird etwa der Datenblock 110a an die Position 130a, der Datenblock 110b an die Position 130b und der Datenblock 110c an die Position 130c geschoben. Im nichtüberlappenden Teil 135 des Cache- Puffers 120 werden so die Datenblöcke 110a, 110b, 110c aus den verschiede nen Betriebszuständen in der Reihenfolge ihres Eingangs in den Cache- Puffers 120 abgebildet.The arrangement shown in FIG. 3 differs from that shown in FIG. 1 in that the APDU buffer 110 and the cache buffer 120 are implemented as a uniform, coherent address area in the chip card memory. The memory areas of the APDU buffer 110 and the cache buffer 120 overlap in such a way that the APDU buffer 110 makes up the upper part 125 of the cache buffer 120 . APDUs to be copied successively from different operating states 110 a, 110 b, 110 c of the APDU buffer 110 are first copied into the overlapping part 125 of the cache buffer. The content of the overlapping part 125 is then shifted into the non-overlapping memory area 135 by maintaining a data sequence, in the example indicated in FIG. 3, the data block 110 a is moved to position 130 a, and data block 110 b is moved to position 130 b and the data block 110 c moved to position 130 c. In the non-overlapping part 135 of the cache buffer 120 are the data blocks 110 a, 110 b, 110 c from NEN Various operating states in the order received in the cache buffer ready to 120th
Fig. 4 zeigt eine Ausführungsvariante der Erfindung für eine Chipkarte, de ren Speichervorrichtung eine erste Speichereinrichtung in Form eines RAM- Speichers mit darin eingerichtetem Schreibcachespeicherbereich 210 sowie einer zweiten Speichereinrichtung 30 in Form eines EEPROM-Speichers um faßt. Ferner ist eine Prozessoreinrichtung zum Verarbeiten von Schreibzu griffen auf den EEPROM-Speicher 30 vorgesehen, die beispielsweise in Form eines durch ein geeignetes Programm gesteuerten Chipkarten-Mikrocon trollers realisiert sein kann. Fig. 4 shows an embodiment of the invention for a chip card, the memory device a first memory device in the form of a RAM memory with a write cache memory area 210 therein and a second memory device 30 in the form of an EEPROM memory. Furthermore, a processor device for processing write accesses to the EEPROM memory 30 is provided, which can be implemented, for example, in the form of a chip card microcontroller controlled by a suitable program.
Der EEPROM-Speicher 30 stellt, da ein Schreibzugriff einige Millisekunden beansprucht, während etwa Schreibzugriffe auf einen RAM-Speicher in er heblich kürzerer Zeit durchgeführt werden können, einen hinsichtlich Schreibzugriffen langsamen Speicher dar. Schreibzugriffe werden daher nicht unmittelbar ausgeführt, sondern es wird zunächst eine Mehrzahl von in den EEPROM-Speicher 30 zu schreibenden Datenelementen 211a, 211b, 211c nacheinander in den Schreibcachespeicherbereich 210 kopiert. Erst auf einen speziellen Steuerbefehl hin, der auch vom Inhalt des Schreibcachespei cherbereiches 210 abhängen kann, wird der Inhalt des EEPROM-Speichers 30 in einer einzelnen Schreiboperation aktualisiert. Dabei überschreiben die im Schreibcachespeicherbereich 210 abgelegten neuen Datenelemente 211a, 211b, 211c die entsprechenden, im EEPROM 30 abgespeicherten alten Da tenelemente.Since a write access takes a few milliseconds, while write accesses to a RAM memory can be carried out in a considerably shorter time, the EEPROM memory 30 represents a memory which is slow in terms of write accesses. Write accesses are therefore not carried out immediately, but instead become first A plurality of data elements 211 a, 211 b, 211 c to be written into the EEPROM memory 30 are successively copied into the write cache area 210 . Only after a special control command, which can also depend on the content of the write cache memory area 210 , is the content of the EEPROM memory 30 updated in a single write operation. The new data elements 211 a, 211 b, 211 c stored in the write cache area 210 overwrite the corresponding old data elements stored in the EEPROM 30 .
Der EEPROM-Speicher 30 ist in der Regel durch mindestens eine Speicherbe reichsgrenze in - "Seiten" oder "Pages" genannte - zusammenhängende Spei cherbereiche 30a, 30b, 30c, 30d, 30e, 30f, 30g, 30h eingeteilt. Ein Schreibzu griff auf den Inhalt einer solchen Seite 30a bis 30h wirkt sich als Folge der üblichen technischen Speicherimplementation in der Regel jeweils auf die gesamte Seite aus. Die Steuereinrichtung ist daher zweckmäßig derart ein gerichtet, daß bei Überschreitung einer Seitengrenze zuvor der Inhalt einer referenzierten Seite in Abhängigkeit von dem Inhalt des Schreibcachespei cherbereiches 210 aktualisiert wird. Hierzu liest die Steuerungseinrichtung in einer einzigen Ausleseoperation die gesamte zu verlassenden Seite aus, aktualisiert deren Inhalt entsprechend den im Schreibcachespeicherbereich 210 enthaltenen Datenelementen 211a, 211b, 211c und schreibt anschließend die aktualisierte Seite mit einer einzigen Schreiboperation in den EEPROM- Speicher 30 zurück.The EEPROM memory 30 is usually by at least one memory area limit in - "Pages" or "Pages" - contiguous memory areas 30 a, 30 b, 30 c, 30 d, 30 e, 30 f, 30 g, 30 h divided. A write access to the content of such a page 30 a to 30 h usually affects the entire page as a result of the usual technical memory implementation. The control device is therefore expediently such that when a page limit is exceeded, the content of a referenced page is updated in dependence on the content of the write cache memory area 210 . For this purpose, the control device reads out the entire page to be left in a single read-out operation, updates its content in accordance with the data elements 211 a, 211 b, 211 c contained in the write cache memory area 210 and then writes the updated page back to the EEPROM memory 30 with a single write operation .
Claims (16)
- - einer Prozessoreinheit (2) zur Ausführung eines Datenträgerpro grammes,
- - einer mit der Prozessoreinheit (2) verbundenen Datenübertragungs einrichtung (3) zum Austausch von Datenblöcken mit einem externen Terminal (9),
- - einem der Datenübertragungseinrichtung (3) zugeordneten Ein-/Aus gabepufferspeicher (20), aus dem die Datenübertragungseinrich tung (3) zu sendende Datenblöcke (10, 110) ausliest bzw. in den sie empfangene Datenblöcke (10, 110) einspeichert;
- - einem Übertragungspufferspeicher (10) zum Zwischenspeichern min destens eines von der Prozessoreinheit (2) erzeugten und zu senden den bzw. mindestens eines empfangenen und für die Verarbeitung durch die Prozessoreinheit (2) bestimmten Datenblockes,
- - wobei die Prozessoreinheit (2) in dem Übertragungspufferspeicher (10) bereitgestellte Datenblöcke nacheinander unter Wahrung ihrer Reihenfolge zur Aussendung durch die Datenübertragungseinrich tung (3) in den Ein-/Ausgabepufferspeicher (20) kopiert bzw. wobei die Prozessoreinheit (2) von der Datenübertragungseinrichtung (3) empfangene und in dem Ein-/Ausgabepufferspeicher (20) gespeicher te Datenblöcke nacheinander unter Wahrung ihrer Reihenfolge in den Übertragungspufferspeicher (10) kopiert.
- - a processor unit ( 2 ) for executing a data carrier program,
- - A data transmission device ( 3 ) connected to the processor unit ( 2 ) for exchanging data blocks with an external terminal ( 9 ),
- - One of the data transmission device ( 3 ) assigned input / output buffer memory ( 20 ) from which the data transmission device ( 3 ) reads out data blocks ( 10 , 110 ) or in which it receives received data blocks ( 10 , 110 );
- a transmission buffer memory ( 10 ) for temporarily storing at least one data block generated by the processor unit ( 2 ) and to be sent or at least one data block received and intended for processing by the processor unit ( 2 ),
- - The processor unit ( 2 ) in the transmission buffer memory ( 10 ) provided data blocks one after the other in compliance with their order for transmission by the data transfer device ( 3 ) in the input / output buffer memory ( 20 ) or where the processor unit ( 2 ) from the data transmission device ( 3 ) received and stored in the input / output buffer memory ( 20 ) th data blocks successively copied in the transmission buffer memory ( 10 ) while maintaining their order.
- - Zusammenfügen der von der Prozessoreinheit (2) in dem Übertra gungspufferspeicher (10) bereitgestellten zu sendenden Datenblöcke (10, 110) im Ein-/Ausgabepufferspeicher (20) unter Wahrung ihrer Reihenfolge,
- - Senden der im Ein-/Ausgabepufferspeicher (20) gebildeten Daten blöcke durch die Datenübertragungseinrichtung (3).
- - assembling the data blocks ( 10 , 110 ) to be sent, which are provided by the processor unit ( 2 ) in the transmission buffer memory ( 10 ), in the input / output buffer memory ( 20 ) while maintaining their sequence,
- - Sending the data blocks formed in the input / output buffer memory ( 20 ) by the data transmission device ( 3 ).
- - Speichern von empfangenen Datenblöcken (10, 110) in dem Ein-/Aus gabepufferspeicher (20),
- - Extrahieren und Kopieren der von der Prozessoreinheit (2) zu verar beitenden Datenblöcke (10, 110) aus dem Ein-/Ausgabepufferspeicher (20) in den Übertragungspufferspeicher (10) unter Wahrung ihrer Reihenfolge.
- - storing received data blocks ( 10 , 110 ) in the input / output buffer ( 20 ),
- - Extracting and copying the data blocks ( 10 , 110 ) to be processed by the processor unit ( 2 ) from the input / output buffer memory ( 20 ) into the transmission buffer memory ( 10 ) while maintaining their sequence.
- - Kopieren der Datenblöcke (110) aus dem überlappenden Speicherbe reich (125) unter Wahrung ihrer Reihenfolge in einen nichtüberlap penden Speicherbereich (135).
- - Copy the data blocks ( 110 ) from the overlapping memory area ( 125 ) while maintaining their order in a non-overlapping memory area ( 135 ).
- - einem hinsichtlich Schreibzugriffen langsamen ersten Speicher (30),
- - einem hinsichtlich Schreibzugriffen schnellen zweiten Speicher mit einem Schreibcachespeicher (210),
- - einer Prozessoreinrichtung (2) zum Verarbeiten von Schreibzugriffen auf den ersten Speicher (30), wobei
- - die Prozessoreinrichtung (2)
- - eine Mehrzahl von in den ersten Speicher (30) zu schreibenden Da tenelementen (211) nacheinander unter Wahrung ihrer Reihenfolge in den Schreibcachespeicherbereich (210) kopiert und
- - den Inhalt des ersten Speichers (30) in Abhängigkeit von dem Inhalt des Schreibcachespeichers (210) mit einem Schreibzugriff aktualisiert.
- a first memory ( 30 ) which is slow in terms of write access,
- a second memory with fast write access with a write cache memory ( 210 ),
- - A processor device ( 2 ) for processing write accesses to the first memory ( 30 ), wherein
- - The processor device ( 2 )
- - A plurality of data elements ( 211 ) to be written into the first memory ( 30 ) are successively copied into the write cache area ( 210 ) while maintaining their sequence and
- - The content of the first memory ( 30 ) is updated depending on the content of the write cache memory ( 210 ) with a write access.
- - nacheinander Kopieren einer Mehrzahl von in den ersten Speicher (30) zu schreibenden Datenelementen (211) in den Schreibcachespei cherbereich (210),
- - Aktualisieren des Inhaltes des ersten Speichers (30) in Abhängigkeit von den im Schreibcachespeicherbereich (210) gespeicherten Da tenelementen (211) mit einem Schreibzugriff.
- - successively copying a plurality of data elements ( 211 ) to be written into the first memory ( 30 ) into the write cache memory area ( 210 ),
- - Updating the content of the first memory ( 30 ) in dependence on the data elements ( 211 ) stored in the write cache area ( 210 ) with a write access.
- - Auslesen des Inhaltes des Speicherbereiches (30a bis 30h),
- - Feststellen des aktualisierten Inhaltes des Speicherbereiches (30a bis 30h) in Abhängigkeit vom Inhalt des Schreibcachespeicherbereiches (210), und
- - Zurückschreiben des aktualisierten Inhaltes des Speicherbereiches (30a bis 30h) mit einer Schreiboperation.
- - reading out the contents of the memory area ( 30 a to 30 h),
- - Determining the updated content of the memory area ( 30 a to 30 h) depending on the content of the write cache memory area ( 210 ), and
- - Writing back the updated content of the memory area ( 30 a to 30 h) with a write operation.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19928939A DE19928939A1 (en) | 1999-06-24 | 1999-06-24 | Data carriers and methods for data transmission and memory management |
AU58185/00A AU5818500A (en) | 1999-06-24 | 2000-06-23 | Data transfer and memory management method and data carrier |
PCT/EP2000/005797 WO2001001338A1 (en) | 1999-06-24 | 2000-06-23 | Data transfer and memory management method and data carrier |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19928939A DE19928939A1 (en) | 1999-06-24 | 1999-06-24 | Data carriers and methods for data transmission and memory management |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19928939A1 true DE19928939A1 (en) | 2001-01-11 |
Family
ID=7912377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19928939A Withdrawn DE19928939A1 (en) | 1999-06-24 | 1999-06-24 | Data carriers and methods for data transmission and memory management |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU5818500A (en) |
DE (1) | DE19928939A1 (en) |
WO (1) | WO2001001338A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003032244A1 (en) * | 2001-10-10 | 2003-04-17 | Schlumberger Systemes | Management of byte transmission in a smartcard |
US7320039B2 (en) | 2001-09-26 | 2008-01-15 | Siemens Aktiengesellschaft | Method for processing consistent data sets |
DE102006058511A1 (en) * | 2006-12-12 | 2008-06-19 | Giesecke & Devrient Gmbh | Method for receiving message by portable data carrier, involves transferring partial messages into temporary buffer of data carrier, which is available in starting buffer |
DE102006058512A1 (en) * | 2006-12-12 | 2008-06-19 | Giesecke & Devrient Gmbh | Method for receiving message in portable data carrier, involves receiving partial message of message in input buffer and transferring partial message into message buffer, where portable data carrier has operating system |
DE102007011638A1 (en) * | 2007-03-09 | 2008-09-11 | Giesecke & Devrient Gmbh | Method for writing data into a memory of a portable data carrier |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1244078B1 (en) * | 2001-03-23 | 2007-07-04 | PROTON WORLD INTERNATIONAL en abrégé PWI | Method of updating an electronic document |
US7107414B2 (en) | 2003-01-15 | 2006-09-12 | Avago Technologies Fiber Ip (Singapore) Ptd. Ltd. | EEPROM emulation in a transceiver |
US7636769B2 (en) | 2006-04-14 | 2009-12-22 | Microsoft Corporation | Managing network response buffering behavior |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0559205A1 (en) * | 1992-03-06 | 1993-09-08 | Kabushiki Kaisha Toshiba | Data processing system |
EP0563997A1 (en) * | 1992-04-02 | 1993-10-06 | Kabushiki Kaisha Toshiba | Memory card apparatus |
DE19626337A1 (en) * | 1995-07-05 | 1997-01-09 | Ibm | Processing long messages in a processor card |
US5715431A (en) * | 1993-04-13 | 1998-02-03 | Mondex International Limited | Tamper proof security measure in data writing to non-volatile memory |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5200600A (en) * | 1988-08-29 | 1993-04-06 | Hitachi Maxell, Ltd. | IC card and method for writing information therein |
JP3565966B2 (en) * | 1995-12-20 | 2004-09-15 | 株式会社ルネサステクノロジ | Communication device |
US6061614A (en) * | 1997-10-17 | 2000-05-09 | Amtech Systems Corporation | Electronic tag including RF modem for monitoring motor vehicle performance |
-
1999
- 1999-06-24 DE DE19928939A patent/DE19928939A1/en not_active Withdrawn
-
2000
- 2000-06-23 WO PCT/EP2000/005797 patent/WO2001001338A1/en active Application Filing
- 2000-06-23 AU AU58185/00A patent/AU5818500A/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0559205A1 (en) * | 1992-03-06 | 1993-09-08 | Kabushiki Kaisha Toshiba | Data processing system |
EP0563997A1 (en) * | 1992-04-02 | 1993-10-06 | Kabushiki Kaisha Toshiba | Memory card apparatus |
US5715431A (en) * | 1993-04-13 | 1998-02-03 | Mondex International Limited | Tamper proof security measure in data writing to non-volatile memory |
DE19626337A1 (en) * | 1995-07-05 | 1997-01-09 | Ibm | Processing long messages in a processor card |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7320039B2 (en) | 2001-09-26 | 2008-01-15 | Siemens Aktiengesellschaft | Method for processing consistent data sets |
US7818463B2 (en) | 2001-09-26 | 2010-10-19 | Siemens Aktiengesellschaft | Method for processing consistent data sets by an asynchronous application of a subscriber in an isochronous, cyclical communications system |
WO2003032244A1 (en) * | 2001-10-10 | 2003-04-17 | Schlumberger Systemes | Management of byte transmission in a smartcard |
DE102006058511A1 (en) * | 2006-12-12 | 2008-06-19 | Giesecke & Devrient Gmbh | Method for receiving message by portable data carrier, involves transferring partial messages into temporary buffer of data carrier, which is available in starting buffer |
DE102006058512A1 (en) * | 2006-12-12 | 2008-06-19 | Giesecke & Devrient Gmbh | Method for receiving message in portable data carrier, involves receiving partial message of message in input buffer and transferring partial message into message buffer, where portable data carrier has operating system |
DE102006058511B4 (en) | 2006-12-12 | 2021-07-08 | Giesecke+Devrient Mobile Security Gmbh | Method for receiving messages by means of a portable data carrier and portable data carrier |
DE102006058512B4 (en) | 2006-12-12 | 2021-07-22 | Giesecke+Devrient Mobile Security Gmbh | Method for receiving a message in a portable data carrier and portable data carrier |
DE102007011638A1 (en) * | 2007-03-09 | 2008-09-11 | Giesecke & Devrient Gmbh | Method for writing data into a memory of a portable data carrier |
Also Published As
Publication number | Publication date |
---|---|
WO2001001338A1 (en) | 2001-01-04 |
AU5818500A (en) | 2001-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69826009T2 (en) | SMART CARD CONTROL OF TERMINAL AND NETWORKING DEVICES | |
DE60037174T2 (en) | BUFFER SYSTEM FOR EXTERNAL MEMORY ACCESS | |
DE4244266C2 (en) | Method and circuit device for dynamically configuring device drivers for computer system equipment | |
DE69311554T3 (en) | MASS MEMORY CARD WITH INPUT OUTPUT FUNCTION. | |
DE60115795T2 (en) | Adaptive repetition mechanism | |
DE3744841C2 (en) | ||
DE3743639A1 (en) | IC CARD AND SYSTEM FOR CHECKING ITS FUNCTIONALITY | |
DE102005006176A1 (en) | Transaction processing systems and methods that use non-disk persistent storage | |
DE112007001135T5 (en) | Sharing data through partitions in a partitionable system | |
DE19626337C2 (en) | Processing long messages in a processor card | |
DE2856680A1 (en) | COMMAND BUFFER FOR A DATA PROCESSING SYSTEM | |
DE3911721C2 (en) | ||
DE19928939A1 (en) | Data carriers and methods for data transmission and memory management | |
DE69634550T2 (en) | Terminal with card reader and method of processing multiple applications with this terminal | |
DE19848241A1 (en) | Address verification device for transmission control system | |
DE19904049A1 (en) | Multiprocessor network system with controller to distinguish between memory access and coherence operations | |
DE4122831C2 (en) | Integrated semiconductor circuit | |
DE19928468C2 (en) | Method for writing data into the programmable read-only memory (EEPROM) of a microprocessor-based, portable data carrier | |
EP1968073B1 (en) | Method for writing data onto the memory of a portable data carrier | |
DE19901792A1 (en) | Hierarchical bus structure with preprocessing processors | |
EP1791057B1 (en) | Pipeline-Mechanism for data exchange between a chipcard and a terminal | |
DE10139889C1 (en) | Computer system with chip-card reader allowing storage of computer data for computer operating system on chip card | |
DE10127124A1 (en) | Electronic circuit for chip card interfaces has communication device switched between alternate chip card interfaces with selective activation of corresponding analogue interface | |
DE10328238B4 (en) | Method for loading smart cards with initialization and / or personalization data | |
EP2219115B1 (en) | Method for using a multifunction storage card on terminals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |