[go: up one dir, main page]

DE102007055654A1 - Tragbarer Datenträger - Google Patents

Tragbarer Datenträger Download PDF

Info

Publication number
DE102007055654A1
DE102007055654A1 DE200710055654 DE102007055654A DE102007055654A1 DE 102007055654 A1 DE102007055654 A1 DE 102007055654A1 DE 200710055654 DE200710055654 DE 200710055654 DE 102007055654 A DE102007055654 A DE 102007055654A DE 102007055654 A1 DE102007055654 A1 DE 102007055654A1
Authority
DE
Germany
Prior art keywords
volatile memory
nvm
data
data carrier
describing
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.)
Ceased
Application number
DE200710055654
Other languages
English (en)
Inventor
Alexander Grebe
Michael Baldischweiler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE200710055654 priority Critical patent/DE102007055654A1/de
Publication of DE102007055654A1 publication Critical patent/DE102007055654A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Einschreiben von Daten in einen nicht-flüchtigen Speicher (NVM) eines mikroprozessorgestützten tragbaren Datenträgers, insbesondere einer Chipkarte, bei dem die Daten blockweise an den Datenträger übertragen und in den nicht-flüchtigen Speicher (NVM) geschrieben werden. Es wird ein erster Teilbereich (TB0, TB2, ...) des nicht-flüchtigen Speichers (NVM) beschrieben. Es wird ein zweiter Teilbereich (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) beschrieben. Für die aus dem beschriebenen ersten Teilbereich (TB0, TB2, ...) ausgelesenen Inhalte wird eine Prüfsumme (CRC) ermittelt, während der Schritt des Schreibens des zweiten Teilbereichs (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) erfolgt.

Description

  • Die Erfindung betrifft ein Verfahren zum Einschreiben von Daten in einen nicht-flüchtigen Speicher eines mikroprozessorgestützten tragbaren Datenträgers, insbesondere einer Chipkarte, bei dem die Daten blockweise an den Datenträger übertragen und in den nicht-flüchtigen Speicher geschrieben werden. Die Erfindung betrifft ferner ein Computerprogrammprodukt sowie einen tragbaren Datenträger, insbesondere eine Chipkarte, mit einem nicht-flüchtigen Speicher und einem Mikroprozessor, bei welchem Daten blockweise an den Datenträger übertragbar und mikroprozessorgestützt in den nicht-flüchtigen Speicher schreibbar sind.
  • Tragbare Datenträger in Form einer Chipkarte sind z. B. Zugangsberechtigungskarten, sog. SIM(Subscriber Indentity Module)-Karten, für Mobilfunknetzwerke. Ein tragbarer Datenträger in Form einer Chipkarte weist üblicherweise in einem Kartenkörper einen integrierten Halbleiterbaustein sowie elektrisch leitende Kontaktflächen als Kopplungselemente zur Kommunikation des Kartenchips mit externen Geräten, wie z. B. Kartenschreib/Lesegeräten, Kommunikationsendgeräten, Bankterminals etc., auf. Als Kopplungselement zur Kommunikation des Kartenchips mit den externen Geräten können alternativ oder zusätzlich auch eine oder mehrere Antennen zur kontaktlosen Datenübertragung vorgesehen sein. In dem Halbleiterbaustein des tragbaren Datenträgers befinden sich der eigentliche Mikroprozessor (CPU) sowie ein programmierbarer nicht-flüchtiger Speicher, z. B. ein EEPROM oder ein Flash-Speicher, in den Daten einschreibbar sind. Daneben kann der Halbleiterbaustein einen Festwertspeicher sowie einen flüchtigen Arbeitsspeicher für den Prozessor umfassen.
  • Das Einschreiben von Daten in den nicht-flüchtigen Speicher, das auch als Programmieren, Beschreiben oder Laden des Speichers bezeichnet wird, er folgt über Programmiergeräte, die über die Kopplungselemente des Datenträgers mit dem Halbleiterbaustein der Karte kommunizieren. Das Einschreiben von Daten, die sich von Karte zu Karte nicht ändern, wird Initialisierung genannt. Das Einschreiben von Daten, die spezifisch für den jeweils einzelnen Datenträger oder eine bestimmte Person sind, wird Personalisierung genannt. Im Rahmen der Personalisierung werden beispielsweise Identifizierungsnummern oder geheime Schlüssel, die im Zusammenhang mit Verschlüsselungsalgorithmen verwendet werden, in dem Datenträger hinterlegt. Personalisierungsdaten können auch kunden- bzw. kundengruppenspezifischer Programmcode sein.
  • Das Einschreiben dieser Daten in den nicht-flüchtigen Speicher nimmt verhältnismäßig viel Zeit in Anspruch und begrenzt damit den Durchsatz bei der Produktion der tragbaren Datenträger. Die Zeit für das Einschreiben von Daten in den nicht-flüchtigen Speicher wird bestimmt durch den Schreibzugriff, der nicht beliebig schnell erfolgen kann. So ist bei einem Schreibzugriff auf einen nicht-flüchtigen Speicher eine Schreibspannung (Programmierspannung) erforderlich, welche höher ist als eine Versorgungsspannung des Halbleiterbausteins, und die intern in dem Halbleiterbaustein über eine integrierte Ladungspumpe aus der Versorgungsspannung generiert wird. Die Zeit für einen Schreibzugriff ist spezifisch für den Typ des Halbleiterbausteins. Für ein EEPROM liegt diese Zeit zwischen 3 ms und 10 ms. Mit einem Schreibzugriff kann üblicherweise eine sog. Page (Seite) des nicht-flüchtigen Speichers, welche mehrere Speicherzellen umfasst, auf einmal beschrieben werden. Eine solche Page kann beispielsweise mehrere Byte umfassen.
  • Um die Geschwindigkeit bei der Initialisierung und/oder Personalisierung des nicht-flüchtigen Speichers des tragbaren Datenträgers zu erhöhen, schlägt die DE 199 28 468 C2 vor, einen Datenblock zu empfangen, in einem I/O-Buffer zwischenzuspeichern und anschließend in einen Programmier-Zwischenspeicher zu kopieren. Sobald ein j-ter Datenblock in den Programmier-Zwischenspeicher kopiert wurde, wird bereits der nächste Datenblock (j + 1) empfangen, während zumindest teilweise gleichzeitig die Programmierung des nicht-flüchtigen Speichers mit den Daten des zuvor empfangenen Datenblocks (j) aus dem Programmier-Zwischenspeicher erfolgt. Somit werden während der Datenübertragung zum I/O-Buffer gleichzeitig zuvor gesendete Daten in den nicht-flüchtigen Speicher eingeschrieben.
  • Zur Lösung der gleichen Problematik schlägt die EP 0 971 361 B1 vor, mehrere Ladungspumpen vorzusehen, um ein teils parallelisiertes Schreiben in den nicht-flüchtigen Speicher bewirken zu können.
  • Es ist daher Aufgabe der vorliegenden Erfindung, ein Verfahren zum Einschreiben von Daten in einen nicht-flüchtigen Speicher eines mikroprozessorgestützten tragbaren Datenträgers, insbesondere einer Chipkarte, sowie einen tragbaren Datenträger anzugeben, bei welchem die Initialisierung und/oder Personalisierung weiter beschleunigt wird. Es ist ferner Aufgabe der vorliegenden Erfindung, ein Computerprogrammprodukt anzugeben.
  • Diese Aufgaben werden durch ein Verfahren mit den Merkmalen des Patentanspruches 1, ein Computerprogrammprodukt mit den Merkmalen des Patentanspruches 11 sowie einen tragbaren Datenträger mit den Merkmalen des Patentanspruches 12 gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Patentansprüchen.
  • Bei einem erfindungsgemäßen Verfahren zum Einschreiben von Daten in einen nicht-flüchtigen Speicher eines mikroprozessorgestützten tragbaren Datenträgers, insbesondere einer Chipkarte, bei dem die Daten blockweise an den Datenträger übertragen und in den nicht-flüchtigen Speicher geschrieben werden, werden ein erster Teilbereich des nicht-flüchtigen Speichers beschrieben, ein zweiter Teilbereich des nicht-flüchtigen Speichers beschrieben, und eine Prüfsumme für die aus dem beschriebenen ersten Teilbereich ausgewiesenen Inhalte ermittelt, während der Schritt des Schreibens des zweiten Teilbereichs des nicht-flüchtigen Speichers erfolgt.
  • Diesem Vorgehen liegt die Überlegung zu Grunde, dass die Programmie rung des nicht-flüchtigen Speichers während der Initialisierung und/oder der Personalisierung beschleunigt werden kann, wenn die Ermittlung der Prüfsumme für einen jeweiligen Teilbereich nicht erst im Anschluss an das vollständige Beschreiben des nicht-flüchtigen Speichers vorgenommen wird, sondern parallel zum Beschreiben eines gerade geschriebenen Teilbereichs des nicht-flüchtigen Speichers.
  • Die Bestimmung der Prüfsumme dient dazu, Fehler bei der Übertragung von Daten von einem Programmiergerät an den nicht-flüchtigen Speicher erkennen zu können. Hierzu wird beispielsweise vor Beginn der Übertragung eines Datenblocks die Prüfsumme, auch CRC(Cyclic Redundancy Check)-Wert genannt, berechnet. Nach Abschluss der Datenübertragung wird die Prüfsumme erneut errechnet. Anschließend werden diese beiden Prüfsummen verglichen. Die Prüfsumme ist so ausgelegt, dass Fehler bei der Übertragung der Daten, wie sie beispielsweise durch Rauschen auf der Kommunikationsleitung verursacht werden könnten, fast immer entdeckt werden.
  • Durch die Parallelisierung des Beschreibens eines Teilbereichs des nicht-flüchtigen Speichers und der Ermittlung der Prüfsumme für die aus einem bereits beschriebenen anderen Teilbereich ausgelesenen Inhalte kann die Programmierung des nicht-flüchtigen Speichers beschleunigt werden.
  • Sofern zum Beschreiben des ersten und des zweiten Teilbereichs des nicht-flüchtigen Speichers eine gemeinsame Ladungspumpe verwendet wird, hat das Auslesen der in dem ersten Teilbereich geschriebenen Inhalte vor dem Beschreiben des zweiten Teilbereichs des nicht-flüchtigen Speichers zu erfolgen, da während des Programmiervorganges nicht auf den nicht-flüchtigen Speicher lesend zugegriffen werden kann. In einer alternativen Ausgestaltung erfolgt während des Beschreibens des ersten Teilbereichs des nicht-flüchtigen Speichers ein Auslesen des zweiten Teilbereichs, oder umgekehrt. Dieses Vorgehen erfordert das Vorhandensein einer weiteren Ladungspumpe, so dass während der Programmierung eines der Teilbereiche auf einen anderen Teilbereich des nicht-flüchtigen Speichers zugegriffen werden kann.
  • Zweckmäßigerweise weist der tragbare Datenträger in einer weiteren Ausgestaltung zum Beschreiben des nicht-flüchtigen Speichers eine erste und eine zweite Ladungspumpe auf, wobei zum Beschreiben des ersten Teilbereichs des nicht-flüchtigen Speichers die erste Ladungspumpe und zum Beschreiben des zweiten Teilbereichs des nicht-flüchtigen Speichers die zweite Ladungspumpe verwendet wird. Das Vorsehen zweier Ladungspumpen ermöglicht eine weitere Beschleunigung des Programmiervorganges während der Initialisierung und/oder Personalisierung des tragbaren Datenträgers.
  • Zur weiteren zeitlichen Optimierung des Programmiervorganges ist dazu vorgesehen, dass der erste Teilbereich des nicht-flüchtigen Speichers Speicherseiten (Pages) mit ersten, insbesondere geradzahligen, Adressen und der zweite Teilbereich des nicht-flüchtigen Speichers Speicherseiten mit zweiten, insbesondere ungeradzahligen, Adressen umfasst. Hierdurch kann das Be schreiben des ersten Teilbereichs und des zweiten Teilbereichs des nicht-flüchtigen Speichers abwechselnd erfolgen.
  • Parallel zum Schreiben mit der zweiten Ladungspumpe werden die gerade mit der ersten Ladungspumpe geschriebenen Daten ausgelesen. Für diese Daten kann anschließend die Prüfsumme berechnet werden, unabhängig davon, ob die erste und/oder die zweite Ladungspumpe für einen Programmiervorgang verwendet werden.
  • Gemäß einer weiteren Ausgestaltung dieser Variante wird während des Beschreibens des ersten Teilbereichs des nicht-flüchtigen Speichers ein nächster Datenblock empfangen, der in den zweiten Teilbereich des nicht-flüchtigen Speichers einzuspeichern ist, oder umgekehrt.
  • Um die Verarbeitung der Prüfsumme zu beschleunigen kann weiter vorgesehen sein, dass beim Beschreiben des zweiten Teilbereichs des nicht-flüchtigen Speichers ein Prüfsummenwert für den letzten in den ersten Teilbereich des nicht-flüchtigen Speichers geschriebenen Datenblock empfangen wird, der mit der ermittelten Prüfsumme auf Übereinstimmung verglichen wird, oder umgekehrt. Die Verifizierung der Prüfsumme kann gemäß dieser Ausgestaltung durch den Mikroprozessor des tragbaren Datenträgers vorgenommen werden.
  • Eine weitere zweckmäßige Ausgestaltung sieht vor, dass der erste und der zweite Teilbereich des nicht-flüchtigen Speichers zumindest teilweise parallel beschrieben werden. Diese Ausgestaltung setzt voraus, dass entsprechende Mittel in dem tragbaren Datenträger vorgesehen sind, welche die Parallelisierung des Schreibprozesses erlauben.
  • Ferner kann vorgesehen sein, dass die Prüfsumme für den beschriebenen ersten und zweiten Teilbereich des nicht-flüchtigen Speichers gemeinsam berechnet wird, wenn ein weiterer Teilbereich des nicht-flüchtigen Speichers beschrieben wird. Hierdurch ergibt sich eine weitere Beschleunigung des Programmiervorganges des nicht-flüchtigen Speichers.
  • Von der Erfindung ist ferner ein Computerprogrammprodukt umfasst, das maschinenlesbare Programmbefehle für eine Steuerungseinheit eines Datenträgers aufweist, die diese zur Ausführung eines erfindungsgemäßen Ver fahren veranlassen. Das Computerprogrammprodukt kann z. B. in Form einer Diskette, einer CD-ROM usw. vorliegen. Es kann jedoch auch durch ein Computersignal verkörpert sein, welches in einem Computernetzwerk übertragen wird.
  • Gemäß einem weiteren Aspekt der Erfindung ist ein tragbarer Datenträger, insbesondere eine Chipkarte, mit einem nicht-flüchtigen Speicher und einem Mikroprozessor, bei welchem Daten blockweise an den Datenträger übertragbar und mikroprozessorgestützt in den nicht-flüchtigen Speicher schreibbar sind, dazu ausgebildet, einen ersten Teilbereich des nicht- flüchtigen Speichers zu beschreiben, einen zweiten Teilbereich des nicht-flüchtigen Speichers zu beschreiben, und eine Prüfsumme für die aus dem beschriebenen ersten Teilbereich ausgelesenen Inhalte zu ermitteln, während der Schritt des Schreibens des zweiten Teilbereichs des nicht-flüchtigen Speichers erfolgt. Ein erfindungsgemäßer tragbarer Datenträger weist damit die gleichen Vorteile auf, wie sie in Verbindung mit dem erfindungsgemäßen Verfahren beschrieben wurden. Der erfindungsgemäße tragbare Datenträger erlaubt die Ermittlung der Prüfsumme für aus dem geschriebenen ersten Teilbereich ausgelesenen Inhalte, während der Schritt des Schreibens des zweiten Teilbereichs des nicht-flüchtigen Speichers erfolgt und damit eine schnellere Programmierung des Datenträgers.
  • In einer weiteren konkreten Ausgestaltung weist der Datenträger zum Beschreiben des ersten Teilbereichs des nicht-flüchtigen Speichers eine erste Ladungspumpe und zum Beschreiben des zweiten Teilbereichs des nicht-flüchtigen Speichers eine zweite Ladungspumpe auf. Darüber hinaus kann der erfindungsgemäße Datenträger weitere Mittel umfassen, die die Ausführung des erfindungsgemäßen Verfahrens erlauben.
  • Die Erfindung wird nachfolgend näher anhand der Figuren erläutert. Es zeigen:
  • 1 eine schematische Darstellung eines ersten, möglichen Ablaufs bei der Programmierung eines nicht-flüchtigen Speichers eines mikroprozessorgestützten tragbaren Datenträgers,
  • 2 eine schematische Darstellung eines zweiten, möglichen Ablaufs bei der Programmierung des nicht-flüchtigen Speichers des Datenträgers, und
  • 3 eine schematische Darstellung eines dritten möglichen Ablaufs bei der Programmierung des nicht-flüchtigen Speichers des Datenträgers.
  • Der Erfindung liegt ein mikroprozessorgestützter, tragbarer Datenträger, insbesondere eine Chipkarte, zu Grunde, welche aus dem Stand der Technik prinzipiell bekannt ist. Ein solcher, in den Figuren nicht dargestellter, Datenträger umfasst neben dem eigentlichen Mikroprozessor (CPU), einen nicht-flüchtigen Speicher, z. B. ein EEPROM (Electrical Erasable Programable Read Only Memory) oder einen Flash-Speicher. Daneben umfasst der Datenträger in der Regel einen nicht programmierbaren Festwertspeicher (ROM), welcher ein Betriebssystem des Datenträgers enthält. Ferner ist ein flüchtiger Arbeitsspeicher (RAM) für den Prozessor vorhanden. Die Kommunikation des Datenträgers mit einem Programmiergerät zur Initialisierung und/oder Personalisierung des nicht-flüchtigen Speichers und damit des Datenträgers erfolgt beispielsweise über elektrische Kontaktflächen und/oder kontaktlos über eine Antennenspule. Für die Programmierung des nicht-flüchtigen Speichers sind ferner – je nach vorzusehendem Ablauf bei der Initialisierung und/oder Personalisierung – ein oder mehrere Ladungspumpen vorgesehen, welche aus einer Versorgungsspannung des Datenträgers eine Schreibspannung (sog. Programmierspannung) erzeugen können, welche höher ist als die Versorgungsspannung des Halbleiterbausteins des Datenträgers. Zur Beschleunigung der Programmierung, z. B. während der Initialisierung und/oder Personalisierung, ist vorgesehen, die hierzu notwendigen Vorgänge zu parallelisieren.
  • Gemäß dem in 1 gezeigten schematischen Ablauf einer ersten Variante der Erfindung erfolgt eine Parallelisierung des Einschreibens von Daten und des Berechnen einer Prüfsumme für die vorher geschriebenen Daten. Der nicht-flüchtige Speicher NVM wird teilbereichsweise mit Daten beschrieben. Die Teilbereiche TB0, TB1, TB2, etc. (allg. TBi) des nicht-flüchtigen Speichers können beispielsweise Speicherseiten (Pages) entsprechen. Jeder der Teilbereiche TBi weist eine Adresse auf, welche in den Ausführungsbeispielen durch die Ziffer i nach „TB" gekennzeichnet ist. Die Adressen bzw. Nummern teilen sich hiermit in gerade bzw. ungerade Nummern 0, 2, 4, ... bzw. 1, 3, 5, ... auf. Das Beschreiben der Teilbereiche TB0, TB1, TB2 erfolgt unter Steuerung des Mikroprozessors CPU.
  • Gemäß 1 wird zunächst der „gerade" Teilbereich TB0 durch den Mikroprozessor CPU beschrieben (WrEP). Nach dem Schreibvorgang werden die in den Teilbereich TB0 geschriebenen Daten ausgelesen: REP. Im nächsten Schritt erfolgt das Beschreiben des ungeraden Teilbereichs TB1: WrOP. Noch während der ungerade Teilbereich TB1 geschrieben wird, erfolgt eine Ermittlung einer Prüfsumme CRC für die aus dem beschriebenen Teilbereich TB0 ausgelesenen Inhalte: Calc CRC TB0. Im Anschluss an das Schreiben des ungeraden Teilbereichs TB1 erfolgt ein Auslesen der Daten: ROP. Im Anschluss wiederholt sich das soeben beschriebene Vorgehen für den nächsten geraden Teilbereich TB2: WrEP.
  • Das im Zusammenhang mit 1 beschriebene Vorgehen lässt sich dabei bei einem Datenträger vorsehen, welcher lediglich über eine einzige Ladungspumpe verfügt. Da bekanntermaßen ein Auslesen eines Teilbereichs nicht möglich ist, während dieser programmiert wird, muss das Auslesen eines gerade programmierten Teilbereichs im Anschluss an den Schreibvorgang erfolgen.
  • Im Gegensatz dazu zeigen die Ausführungsbeispiele der 2 und 3 mögliche Abläufe, welche bei Vorsehen zumindest einer weiteren Ladungspumpe durchgeführt werden können. Hierbei ist eine erste Ladungspumpe den Teilbereichen TB0, TB2, ... mit gerader Adresse bzw. Nummer zugeordnet. Diese Teilbereiche werden auch als EP (Even Page) bezeichnet. Demgemäß sind die Teilbereiche TB1, TB3, ... mit ungerader Adresse bzw. Nummer der zweiten Ladungspumpe zugeordnet. Teilbereiche mit einer ungeraden Adresse bzw. Nummer sind mit OP (Odd Page) gekennzeichnet. Das Vorsehen zweiter Ladungspumpen ermöglicht z. B. das zumindest teilweise parallele Schreiben von Teilbereichen mit gerader bzw. ungerader Nummer bzw. Adresse.
  • Der Ablauf gemäß 2 ist wie folgt: Zunächst wird der gerade Teilbereich TB0 mit Daten beschrieben: WrEP. Zeitverzögert wird der Teilbereich TB1 mit Daten beschrieben: WrOP. Noch während der Teilbereich TB1 mit Daten beschrieben wird, können die Daten des Teilbereichs TB0 für die Ermittlung einer Prüfsumme ausgelesen werden: REP. Im Ausführungsbeispiel wird davon ausgegangen, dass das Auslesen der Daten beendet ist, noch bevor das Beschreiben des Teilbereichs TB1 abgeschlossen ist. Entsprechend kann bereits mit dem Beschreiben des Teilbereichs TB2 begonnen werden: WrEP. Während der Teilbereich TB2 beschrieben wird, ist der Schreibvorgang des Teilbereichs TB1 abgeschlossen, so dass die darin geschriebenen Daten gelesen werden: ROP. Noch während des Schreibvorgangs des Teilbereichs TB2 beginnt das Schreiben des Teilbereichs TB3. Parallel zum Schreiben der Teilbereiche TB2 und TB3 wird dann die Prüfsumme CRC für die Teilbereiche TB0 und TB1 ermittelt (Calc CRC TB0 + TB1). Im Weiteren setzt sich das parallele Schreiben und sukzessive Ermitteln der Prüfsumme wie oben beschrieben fort.
  • 3 zeigt eine abgewandelte Variante des in 2 beschriebenen Ablaufs, bei welchem ein abwechselndes Beschreiben gerader (TB0, TB2) und ungerader (TB1, TB3) Teilbereiche erfolgt. Im Ausführungsbeispiel wird zunächst der gerade Teilbereich TB0 durch den Mikroprozessor CPU beschrieben: WrEP. Nach Beendigung des Schreibvorganges TB0 wird mit dem Schreiben des Teilbereichs TB1 begonnen. Parallel hierzu erfolgt ein Auslesen der Daten des Teilbereichs TB0 (REP) und ein anschließendes Ermitteln der Prüfsumme CRC für den Teilbereich TB0 (Calc CRC TB0). Nach Beendigung des Schreibvorganges des Teilbereichs TB1 erfolgt das Schreiben des geraden Teilbereichs TB2 (WrEP), wobei parallel hierzu ein Auslesen der Daten des Teilbereichs TB1 (REP) erfolgt. Parallel zum Schreiben des Teilbe reichs TB2 erfolgt das Ermitteln der Prüfsumme für den Teilbereich TB1 (Calc CRC TB1). In entsprechender Weise setzt sich das Beschreiben des ungeraden Teilbereichs TB3 fort, usw.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - DE 19928468 C2 [0005]
    • - EP 0971361 B1 [0006]

Claims (14)

  1. Verfahren zum Einschreiben von Daten in einen nicht-flüchtigen Speicher (NVM) eines mikroprozessorgestützten tragbaren Datenträgers, insbesondere einer Chipkarte, bei dem die Daten blockweise an den Datenträger übertragen und in den nicht-flüchtigen Speicher (NVM) geschrieben werden, dadurch gekennzeichnet, dass – ein erster Teilbereich (TB0, TB2, ...) des nicht-flüchtigen Speichers (NVM) beschrieben wird, – ein zweiter Teilbereich (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) beschrieben wird, und – eine Prüfsumme (CRC) für die aus dem beschriebenen ersten Teilbereich (TB0, TB2, ...) ausgelesenen Inhalte ermittelt wird, während der Schritt des Schreibens des zweiten Teilbereichs (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) erfolgt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Auslesen der in dem ersten Teilbereich (TB0, TB2, ...) geschriebenen Inhalte vor dem Beschreiben des zweiten Teilbereichs (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) erfolgt.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass während des Beschreiben des ersten Teilbereichs (TB0, TB2, ...) des nicht-flüchtigen Speichers (NVM) ein Auslesen des zweiten Teilbereichs (TB1, TB3, ...), oder umgekehrt, erfolgt.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass der tragbare Datenträger zum Beschreiben des nicht-flüchtigen Speichers (NVM) eine erste und eine zweite Ladungspumpe aufweist, wobei zum Beschreiben des ersten Teilbereichs (TB0, TB2, ...) des nicht- flüchtigen Speichers (NVM) die erste Ladungspumpe und zum Beschreiben des zweiten Teilbereichs (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) die zweite Ladungspumpe verwendet wird.
  5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass der erste Teilbereich (TB0, TB2, ...) des nicht-flüchtigen Speichers (NVM) Speicherseiten mit ersten, insbesondere geradzahligen, Adressen und der zweite Teilbereich (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) Speicherseiten mit zweiten, insbesondere ungeradzahligen, Adressen umfasst.
  6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass das Beschreiben des ersten Teilbereichs (TB0, TB2, ...) und des zweiten Teilbereichs (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) abwechselnd erfolgt.
  7. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass während des Beschreiben des ersten Teilbereichs (TB0, TB2, ...) des nicht-flüchtigen Speichers (NVM) ein nächster Datenblock empfangen wird, der in den zweiten Teilbereich (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) einzuspeichern ist, oder umgekehrt.
  8. Verfahren nach einem der Ansprüche 3 bis 7, dadurch gekennzeichnet, dass beim Beschreiben des zweiten Teilbereichs (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) ein Prüfsummenwert für den letzten in den ersten Teilbereich (TB0, TB2, ...) des nicht-flüchtigen Speichers (NVM) geschriebenen Datenblock empfangen wird, der mit der ermittelten Prüfsumme (CRC) auf Übereinstimmung verglichen wird, oder umgekehrt.
  9. Verfahren nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass der erste und der zweite Teilbereich (TB0, TB2, ...; TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) zumindest teilweise parallel beschrieben werden.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Prüfsumme (CRC) für den beschriebenen ersten und zweiten Teilbereich (TB0, TB2, ...; TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) gemeinsam berechnet werden, wenn ein weiterer Teilbereich des nicht-flüchtigen Speichers (NVM) beschrieben wird.
  11. Computerprogrammprodukt, das maschinenlesbare Programmbefehle für eine Steuerungseinheit eines Datenträgers (1) aufweist, die diese zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 10 veranlassen.
  12. Tragbarer Datenträger, insbesondere Chipkarte, mit einem nicht-flüchtigen Speicher (NVM) und einem Mikroprozessor, bei welchem Daten blockweise an den Datenträger übertragbar und mikroprozessorgestützt in den nicht-flüchtigen Speicher (NVM) schreibbar sind, dadurch gekennzeichnet, dass der Datenträger dazu ausgebildet ist, – einen ersten Teilbereich (TB0, TB2, ...) des nicht-flüchtigen Speichers (NVM) zu beschreiben, – einen zweiten Teilbereich (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) zu beschreiben, und – eine Prüfsumme (CRC) für die aus dem beschriebenen ersten Teilbereich (TB0, TB2, ...) ausgelesenen Inhalte zu ermitteln, während der Schritt des Schreibens des zweiten Teilbereichs (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) erfolgt.
  13. Datenträger nach Anspruch 12, dadurch gekennzeichnet, dass dieser zum Beschreiben des ersten Teilbereichs (TB0, TB2, ...) des nicht-flüchtigen Speichers (NVM) eine erste Ladungspumpe und zum Beschreiben des zweiten Teilbereichs (TB1, TB3, ...) des nicht-flüchtigen Speichers (NVM) eine zweite Ladungspumpe aufweist.
  14. Datenträger nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass dieser weitere Mittel zur Durchführung eines Verfahrens nach einem der Ansprüche 2 bis 10 aufweist.
DE200710055654 2007-11-21 2007-11-21 Tragbarer Datenträger Ceased DE102007055654A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200710055654 DE102007055654A1 (de) 2007-11-21 2007-11-21 Tragbarer Datenträger

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200710055654 DE102007055654A1 (de) 2007-11-21 2007-11-21 Tragbarer Datenträger

Publications (1)

Publication Number Publication Date
DE102007055654A1 true DE102007055654A1 (de) 2009-05-28

Family

ID=40576881

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200710055654 Ceased DE102007055654A1 (de) 2007-11-21 2007-11-21 Tragbarer Datenträger

Country Status (1)

Country Link
DE (1) DE102007055654A1 (de)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19928468C2 (de) 1999-06-22 2001-05-10 Orga Kartensysteme Gmbh Verfahren zum Einschreiben von Daten in den programmierbaren Festwertspeicher (EEPROM) eines mikroprozessorgestützten, tragbaren Datenträgers
WO2001059788A1 (fr) * 2000-02-11 2001-08-16 Gemplus Ecriture en temps reel securisee pour memoire volatile
WO2002067065A2 (de) * 2001-02-20 2002-08-29 Pilz Gmbh & Co. Verfahren und vorrichtung zum programmieren einer sicherheitssteuerung
FR2829847A1 (fr) * 2001-09-20 2003-03-21 Cp8 Procede de controle d'acces a des ressources partagees dans un systeme embarque et systeme embarque pour la mise en oeuvre d'un tel procede
US20030126347A1 (en) * 2001-12-27 2003-07-03 Choon-Seng Tan Data array having redundancy messaging between array controllers over the host bus
EP0971361B1 (de) 1998-06-23 2003-12-10 SanDisk Corporation Hochdatenrateschreibverfahren für nicht-flüchtige FLASH-Speicher
US20070061498A1 (en) * 2005-09-12 2007-03-15 Huey-Tyug Chua Method and System for NAND-Flash Identification without Reading Device ID Table
US20070101090A1 (en) * 2003-06-17 2007-05-03 Thales Method for carrying out writing updating and allocating memory applied to file writing on a memory medium such as a chip card
DE102006001872A1 (de) * 2006-01-13 2007-07-19 Infineon Technologies Ag Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Datenverarbeitungseinrichtung

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0971361B1 (de) 1998-06-23 2003-12-10 SanDisk Corporation Hochdatenrateschreibverfahren für nicht-flüchtige FLASH-Speicher
DE19928468C2 (de) 1999-06-22 2001-05-10 Orga Kartensysteme Gmbh Verfahren zum Einschreiben von Daten in den programmierbaren Festwertspeicher (EEPROM) eines mikroprozessorgestützten, tragbaren Datenträgers
WO2001059788A1 (fr) * 2000-02-11 2001-08-16 Gemplus Ecriture en temps reel securisee pour memoire volatile
WO2002067065A2 (de) * 2001-02-20 2002-08-29 Pilz Gmbh & Co. Verfahren und vorrichtung zum programmieren einer sicherheitssteuerung
FR2829847A1 (fr) * 2001-09-20 2003-03-21 Cp8 Procede de controle d'acces a des ressources partagees dans un systeme embarque et systeme embarque pour la mise en oeuvre d'un tel procede
US20030126347A1 (en) * 2001-12-27 2003-07-03 Choon-Seng Tan Data array having redundancy messaging between array controllers over the host bus
US20070101090A1 (en) * 2003-06-17 2007-05-03 Thales Method for carrying out writing updating and allocating memory applied to file writing on a memory medium such as a chip card
US20070061498A1 (en) * 2005-09-12 2007-03-15 Huey-Tyug Chua Method and System for NAND-Flash Identification without Reading Device ID Table
DE102006001872A1 (de) * 2006-01-13 2007-07-19 Infineon Technologies Ag Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Datenverarbeitungseinrichtung

Similar Documents

Publication Publication Date Title
DE19633466C2 (de) Nachinitialisierung von Chipkarten
DE69230773T2 (de) Datenverarbeitungseinrichtung mit fortschreitend programmierbarem nichtflüchtigen Speicher und Verfahren dazu
DE102008033518B4 (de) Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE102009033961A1 (de) Emulation eines einmal programmierbaren Speichers
DE19931184A1 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE60317801T2 (de) Verfahren und vorrichtung zur erkennung von fehlern während des schreibens in einen nichtflüchtigen speicher
EP1883906B1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
DE102007055654A1 (de) Tragbarer Datenträger
WO2004090695A1 (de) Verfahren zur überprüfung der datenintegrität von software in steuergeräten
DE19716015A1 (de) Einbringen von Information auf einer Chipkarte
DE69900501T2 (de) Blockweises laden von computerprogrammen
EP2210210B1 (de) Verfahren zum laden von initialisierungs- und/oder personalisierungsdaten auf einen tragbaren datenträger
WO2011033030A1 (de) Verfahren zum installieren und konfigurieren von applikationen auf einem portablen datenträger
DE10328238B4 (de) Verfahren zum Laden von Chipkarten mit Initialisierungs- und/oder Personalisierungsdaten
DE102010027287A1 (de) Verfahren und Vorrichtung zum prüfen eines Hauptspeichers eines Prozessors
DE19928468C2 (de) Verfahren zum Einschreiben von Daten in den programmierbaren Festwertspeicher (EEPROM) eines mikroprozessorgestützten, tragbaren Datenträgers
EP1559111A1 (de) Verfahren zum betreiben einer speicheranordnung
WO2002099650A2 (de) Verfahren zur verwaltung eines speichers einer chipkarte
WO2007033792A2 (de) Verfahren zur initialisierung und/oder personalisierung eines tragbaren datenträgers
DE112021002282T5 (de) Elektronische steuervorrichtung und aktualisierungsverfahren für steuerungssoftware
DE102007027935A1 (de) Tragbarer Datenträger und Verfahren zur Personalisierung eines tragbaren Datenträgers
EP1600855B1 (de) Erzeugen und Verwenden von Speicherbelegungsinformationen bei einem tragbaren Datenträger
EP2546837B1 (de) Verfahren zum Erkennen von gelöschten Speicherbereichen
DE10101234A1 (de) Verfahren zum Text eines nichtflüchtigen Speichers und Verwendung eines solchen Verfahrens

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20141105

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final