DE102017010430A1 - Method of preserving flash memory by sequential occupancy by disposable code modules - Google Patents

Method of preserving flash memory by sequential occupancy by disposable code modules Download PDF

Info

Publication number
DE102017010430A1
DE102017010430A1 DE102017010430.1A DE102017010430A DE102017010430A1 DE 102017010430 A1 DE102017010430 A1 DE 102017010430A1 DE 102017010430 A DE102017010430 A DE 102017010430A DE 102017010430 A1 DE102017010430 A1 DE 102017010430A1
Authority
DE
Germany
Prior art keywords
memory unit
module
code modules
preserving
use code
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.)
Granted
Application number
DE102017010430.1A
Other languages
German (de)
Other versions
DE102017010430B4 (en
Inventor
Vivek Joshi
Abhay Lanke
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 ePayments GmbH
Original Assignee
Giesecke and Devrient Mobile Security 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 Mobile Security GmbH filed Critical Giesecke and Devrient Mobile Security GmbH
Priority to DE102017010430.1A priority Critical patent/DE102017010430B4/en
Publication of DE102017010430A1 publication Critical patent/DE102017010430A1/en
Application granted granted Critical
Publication of DE102017010430B4 publication Critical patent/DE102017010430B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Abstract

Offenbart werden hierin Aspekte, die auf die effektive Personalisierung von Smartcards gerichtet sind, wobei die Flashspeicher-Nutzung optimiert wird, einschließlich insbesondere der Regenerierung von Flashspeicherbereich, der durch redundanten Code belegt ist, insbesondere durch sequenzielles Überschreiben von Einzelverwendungscode-Modulen, die an der Personalisierung dieser Smartcards beteiligt sind. Des Weiteren sind die Offenbarungen hierin ferner auf einen kundenspezifischen Bootloader und ein Kartenpersonalisierungswerkzeug zum Ermöglichen des vorgeschlagenen Verfahrens gerichtet.Disclosed herein are aspects directed to the effective personalization of smart cards, optimizing flash memory usage, including, in particular, the regeneration of flash memory space occupied by redundant code, in particular, by sequentially overriding single-use code modules involved in personalization These smart cards are involved. Further, the disclosures herein are further directed to a custom boot loader and card personalization tool for facilitating the proposed method.

Description

Gebiet der ErfindungField of the invention

Die vorliegende Erfindung betrifft allgemein Protokolle zum Zugreifen, Adressieren und Zuweisen von nichtflüchtigen Speicherblöcken, und insbesondere Verbesserungen darin, die auf die Erhöhung der Verfügbarkeit von Freiraum und der Lebensdauer in den nichtflüchtigen Speicherblöcken gerichtet sind.The present invention relates generally to protocols for accessing, addressing, and allocating nonvolatile memory blocks, and more particularly to improvements therein that are directed to increasing the availability of free space and lifetime in the nonvolatile memory blocks.

Insbesondere ist die vorliegende Erfindung ein Verfahren, das darauf gerichtet ist, die oben erwähnten Absichten für einen in eingebetteten Systemen, insbesondere Smartcards, enthaltenen Flashspeicher zu erreichen, indem die Belegung durch Einmalcode-Module darin sequenziell erfolgt.In particular, the present invention is a method aimed at achieving the above-mentioned intentions for flash memory included in embedded systems, especially smart cards, by sequentially occupying it by single-code modules therein.

Hintergrund der ErfindungBackground of the invention

CN 102 760 075 A offenbart ein Verfahren in einer Smartcard, welches sicherstellt, dass die Daten sicher und verlässlich abgespeichert werden. CN 102 760 075 A discloses a method in a smart card that ensures that the data is securely and reliably stored.

Nichtflüchtige Speichersysteme, insbesondere Flashspeichersysteme, haben aufgrund ihres niedrigen Stromverbrauchs, ihrer kleinen Größe, ihren niedrigen Kosten, geringen Wärmeerzeugung und hohen Stabilität immens an Beliebtheit gewonnen. Heutzutage werden auf Flashspeichern basierende Systeme meistens entweder in einem entfernbaren Formfaktor, einschließlich Speicherkarten oder Flashlaufwerke, die in Host-System/en wie etwa Personalcomputer, Kameras, und so weiter betreibbar aufgenommen werden können, oder alternativ in einem eingebetteten Formfaktor innerhalb von Systemen integriert, die Smartcards, SIMs enthalten, die ihre eigenen Verarbeitungsumgebungen aufweisen, aber als solche in größeren Host-Systemen, einschließlich Geldautomaten, Smartphones, Anwesenheitsendgeräte etc. aufgenommen werden, bereitgestellt.Non-volatile memory systems, especially flash memory systems, have become immensely popular due to their low power consumption, small size, low cost, low heat generation and high stability. Today, flash memory based systems are usually integrated either in a removable form factor, including memory cards or flash drives, which can be operably incorporated into host systems such as personal computers, cameras, and so forth, or alternatively in an embedded form factor within systems. include smart cards, SIMs that have their own processing environments, but as such are included in larger host systems, including ATMs, smart phones, home terminals, etc.

Wenn Daten in den nichtflüchtigen Speicher geschrieben werden, ordnet der Host unabhängig vom Einsatzformfaktor Sektoren, Clustern oder anderen Dateneinheiten innerhalb eines kontinuierlichen virtuellen Adressraums des Speichersystems typischerweise eindeutige logische Adressen zu. Eine allgemein innerhalb des Speichersystems befindliche Steuerung übersetzt von dem Host empfangene logische Adressen in physische Adressen innerhalb der Speicheranordnung, in der die Daten tatsächlich gespeichert werden, und verfolgt dann diese Adressübersetzungen für eine spätere Abfrage. Vordefinierte Zyklusdauer und einseitig gerichtete Schreibverlaufscharakteristik bei Flashspeichersystemen werden als einschränkend für wiederholte Iterationen des zuvor beschriebenen Schreibprozesses betrachtet. Deshalb braucht das Fachgebiet einen Weg, der einfach und kostengünstig ist, aber bei der Verlängerung der Lebensspanne von eingebauten Flashspeichern und deshalb der Nutzungsdauer von Systemen, welche die Flashspeicher integrieren, hilft.When data is written to nonvolatile memory, regardless of the insert factor, the host typically allocates unique logical addresses to sectors, clusters, or other data units within a continuous virtual address space of the memory system. A controller generally located within the memory system translates logical addresses received from the host into physical addresses within the memory array in which the data is actually stored, and then tracks those address translations for later retrieval. Predefined cycle time and unidirectional write history in flash memory systems are considered to be limiting for repeated iterations of the previously described write process. Therefore, the art needs a way that is simple and inexpensive, but helps to extend the lifespan of built-in flash memory and therefore the useful life of systems that integrate the flash memory.

Der Lebenszyklus von Systemen, die diese Flashspeicher integrieren, wird durch die programmierte(n) Anwendung(en) und deren Betriebsfrequenz, welche seitens des für das System verantwortlichen Benutzers verursacht wird, definiert. Im unmittelbaren Geltungsbereich der vorliegenden Erfindung wird der Lebenszyklus von Smartcards als viele Zustände umfassend betrachtet, einschließlich: a) Registrierung bei einem Smartcard-Verwaltungssystem, b) Personalisierung zur Ausgabe an eine Person, c) Inbetriebsetzen zur Verwendung, d) Ausführung des auf der Smartcard programmierten Betriebs, e) Hinzufügen von nachfolgenden Anwendungen, die auf der Smartcard ausgeführt werden sollen, f) Blockieren oder Löschen der Smartcard aus dem Verwaltungssystem und g) Wiederherstellung zur Verwendung, um nur einige zu nennen.The lifecycle of systems integrating these flash memories is defined by the programmed application (s) and their operating frequency, which is caused by the user responsible for the system. Within the immediate scope of the present invention, the life cycle of smart cards is considered to include many conditions including: a) registration with a smart card management system, b) personalization for delivery to a person, c) commissioning for use, d) execution of the smart card programmed operation, e) adding subsequent applications to be executed on the smart card, f) blocking or deleting the smart card from the management system, and g) recovery for use, to name but a few.

Die meisten Übergänge zwischen den oben erwähnten Zuständen im Lebenszyklus von Smartcards enthalten unveränderlich eine oder mehrere Schreiboperationen im eingebauten nichtflüchtigen Speicher, welche die Schreib-Zählung und damit die Annäherung an die Gebrauchsdauer der Speichereinheit voranschreiten lassen. Begrenzungen von Speicherraumbeschränkungen und verfügbarer Flashspeicherdichte sind Haupthindernisse bei der Erweiterung der Kapazität der Flashspeichersysteme. Es wäre deshalb wünschenswert, die Residenz von Daten auf Flashspeicherblöcken zu minimieren, um deshalb einen großen Teil davon zum Empfangen von weiteren Daten über nachfolgende Auslösch-/Schreiboperationen freizugeben und in der Folge auch die ungleichmäßige Abnutzung der Speicherblöcke durch Reduzieren der Abhängigkeit von spezifischen Speicheradressen für wiederholte Auslösch-Schreib-Zyklen zu reduzieren.Most transitions between the above-mentioned states in the life cycle of smart cards invariably contain one or more write operations in the built-in nonvolatile memory which allow the write count to proceed and thus approach the useful life of the memory device. Limitations of memory space limitations and available flash memory density are major obstacles to expanding the capacity of flash memory systems. It would therefore be desirable to minimize the residence of data on flash memory blocks, therefore, to release much of it for receiving further data on subsequent flush / write operations, and consequently also the uneven wear of the memory blocks by reducing the dependency on specific memory addresses to reduce repeated erase-write cycles.

Unter den oben erwähnten Lebenszykluszuständen bezieht sich die Personalisierung auf das elektronische On-Chip-Laden von Anwendungscodes, Benutzerdaten und kryptographischen Schlüsseln und ist ein anfänglicher Herstellungsprozess, wodurch allgemeine serienmäßig hergestellte Smartcards in individuell eingerichtete Karten umgewandelt werden, die in einer oder mehreren programmierten Anwendungen verwendet werden können.Among the above-mentioned lifecycle conditions, personalization refers to on-chip electronic loading of application codes, user data, and cryptographic keys, and is an initial manufacturing process whereby general mass-produced smart cards are transformed into custom cards used in one or more programmed applications can be.

Heutzutage verwendete Personalisierungsprotokolle erfordern das Laden von vielen funktionellen Modulen oder Applets in vorbezeichnete Bereiche innerhalb des Flashspeichers der allgemeinen serienmäßig hergestellten Karten. Es gibt gewisse Module, die einen einzigen Verwendungsfall haben und nach dem Zeitpunkt der Personalisierung der Zielkarte überflüssig werden. Das Laden von solchen Daten an bestimmten dafür vorgesehenen Adressen blockiert den Flashspeicher im gleichem Maß und erhöht deshalb die Belegung der Flashspeichereinheit. Es wäre deshalb wünschenswert, dass eine solche Datenresidenz optimiert wird, damit eine großer Teil von Flashspeicherbereichen frei bleiben kann, zusätzlich dazu, dass diejenigen die verwendet wurden, wiederhergestellt werden, um dadurch die Verfügbarkeit von eingebauten Flashspeichern und zusätzlich die Nutzungsdauer von Systemen, die solche Flashspeicher integrieren, zu verbessern.Personalization protocols used today require the loading of many functional modules or applets into predesignated areas within flash memory of the general mass-produced cards. There are certain modules that have a single use case and after the time of personalization of the Destination card become redundant. The loading of such data at certain designated addresses blocks the flash memory to the same extent and therefore increases the occupancy of the flash memory unit. It would therefore be desirable to optimize such a data resident so that a large portion of flash memory areas can be left free, in addition to restoring those used, thereby increasing the availability of built-in flash memory and, in addition, the useful life of systems such as these Integrate flash memory, improve.

Im Stand der Technik werden einige wenige Versuche zur Lösung der oben erwähnten Betrachtungen erwähnt. Zum Beispiel offenbart US7272086 (erteilt für Samsung Electronics Co Ltd) ein Verfahren zum logischen Überschreiben von Daten in einem einmal beschreibbaren Informationsspeichermedium, das zum physischen Überschreiben nicht in der Lage ist, so dass Daten einfach aktualisiert und/oder ausgelesen werden, und eine Datenaufzeichnungs- und/oder eine Wiedergabevorrichtung dafür. Hier wird ein Befehl zum Überschreiben neuer Daten in einem ersten Bereich des einmal beschreibbaren Informationsspeichermedium, worin Daten bereits aufgezeichnet wurden, ausgegeben. Dann wird der erste Bereich als fehlerhafter Bereich angesehen, und die neuen Daten werden in einem zweiten Bereich aufgezeichnet. Danach werden aktualisierte Fehlerverwaltungsinformationen, einschließlich Informationen über den Ort des ersten und zweiten Bereichs, im einmal beschreibbaren Informationsspeichermedium aufgezeichnet. Dieses Verfahren beruht jedoch auf dem Bestimmen fehlerhafter Bereiche und einem zusätzlichen Fehlerverwaltungssystem, das somit das Überschreiben dieser Speicherbereiche fortführt.The prior art mentions a few attempts to solve the above-mentioned considerations. For example, disclosed US7272086 (issued to Samsung Electronics Co Ltd) discloses a method of logically overwriting data in a write-once information storage medium that is incapable of physical overwriting so that data is easily updated and / or read out, and a data logging and / or recording medium Reproduction device for this. Here, an instruction to overwrite new data in a first area of the write-once information storage medium in which data has already been recorded is output. Then, the first area is regarded as a defective area, and the new data is recorded in a second area. Thereafter, updated error management information including information about the location of the first and second areas is recorded in the write-once information storage medium. However, this method relies on determining bad areas and an additional error management system, thus continuing to overwrite these memory areas.

Ein anderes Beispiel, die US20140229025 (der Rain Bird Corp. zugeteilt), offenbart einen Codeersatz für Bewässerungssteuerungen, wobei ein Bootloader bereitgestellt wird, der die Kopie des zweiten Codesatzes, der über eine entfernbar eingesteckte Steckeinrichtung empfangen wird, über einen ersten Codesatz schreibt, mit Ausnahme des Bootloaders, der nicht überschrieben wird. Dieses System ist jedoch nicht in der Lage, Anforderungen der Flashspeicherverwaltung, insbesondere Ermüdung durch Abnutzung und Redundanz von Dateien, jenseits des Verwendungsfalls, der in dem angeführten Dokument dargelegt ist, zu erfüllen, welches ansonsten laut der vorgeschlagenen Lösung einen Vorteil hat beim Erzielen von Aufrüstungen oder zusätzlichen Funktionalitäten für einen vorhandenen Codesatz, der an einem Speicherort vorliegt.Another example, the US20140229025 (assigned to Rain Bird Corp.) discloses a code replacement for irrigation controls wherein a boot loader is provided which writes the copy of the second code set received via a removably plugged-in connector over a first set of codes except the boot loader which is not is overwritten. This system, however, is unable to meet flash memory management requirements, particularly fatigue due to wear and redundancy of files, beyond the use case set forth in the cited document, which otherwise has an advantage in achieving upgrades, according to the proposed solution or additional functionality for an existing code set present in a storage location.

Der Stand der Technik zeigt in dem oben dargestellten Ausmaß keine einzige wirksame Lösung auf, die alle zuvor erwähnten Betrachtungen angeht, wodurch eine akute Erfindungsnotwendigkeit für die vorliegenden Erfinder gewahrt wurde, die als Ergebnis ihrer gezielten Forschung mit neuartigen Lösungen zum endgültigen Erfüllen der Anforderungen des Fachgebiets aufwarten. Die nachfolgenden Offenbarungen ermöglichen ein besseres Verstehen der Gegenstände, Vorteile, Merkmale, Eigenschaften und Beziehungen der vorliegenden Erfindung.The prior art, to the extent presented above, does not show a single effective solution to all of the aforementioned considerations, thus preserving an acute invention need for the present inventors as a result of their targeted research with novel solutions to finally meet the needs of the art come up. The following disclosures provide a better understanding of the objects, advantages, features, characteristics, and relationships of the present invention.

Aufgaben der vorliegenden ErfindungObjects of the present invention

Die vorliegende Erfindung wird dadurch identifiziert, dass sie mindestens alle größeren Mängel, die im vorstehenden Abschnitt besprochen wurden, angeht, durch effektives Angehen der unten angegeben Aufgaben. DarinThe present invention is identified by addressing at least all of the major deficiencies discussed in the preceding paragraph by effectively addressing the objects set forth below. therein

ist es eine primäre Aufgabe, ein Verfahren zum Optimieren der Nutzbarkeit eines Flashspeichers, oder zur anderweitigen Vermeidung von dessen Verschwendung, in eingebetteten Systemen, insbesondere Smartcards bereitzustellen.It is a primary object to provide a method for optimizing the usability of a flash memory, or otherwise avoiding its waste, in embedded systems, especially smart cards.

ist es eine weitere Aufgabe, neben der/den oben erwähnten Aufgabe(n), dass das so bereitgestellte Verfahren insbesondere das Problem von redundanten Daten angeht, die sich in eingebetteten Systemen innerhalb des Flashspeichers befinden.It is a further object, in addition to the above-mentioned object (s), that the method thus provided specifically addresses the problem of redundant data residing in embedded systems within the flash memory.

ist es eine weitere Aufgabe, neben der/den oben erwähnten Aufgabe(n), dass das so bereitgestellte Verfahren implementiert werden kann ohne dass Modifikationen, oder wenn überhaupt nur minimale Modifikationen, an vorhandenen eingebetteten Systemen, insbesondere Smartcards, erforderlich sind.It is a further object, in addition to the above-mentioned object (s), that the method thus provided may be implemented without requiring modifications, or even minimal modifications, to existing embedded systems, particularly smart cards.

ist es eine weitere Aufgabe, neben der/den oben erwähnten Aufgabe(n), dass das so bereitgestellte Verfahren kostengünstig zu implementieren ist und keine speziellen Fachkenntnisse oder Kenntnisse von Seiten des Benutzers erfordert, der für das eingebettete System, insbesondere für eine mit dem Verfahren ausgestattete Smartcard verantwortlich ist.It is a further object, in addition to the above-mentioned object (s), that the method thus provided is inexpensive to implement and does not require any special expertise or knowledge on the part of the user for the embedded system, in particular for one with the method equipped smart card is responsible.

ist es eine weitere Aufgabe, neben der/den oben erwähnten Aufgabe(n), dass das so bereitgestellte Verfahren dazu verwendet werden kann, ein Initialisierungswerkzeug für die effektive Personalisierung von eingebetteten Systemen, insbesondere Smartcards einzuführen, wahrend die Flashspeicher-Nutzung optimiert wird.It is a further object, in addition to the above-mentioned object (s), that the method thus provided can be used to introduce an initialization tool for the effective personalization of embedded systems, particularly smart cards, while optimizing flash memory usage.

Diese und andere Aufgaben und ihre Erreichung werden für den Leser mit den folgenden ausführlichen Offenbarungen und den angefügten unabhängigen Ansprüchen 1 und 11 ersichtlich. Andere Komponenten, Merkmale und die Art und Weise ihrer Implementierung sind in den abhängigen Ansprüchen umrissen.These and other objects, and their attainment, will become apparent to those skilled in the art having the following detailed disclosures and appended independent claims 1 and 11, respectively. Other components, features, and the manner of their implementation are outlined in the dependent claims.

Kurzfassung der vorliegenden Erfindung Summary of the present invention

Gemäß der vorliegenden Erfindung wie derzeit vorgesehen wird hiermit ein Verfahren zum Bewahren von Flashspeicher durch sequenzielle Belegung durch Einzelverwendungscode-Module bereitgestellt. Beim Implementieren des Verfahrens während des Herstellungsprozesses für Smartcards werden Einzelverwendungscode-Module, die als sich gegenseitig ausschließend identifiziert sind, gemäß der Logik für ihre Ausführung zur Personalisierung sequenziell geladen, wodurch eine Flashspeicherplatzverschwendung, die sich ansonsten aus dem Laden von jedem der Einzelverwendungscode-Module in separaten Bereichen innerhalb des Flashspeichers ergibt, vermieden wird. Dieses Verfahren führt einen individuell eingerichteten Bootloader und ein darauf basierendes Kartenpersonalisierungswerkzeug zur effektiven Personalisierung von Smartcards, während die Flashspeicher-Nutzung optimiert wird, ein.According to the present invention as presently provided, there is provided a method for retaining flash memory by sequential occupancy by single use code modules. In implementing the method during the smart card manufacturing process, single use code modules that are identified as being mutually exclusive are sequentially loaded according to the logic for their execution for personalization, thereby resulting in a flash memory waste that would otherwise result from loading each of the single use code modules separate areas within the flash memory is avoided. This method introduces an individualized bootloader and card personalization tool based thereon for the effective personalization of smart cards while optimizing flash memory usage.

Figurenlistelist of figures

Die obengenannten und weitere Aspekte, Merkmale und Vorteile von mehreren Ausführungsformen der vorliegenden Erfindung werden aus dem nachfolgend bereitgestellten Abschnitt der detaillierten Beschreibung besser ersichtlich, der in Verbindung mit den folgenden Zeichnungen dargestellt wird. Darin zeigen:

  • 1 ein Blockdiagramm zur schematischen Veranschaulichung der Methodik zum Regenerieren von Flashspeicher, der durch Einmal-Codes belegt ist, im Wesentlichen gemäß der hierin dargelegten Offenbarungen.
The above and other aspects, features and advantages of several embodiments of the present invention will become more apparent from the following detailed description of the detailed description taken in conjunction with the following drawings. Show:
  • 1 a block diagram to schematically illustrate the methodology for regenerating flash memory, which is occupied by one-time codes, substantially in accordance with the disclosures set forth herein.

In der/den obengenannten Zeichnung/en wurden, wo immer möglich, durchgehend dieselben Ziffern zur Bezeichnung derselben oder ähnlichen Komponenten oder Indexe wie folgt verwendet:

001 -
Proprietärer Bootloader
002 -
Schritt zum Herunterladen des Betriebssystems (OS, engl. Operating System)
003 -
Modul für die Funktionalität CreDe
004 -
Betriebssystem
005 -
Freiraum innerhalb des Flashspeichers der Smartcard
006 -
Schritt zum Herunterladen üblicher Personalisierungsdateien unter Verwendung von CreDe
007 -
Dateisystem, das dedizierte Dateien und/oder Elementardateien umfasst
008 -
Schritt zum Ermöglichen des Herunterladens eines Mastereinrichtungspatch
009 -
Befehl zum Herunterladen eines Mastereinrichtungspatch
010 -
Modul für Mastereinrichtungspatchfunktionalität
011 -
Schritt zur Herstellung von mehreren Karten
In the above drawings, wherever possible, the same numbers have been used to designate the same or similar components or indices as follows:
001 -
Proprietary bootloader
002 -
Step to download the operating system (OS).
003 -
Module for the functionality CreDe
004 -
operating system
005 -
Free space within the flash memory of the smart card
006 -
Step to download common personalization files using CreDe
007 -
File system that includes dedicated files and / or elementary files
008 -
Step to allow the download of a master device patch
009 -
Command to download a master setup patch
010 -
Module for master device patch functionality
011 -
Step to make several cards

Eine Bezugnahme auf bestimmte Beispiele und Implementierungen geschieht nur zu veranschaulichenden Zwecken und soll den Schutzbereich der Erfindung oder der Ansprüche nicht beschränken. Obgleich eine Nummerierung in der detaillierten Beschreibung und in den Ansprüchen eingeführt wurde, um einen Bezug auf spezifische Komponenten bezüglich solcher Referenzen, die in anderen Abschnitten dieser Spezifikation gemacht werden, abzugrenzen, werden nicht alle Komponenten in jeder Zeichnung gezeigt oder mit einer Nummer versehen, um eine Verschleierung der vorgeschlagenen Erfindung zu vermeiden.Reference to particular examples and implementations is for illustrative purposes only and is not intended to limit the scope of the invention or the claims. Although numbering has been introduced in the detailed description and claims to delineate reference to specific components with respect to such references made in other sections of this specification, not all components in each drawing are shown or numbered to be specific to avoid obscuring the proposed invention.

Die Aufmerksamkeit des Lesers soll nun auf die folgende detaillierte Beschreibung gelenkt werden, die eine bevorzugte Ausführungsform der vorliegenden Erfindung und andere Art und Weisen, in denen die Prinzipien der Erfindung genutzt werden können, beschreibt, ohne vom Wesen der hierin beanspruchten Erfindung abzuweichen.The reader's attention will now be directed to the following detailed description, which describes a preferred embodiment of the present invention and other ways in which the principles of the invention may be utilized without departing from the spirit of the invention claimed herein.

Detaillierte BeschreibungDetailed description

Im Prinzip ist der allgemeine Zweck der vorliegenden Erfindung, Unfähigkeiten und Mängel, die bekannten Systemen innewohnen, die den Stand der Technik umfassen, zu bewerten und neue Systeme zu entwickeln, die alle verfügbaren Vorteile der bekannten Technik und keine ihrer Nachteile einbinden.In principle, the general purpose of the present invention is to evaluate inabilities and shortcomings inherent in known systems, including the prior art, and to develop new systems incorporating all available advantages of the known technique, and none of its disadvantages.

Vor der nachfolgenden detaillierten Beschreibung der Erfindung kann es vorteilhaft sein, Definitionen von überall in dieser Patentschrift verwendeten gewissen Wörtern oder Ausdrücken darzulegen: Die Begriffe „enthalten“ und „umfassen“ sowie deren Ableitungen bedeuten einschließen, ohne darauf beschränkt zu sein; der Begriff „oder“ ist einschließend und bedeutet und/oder; die Ausdrücke „zugeordnet“ und „irgendetwas zugeordnet“, sowie deren Ableitungen können enthalten, innerhalb von etwas enthalten, miteinander verbunden, mit, beinhalten, in etwas beinhaltet sein, zu oder mit etwas verbinden, zu oder mit etwas koppeln, kommunizieren können mit, kooperieren mit, verzahnen, nebeneinander stellen, in der Nähe sein von, gebunden sein an oder mit, aufweisen, eine Eigenschaft aufweisen oder dergleichen bedeuten; und der Begriff „OS“ bezieht sich auf Betriebssystem oder allgemein auf irgendein auf die Smartcard herunterzulandendes Softwareprogramm; „ASIC“ bezieht sich auf eine anwendungsspezifische Schaltung; „FPGA“ bezieht sich auf eine feldprogrammierbare Gatteranordnung; „CrDe“ bezieht sich auf Create- und Delete(zu Deutsch: Erstelle und Lösche)-Funktionalitäten; „MD“ bezieht sich auf eine Mastereinrichtung; „CRC“ bezieht sich auf eine zyklische Redundanzprüfung; „APDU“ bezieht sich auf eine Anwendungsprotokolldateneinheit.Before the following detailed description of the invention, it may be advantageous to set forth definitions of certain words or phrases used throughout this specification: including, but not limited to, the terms "including,""including," and their derivatives. the term "or" is inclusive and means and / or; the expressions "mapped" and "associated with anything", as well as their derivatives may be contained within, linked to, contained in, contained in, linked to or connected to, linked to or linked to, able to communicate with, cooperate with, dovetail, side by side, close to, bound to, having, having a property or the like; and the term "OS" refers to operating system or generally any software program to be downloaded to the smart card; "ASIC" refers to an application specific circuit; "FPGA" refers to a field programmable gate array; "CrDe" refers to Create and Delete functionalities; "MD" refers to a master device; "CRC" refers to a cyclic redundancy check; "APDU" refers to an application log data unit.

Entsprechend wird ein Ansatz zum Reduzieren der Gesamtbelegung von Speicherblöcken innerhalb der Flashspeichereinheit, um diese frei und verfügbar für eine weitere Verwendung während des Lebenszyklus der betreffenden Smartcard zu machen, vorgeschlagen, dessen Ermöglichung anhand gewisser nicht einschränkender Ausführungsformen besprochen wird, von denen einige unten anhand gewisser Beispiele erklärt werden, die allgemein die Art und Weise veranschaulichen, wie Prinzipien der vorliegenden Erfindung genutzt werden können.Accordingly, one approach to reducing the overall occupancy of memory blocks within the flash memory device to make it free and available for further use during the life cycle of the particular smart card is proposed, the eligibility of which will be discussed in terms of certain non-limiting embodiments, some of which are set forth below Examples that generally illustrate the manner in which principles of the present invention may be used are explained.

Wie im vorstehenden Teil dieses Dokuments erwähnt, erfordern heutzutage verwendete Protokolle für die Personalisierung von Smartcards das Laden von vielen funktionellen Einzelverwendungscode-Modulen oder Applets auf vorbezeichnete bestimmte Bereiche innerhalb des Flashspeichers der allgemeinen serienmäßig hergestellten Karten. Die vorliegenden Erfinder betrachten dieses Merkmal als eine angehbare Nische, da diese Einzelverwendungscode-Module nur einmal erforderlich sind und nach der Personalisierung redundant sind. Deshalb stellt ihr belegter Flashspeicher eine regenerierbare Ressource und die Art und Weise, wie derselbe für den Herstellungsprozessablauf regeneriert wird, bildet das Wesen der hierin beanspruchten Erfindung.As mentioned in the previous part of this document, smart card personalization protocols used today require the loading of many functional single use code modules or applets onto predesignated particular areas within the flash memory of the general mass-produced cards. The present inventors consider this feature to be a susceptible niche because these single use code modules are required only once and are redundant after personalization. Therefore, their occupied flash memory is a regenerable resource and the way it is regenerated for the manufacturing process flow forms the essence of the invention claimed herein.

Zu Beginn schlagen die vorliegenden Erfinder einen Ansatz vor, um Einzelverwendungscode-Module, insbesondere CrDe -und MD-Funktionalitäten, die sich bekanntermaßen gegenseitig ausschließen, gemäß der logischen Sequenz ihrer programmierten Ausführung während des Personalisierungsprozesses sequenziell zu überschreiben. Insofern wird CrDe verwendet, um die Dateien auf dem Dateisystem zu erstellen und zu löschen, und die MD-Funktionalität wird zum Lesen der Flashinhalte oder des Abbilds des Flash als Herstellungsdateiformat, zum Beispiel eine .mot-Datei, verwendet. Sowohl CrDe als auch MD sind nur zum Zeitpunkt der Herstellung und nicht später während des Nutzungsdauer der Smartcard erforderlich.Initially, the present inventors propose an approach to sequentially overwrite single use code modules, in particular CrDe and MD functionalities that are known to be mutually exclusive, according to the logical sequence of their programmed execution during the personalization process. As such, CrDe is used to create and delete the files on the file system, and the MD functionality is used to read the flash contents or the image of the flash as a production file format, such as a .mot file. Both CrDe and MD are required only at the time of manufacture and not later during the life of the smart card.

Basierend auf dem im vorhergehenden Absatz erwähnten Ansatz und wie insbesondere in 1 veranschaulicht, ist es in dem hierin beanspruchten erfindungsgemäßen Herstellungsprozess vorgesehen, mit der Auswahl einer allgemeinen serienmäßig hergestellten Smartcard (nicht gezeigt) anzufangen.Die Smartcard wird durch einen proprietären Bootloader (001), der in einem Abschnitt ihres Flashspeichers vorinstalliert ist, individuell eingerichtet. Der proprietäre Bootloader (001) ist dazu programmiert, über Schritt (002) das CrDe-Modul (003) und OS (004) auf den Flashspeicher der Smartcard zu laden, wobei Raum (005) frei gelassen wird.Based on the approach mentioned in the previous paragraph and, in particular, in 1 In the manufacturing process claimed herein, it is intended to begin with the selection of a generic mass-produced smart card (not shown). The smart card is replaced by a proprietary boot loader (see FIG. 001 ), which is preinstalled in a section of their flash memory, is individually customized. The proprietary boot loader ( 001 ) is programmed to over step ( 002 ) the CrDe module (003) and OS ( 004 ) to load the flash memory of the smart card, whereby space ( 005 ) is left free.

Unter fortlaufendem Bezug auf die begleitende 1 ist zu sehen, dass als Ergebnis der Ausführung von CrDe (003) ein Dateisystem (007), das dedizierte Dateien und/oder Elementardateien umfasst, über Schritt (006) (005) zur Personalisierung der Smartcard in den Freiraum geladen wird. Danach werden in Schritt (008) Lösche- und Initialisiere-Befehle des OS (004) ausgeführt, um in Schritt (009) das Laden des MD-Moduls (010) auf denselben Speicherort wie das CrDe-Modul (003) zu ermöglichen, wodurch eine Ausgangseinzelkarte, oder Masterkarte, gebildet wird, wodurch der Flashspeicher, der ursprünglich durch CrDe (003) belegt wurde, regeneriert wird.Continuing to refer to the accompanying 1 can be seen that as a result of the execution of CrDe (003) a file system ( 007 ), which includes dedicated files and / or elementary files, via step ( 006 ) (005) is loaded for personalization of the smart card in the free space. After that, in step ( 008 ) Delete and initialize commands of the OS ( 004 ) executed in step ( 009 ) loading the MD module ( 010 ) to the same location as the CrDe module (003), thereby forming an output card, or master card, which regenerates the flash memory originally occupied by CrDe (003).

Ferner ist mit fortlaufendem Bezug auf die begleitende 1 zu sehen, dass die Ausführung des MD-Moduls (010) das Lesen der Flashinhalte oder des Abbilds des Flash als Herstellungsdatei zur Folge hat, die auch Einzelheiten enthält, einschließlich Adresse, Byte-Anzahl und die CRC-Werte, unter dessen Verwendung als Vorlage nach Bedarf mehrere Karten hergestellt werden können. Es versteht sich aus dem Verlauf dieser Schritte, dass der Masterkarte die Funktionalität des CrDe-Moduls (003) deaktiviert wird, sobald das Herunterlademerkmal aktiviert ist.Furthermore, with continued reference to the accompanying 1 to see that the execution of the MD module ( 010 ) results in the reading of the flash contents or the image of the flash as a manufacturing file, which also contains details, including address, byte count and CRC values, which can be used as a template to make multiple cards as needed. It is understood from the course of these steps that the functionality of the CrDe module (003) will be disabled for the master card once the download feature is activated.

Gemäß einem ersten Aspekt der vorliegenden Erfindung ist der proprietäre Bootloader (001) eine computerimplementierte Routine, die dazu programmiert ist, einen Satz von Befehlen aufzuweisen, der darauf gerichtet ist, bei Ausführung die folgenden Funktionen zu erreichen:

  1. a) Auslöschen einzelner oder mehrerer Sektoren des Flashspeichers auf der Smartcard. Das Befehlsformat dieses Befehls weist N zusätzliche Datenbytes auf, unter denen höchstwertige X-Bytes die Adresse angeben, aus der der Flash ausgelöscht werden sollte; wohingegen die zwei wertniedrigsten Bytes die Anzahl von Seiten angeben, die ausgelöscht werden muss; die Werte von N und X können je nach Verwendungsfall bestimmt werden.
  2. b) Initialisieren/Schreiben spezifischer Inhalte auf den Flashspeicher. Das APDU-Format dieses Befehls weist N zusätzliche Datenbytes auf, unter denen höchstwertige X-Bytes die Adresse angeben, ab der der Flash beschrieben werden muss, während der Rest der wertniedrigeren Bytes die auf den Flash zu schreibenden eigentlichen Datenbytes darstellen;
  3. c) Verifizieren des Inhalts des beschriebenen Flash durch Validieren eines zuvor gelieferten CRC gegenüber eines intern durch die Karte berechneten. Das APDU-Befehlsformat für diesen Befehl weist N zusätzliche Datenbytes auf, unter denen die höchstwertigen X-Bytes der Daten die Adresse angeben, von denen aus die CRC-Berechnung erfolgen sollte. Die nächsten vier hochwertigen Bytes stellen dann die Anzahl von Bytes dar, auf denen die CRC-Berechnung erfolgen sollte. Die restlichen (N-X) Bytes der Daten stellen den erwarteten Wert der CRC dar, der durch das externe Werkzeug berechnet wird. Derselbe Wert wird mit dem berechneten Wert der CRC verglichen. Auf Basis dieses Vergleichs wird die positive oder negative Antwort des Verifikationsbefehls gegeben; und
  4. d) Übergabe der Ausführungssteuerung vom Bootloader an das OS. Aufgrund dieses Befehls wird die erste Seite des Flash aktualisiert.
According to a first aspect of the present invention, the proprietary boot loader ( 001 ) a computer-implemented routine that is programmed to have a set of instructions that is directed to accomplish the following functions upon execution:
  1. a) Deleting one or more sectors of flash memory on the smart card. The instruction format of this instruction has N additional data bytes, among which most significant X bytes indicate the address from which the flash should be erased; whereas the two least significant bytes indicate the number of pages that must be extinguished; the values of N and X can be determined according to the case of use.
  2. b) initializing / writing specific content to flash memory. The APDU format of this instruction has N extra data bytes, where most significant X bytes indicate the address from which the flash must be written, while the remainder of the lower order bytes represent the actual data bytes to be written to the flash;
  3. c) verifying the content of the described flash by validating a previously supplied CRC against an internally calculated by the card. The APDU instruction format for this instruction has N additional data bytes, among which the most significant X bytes of the data indicate the address from which the CRC calculation should be made. The next four high-order bytes then represent the number of bytes on which the CRC calculation should occur. The remaining (NX) bytes of the data represent the expected value of the CRC calculated by the external tool. The same value is compared with the calculated value of the CRC. Based on this comparison, the positive or negative answer of the verification order is given; and
  4. d) Transfer of the execution control from the boot loader to the OS. This command updates the first page of the Flash.

Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist das OS (004) eine computerimplementierte Routine, die dazu programmiert ist, unter anderem einen Satz von herstellungsspezifischen Befehlen aufzuweisen, der darauf gerichtet ist, bei Ausführung Folgendes zu erreichen, darunter:

  1. a) Erstellen von für die Personalisierung der Smartcards notwendigen Dateien;
  2. b) Löschung von für die Personalisierung der Smartcards notwendigen Dateien;
  3. c) Auslöschen einzelner oder mehrerer Sektoren des Flashspeichers auf der Smartcard. Das APDU-Format dieses Befehls weist N zusätzliche Datenbytes auf, unter denen höchstwertige X-Bytes die Adresse angeben, aus der der Flash gelöscht werden sollte; wohingegen die wertniedrigsten verbliebenen (N-X)-Bytes die Anzahl von Seiten angeben, die ausgelöscht werden müssen;
  4. d) Initialisieren/Schreiben spezifischer Inhalte auf den Flashspeicher. Das APDU-Format dieses Befehls weist N zusätzliche Datenbytes auf, unter denen höchstwertige X-Bytes die Adresse angeben, ab der der Flash beschrieben werden muss, während der Rest der wertniedrigeren Bytes die auf den Flash zu schreibenden eigentlichen Datenbytes darstellen;
  5. e) Verifizieren des Inhalts des beschriebenen Flash durch Validieren eines gelieferten CRC gegenüber einem intern durch die Karte berechneten. Das APDU-Befehlsformat für diesen Befehl weist N zusätzliche Datenbytes auf, unter denen die höchstwertigen X-Bytes der Daten die Adresse angeben, von denen aus die CRC-Berechnung erfolgen sollte. Die restlichen Bytes der Daten stellen den erwarteten Wert der CRC dar, der durch das externe Werkzeug berechnet wird. Derselbe Wert wird mit dem berechneten Wert der CRC verglichen. Basierend auf diesem Vergleich wird die positive oder negative Antwort des Verifikationsbefehls gegeben;
  6. f) Schutz der Herunterladefunktionalität des OS. Eine erfolgreiche Authentifizierung unter Verwendung dieses Befehls ist auf die Ermöglichung der Befehle bei Punkt c) bis e) in diesem Absatz gerichtet; und
  7. g) Auslesen der Flashinhalte von der Karte. Dies ist ein optionaler Befehl, der der MD-Funktionalität als steckbares Modul dient.
According to a second aspect of the present invention, the OS ( 004 ) a computer-implemented routine that is programmed to include, among other things, a set of manufacturing-specific instructions that is directed to accomplish the following upon execution, including:
  1. a) creating files necessary for the personalization of the smart cards;
  2. b) deletion of files necessary for the personalization of the smart cards;
  3. c) erase one or more sectors of the flash memory on the smart card. The APDU format of this instruction has N extra data bytes, among which most significant X bytes indicate the address from which the flash should be deleted; whereas the least significant (NX) bytes indicate the number of pages that must be erased;
  4. d) initializing / writing specific content to flash memory. The APDU format of this instruction has N extra data bytes, where most significant X bytes indicate the address from which the flash must be written, while the remainder of the lower order bytes represent the actual data bytes to be written to the flash;
  5. e) verifying the content of the described flash by validating a supplied CRC against an internally calculated by the card. The APDU instruction format for this instruction has N additional data bytes, among which the most significant X bytes of the data indicate the address from which the CRC calculation should be made. The remaining bytes of the data represent the expected value of the CRC calculated by the external tool. The same value is compared with the calculated value of the CRC. Based on this comparison, the positive or negative answer of the verification order is given;
  6. f) Protection of the download functionality of the OS. Successful authentication using this command is directed to enabling the commands at points c) through e) in this paragraph; and
  7. g) reading the flash contents from the card. This is an optional command that serves the MD functionality as a pluggable module.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung sind der proprietäre Bootloader (001) und das CrDe-Modul (003) unter einer Telefonbuch-Datei (wie etwa ein .ADN-Format) gruppiert, um dadurch Flexibilität bei der Dateigrößenzuweisung, beim Schutz gegen unbeabsichtigtes Löschen des proprietären Bootloader (001) und/oder des CrDe-Moduls (003) nach der Personalisierung und auch eine Wahl, den CrDe-Modul(003)-Raum im Hinblick auf die Telefonbuch-Datei zu regenerieren, da die Definition letzterer zum Zeitpunkt der Herstellung leer gelassen werden kann, zu erlauben. Die Telefonbuch-Datei wird zwingend aktualisiert, um den im vorhergehenden Absatz erwähnten Smartcardpersonalisierungsprozess abzuschließen. Das gilt auch für die mehreren Karten, die unter Verwendung der Herstellungsdatei vorbereitet werden, sowie für die Einzelkarte, die zum Erzeugen der Bildvorlage, die für die Herstellung von mehreren Karten zu verwenden ist, verwendet wird.According to another aspect of the present invention, the proprietary boot loader ( 001 ) and the CrDe module ( 003 grouped under a phone book file (such as an .ADN format), thereby providing flexibility in file size allocation, protection against unintentional deletion of the proprietary bootloader ( 001 ) and / or the CrDe module ( 003 ) after personalization and also a choice, the CrDe module ( 003 ) Space to regenerate with respect to the phone book file, since the definition of the latter can be left blank at the time of manufacture. The phone book file is compulsorily updated to complete the smart card personalization process mentioned in the previous paragraph. This also applies to the multiple cards prepared using the manufacturing file, as well as to the single card used to create the image template to be used for making multiple cards.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung geht dem Schritt (002) eine Auswahl einer Smartcard mit vorinstalliertem proprietären Bootloader (001), der sehr wenige Flashspeicher auf der Karte verbraucht, voraus. Die Ausführung des proprietären Bootloader (001) in Schritt (002) hat das Laden des CrDe-Moduls (003) und OS (004) auf den Flashspeicher der Smartcard gleich nach dem proprietären Bootloader (001) zur Folge.Danach wird die Karte zurückgesetzt, um das OS (004) zu aktivieren.According to another aspect of the present invention, step ( 002 ) a selection of a smartcard with pre-installed proprietary bootloader ( 001 ), which consumes very few flash memories on the card. The execution of the proprietary boot loader ( 001 ) in step ( 002 ) has loaded the CrDe module ( 003 ) and OS ( 004 ) to the flash memory of the smartcard just after the proprietary boot loader ( 001 Afterwards, the card is reset to the OS ( 004 ) to activate.

Durch Schritt (002) wird das CrDe-Modul (003) dem OS (004) zur Verfügung gestellt. In diesem Prozess kann der Flashbereich, der durch das CrDe-Modul (003) belegt ist, im Hinblick auf die Telefonbuch-Datei regeneriert werden, wodurch den alternativen Ausführungsformen, worin die Definition des zu regenerierenden Flashbereichs größer, gleich oder kleiner ist als die Kombination aus proprietärem Bootloader (001) und CrDe-Modul (003), Rechnung getragen wird.Sobald die Personalisierung auf diese Weise erfolgt ist, kann dann dieselbe Karte als endgültige Herstellungskarte verwendet werden, oder sie kann dazu verwendet werden, eine Vorlageherstellungsdatei für die Herstellung von mehreren Karten nach Bedarf zu erzeugen. Es sollte sich verstehen, dass die Telefonbuch-Datei jederzeit während der Personalisierung erstellt werden kann, wenn ihre Dateigröße kleiner oder gleich dem proprietären Bootloader (001) plus das CrDe-Modul (003) ist, ansonsten wird die Entfernung der Telefonbuch-Datei nicht in der Löschung des CrDe-Moduls (003) resultieren.Through step ( 002 ), the CrDe module (003) becomes the OS ( 004 ) made available. In this process, the flash area occupied by the CrDe module (003) may be regenerated with respect to the phone book file, thereby rendering the alternative embodiments where the definition of the flash area to be regenerated greater than or equal to the combination from proprietary bootloader ( 001 Once the personalization is done in this way, then the same card can be used as the final manufacturing card, or it can be used to make one Create template production file to produce multiple cards as needed. It should be understood that the phone book file can be created at any time during personalization if its file size is less than or equal to the proprietary boot loader ( 001 ) plus the CrDe module (003), otherwise the removal of the phonebook file will not result in the deletion of the CrDe module (003).

Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird der Schritt (008) als Befehl durch das OS (004) durchgeführt, um das Herunterladen des MD-Moduls (010) auf den Flashspeicherbereich, der von dem durch das CrDe-Modul (003) belegten Bereich regeneriert wurde, zu ermöglichen, um somit die Erzeugung der Vorlageherstellungsdatei zu erlauben. Diese Funktion wird dadurch geschützt, dass eine bestimmte Anzahl von Bytes (etwa A, 8 Bytes im Besonderen) des Authentifizierungswerts erforderlich sind, wenn dies nicht der Fall ist, sind der proprietäre Bootloader (001) plus das CrDe-Modul (003) eingerichtet, um von der Karte gelöscht zu werden, wodurch diese Funktion dauerhaft nicht mehr erlaubt ist. Ferner ist anzumerken, dass der Schritt (008) für eine einzige Ausführung eingerichtet ist und nicht wieder ausgeführt werden kann, falls die Karte während des Schritts (009) zurückgesetzt wird, wodurch das Herunterladen des MD-Moduls (010) dauerhaft deaktiviert ist.According to another aspect of the present invention, the step ( 008 ) as a command through the OS ( 004 ) to download the MD module ( 010 ) to allow the flash memory area regenerated by the area occupied by the CrDe module (003), thus allowing the creation of the original manufacturing file. This function is protected by requiring a certain number of bytes (say A, 8 bytes in particular) of the authentication value; if not, the proprietary boot loader ( 001 ) plus the CrDe module (003) are set up to be deleted from the card, which permanently prohibits this function. It should also be noted that the step ( 008 ) is set up for a single execution and can not be re-executed if the card during the step ( 009 ), allowing you to download the MD module ( 010 ) is permanently disabled.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird der Schritt (009) in Form von Lösche-Sektor- und Initialisiere-Befehlen durch das OS (004) durchgeführt, um das MD-Modul (010) auf den Flashspeicherbereich, der von dem durch das CrDe-Modul (003) belegten Bereich regeneriert wurde, herunterzuladen, wodurch das MD-Modul (010) als steckbares Teil des OS (004) selbst zur Verfügung gestellt wird. Und sobald das MD-Modul (010) heruntergeladen ist, kann die personifizierte Karte zum Einlesen der Flashinhalte in eine Herstellungsdatei verwendet werden, die wiederum zum Herstellen mehrerer Karten gemäß den Erfordernissen des Benutzers zu verwenden ist.According to another aspect of the present invention, the step ( 009 ) in the form of delete sector and initialize commands by the OS ( 004 ) to the MD module ( 010 ) to the flash memory area regenerated from the area occupied by the CrDe module (003), whereby the MD module ( 010 ) as a pluggable part of the OS ( 004 ) itself is made available. And once the MD module ( 010 ), the personalized card may be used to read the flash contents into a manufacturing file, which in turn is to be used to produce a plurality of cards according to the needs of the user.

Aus dem Vorstehenden sollte es sich verstehen, dass es effektiv zwei zu regenerierende Flashbereiche gibt, die durch Belegungen des CrDe-Moduls (003) und des MD-Moduls (010) identifiziert sind. In alternativen Ausführungsformen kann es vorgesehen sein, dass das CrDe-Modul (003) und das OS (004) dazu eingerichtet sein können, um entweder diskrete oder zusammenhängende Orten innerhalb der Flashspeichereinheit der Smartcard zu belegen.From the above, it should be understood that there are effectively two flash areas to be regenerated, which can be accessed by using the CrDe module ( 003 ) and the MD module ( 010 ) are identified. In alternative embodiments, it may be provided that the CrDe module (003) and the OS ( 004 ) may be arranged to occupy either discrete or contiguous locations within the flash memory device of the smart card.

Wie leicht zu verstehen ist, wird das hierin vorgeschlagene Verfahren durch ein Konsortium von Werkzeugen / computerimplementierten Routinen ermöglicht, die dazu programmiert sind, die Schritte (002), (006), (009) und (011) durchzuführen. Herkömmliche Downloader, Personalisierungswerkzeuge und Lese-Flash-Werkzeuge können für die genannten Zwecke genutzt werden.As will be readily understood, the method proposed herein is enabled by a consortium of tools / computer-implemented routines programmed to perform the steps (FIG. 002 ) 006 ) 009 ) and ( 011 ). Conventional downloaders, personalization tools, and reading flash tools can be used for these purposes.

Obgleich 1 eine Anzahl von Operationen in einer bestimmten Reihenfolge veranschaulicht, können Operationen, die nicht reihenfolgeabhängig sind, neu geordnet werden und andere Operationen können kombiniert oder herausgenommen werden. Während einige Neuordnungen oder andere Gruppierungen eigens erwähnt werden, werden andere für den Fachmann ersichtlich sein und stellen somit keine erschöpfende Liste von Alternativen dar. Außerdem sollte es erkannt werden, dass die Phasen in Hardware, Firmware, Software oder irgendeiner Kombination daraus implementiert werden können.Although 1 illustrates a number of operations in a particular order, operations that are not order-dependent may be rearranged and other operations may be combined or removed. While some rearrangements or other groupings are specifically mentioned, others will be apparent to those skilled in the art and thus are not an exhaustive list of alternatives. Additionally, it should be recognized that the phases may be implemented in hardware, firmware, software, or any combination thereof.

Die vorliegende Erfindung wurde in einem beispielhaften Aufbau unter Verwendung eines Hardwaremoduls praktisch verwirklicht, und darin wurde identifiziert, dass sie die folgenden Vorteile gegenüber dem Stand der Technik aufweist:

  1. a) Regenerierung von Flashspeicher, der entweder von CrDe- oder MD-Einmalcode-Modulen oder von beiden oder von keinem davon belegt ist;
  2. b) Kontrolle über unbeabsichtigte Löschung des Bootloaders; und
  3. c) Darstellung von Protokollen für die Herstellung von einzelnen und mehreren Karten, wodurch eine größere Flexibilität beim Herstellungsverfahrens erlaubt wird.
The present invention has been practiced in an exemplary construction using a hardware module, and has been identified as having the following advantages over the prior art:
  1. a) regeneration of flash memory occupied by either CrDe or MD one-time-code modules, or both, or none;
  2. b) control over unintentional deletion of the boot loader; and
  3. c) Presentation of single and multi-card production protocols, allowing greater flexibility in the manufacturing process.

Bei der Interpretation dieses Dokuments können, um die Beschreibung zu vereinfachen, verschiedene Funktionen und Operationen oder ausführbare Routinen für dieselben als durch Softwarecode durchgeführt oder veranlasst beschrieben werden. Der Fachmann wird jedoch erkennen, dass mit solchen Ausdrücken gemeint ist, dass Funktionen aus der Ausführung des Codes/der Instruktionen oder der Routinen durch einen Prozessor, wie etwa ein Mikroprozessor, resultieren. Es sollte sich verstehen, dass die Funktionen und Operationen oder ausführbare Routinen zur Implementierung dieser Ausführungsformen als Teil eines Betriebssystems oder einer spezifischen Anwendung, Komponente, eines Programms, Objekts, Moduls oder einer Instruktionssequenz implementiert werden können.In interpreting this document, to simplify the description, various functions and operations or routines thereof may be described as being performed or prompted by software code. However, those skilled in the art will recognize that by such terms is meant functions resulting from the execution of the code (s) or routines by a processor, such as a microprocessor. It should be understood that the functions and operations or executable routines for implementing these embodiments may be implemented as part of an operating system or specific application, component, program, object, module, or instruction sequence.

Des Weiteren können die hierin angeführten Ausführungsformen oder weitere Varianten davon unter Verwendung festverdrahteter Beschaltung, wie etwa ASIC oder FPGA ohne Software-Befehle, oder in Kombination mit Software-Befehlen implementiert werden. Somit sind die hierin offenbarten Techniken weder auf irgendeine spezifische Kombination von Hardwarebeschaltung und Software, noch auf irgendeine bestimmte Quelle für die durch das Datenverarbeitungssystem ausgeführten Instruktionen beschränkt.Further, the embodiments set forth herein, or other variants thereof, may be implemented using hardwired circuitry, such as ASIC or FPGA without software instructions, or in combination with software instructions. Thus, the techniques disclosed herein are not limited to any specific combination of hardware circuitry and software any particular source for the instructions executed by the data processing system.

Wahrend einige hierin offenbarten Ausführungsformen in voll funktionsfähigen Computern und Computersystemen implementiert werden können, können verschiedene Ausführungsformen als Rechenprodukt in einer Vielfalt von Formen verteilt werden und können unabhängig vom jeweiligen Maschinentyp oder von den jeweiligen computerlesbaren Medien, die zum eigentlichen Verteilen verwendet werden, angewendet zu werden.While some embodiments disclosed herein may be implemented in full-featured computers and computer systems, various embodiments may be distributed as computing product in a variety of forms and may be applied regardless of the type of machine or computer-readable media used for actual distribution ,

Wie weiter zu erkennen ist, beziehen sich die vorstehenden Offenbarungen auf spezifische beispielhafte Ausführungsformen, die in veranschaulichendem Sinn und nicht einschränkendem Sinn betrachtet werden sollen. Dennoch ist die vorliegende Erfindung zu verschiedenen anderen Ausführungsformen und Veränderungen in der Lage, wie es dem Fachmann ersichtlich sein kann, ohne dass dabei vom Wesen der vorliegenden Erfindung abgewichen wird. Demgemäß ist es offensichtlich, dass verschiedene Modifizierungen daran vorgenommen werden können, ohne dass vom breiteren Wesen und Schutzbereich der Ausführungsformen, wie in den beigefügten Ansprüchen dargelegt, abgewichen wird.As will be further appreciated, the foregoing disclosures pertain to specific exemplary embodiments which are to be considered in an illustrative and nonlimiting sense. However, the present invention is capable of various other embodiments and variations, as will be apparent to those skilled in the art, without departing from the spirit of the present invention. Accordingly, it will be apparent that various modifications may be made therein without departing from the broader spirit and scope of the embodiments as set forth in the appended claims.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • CN 102760075 A [0003]CN 102760075 A [0003]
  • US 7272086 [0010]US 7272086 [0010]
  • US 20140229025 [0011]US 20140229025 [0011]

Claims (13)

Verfahren zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin, wobei das Verfahren Folgendes umfasst: a) Installieren eines proprietären Bootloaders (001) in einem Abschnitt der nichtflüchtigen Speichereinheit; b) Ausführen des proprietären Bootloaders (001), um dadurch in Schritt (002) ein CrDe-Modul (003) und ein OS (004) auf die nichtflüchtige Speichereinheit zu laden, worin Freiraum (005) gelassen wird; c) Ausführen des CrDe-Moduls (003), um dadurch in Schritt (006) einen dedizierten Dateisatz (007) innerhalb des Freiraums (005) zu laden; d) Zurücksetzen der Karte, worin das OS (004) ausgeführt wird, um dabei in Schritt (008) ein Mastereinrichtungspatch-Modul (010) auf demselben Abschnitt der nichtflüchtigen Speichereinheit, die zuvor durch das CrDe-Modul (003) belegt war, zu überschreiben, um diesen Abschnitt der nichtflüchtigen Speichereinrichtung zu regenerieren und somit zu bewahren; e) Ausführen des Mastereinrichtungspatch-Moduls (010), um dadurch in Schritt (011) Inhalte der nichtflüchtigen Speichereinheit zu lesen, die bei dem vorhergehenden Schritt d) als ein Abbild im Herstellungsdateiformat erzielt wurden, um in einer Vorlagereproduktionsanwendung nach Wahl zu dienen.A method for maintaining a nonvolatile memory device via sequential occupancy by single use code modules therein, the method comprising: a) installing a proprietary boot loader (001) in a portion of the non-volatile storage device; b) executing the proprietary boot loader (001) to thereby load a CrDe module (003) and an OS (004) onto the non-volatile memory unit leaving free space (005) in step (002); c) executing the CrDe module (003) thereby to load in step (006) a dedicated file set (007) within the free space (005); d) resetting the card, wherein the OS (004) is executed to thereby at step (008) to a master device patch module (010) on the same portion of the non-volatile memory unit, which was previously occupied by the CrDe module (003) override to regenerate and thus preserve that portion of the nonvolatile memory device; e) executing the master device patch module (010) thereby to read in step (011) contents of the nonvolatile memory unit obtained in the previous step d) as an image in the production file format to serve in a template production application of choice. Verfahren zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 1, wobei die nichtflüchtige Speichereinheit insbesondere ein Flashspeicher auf einer Smartcard ist.A method of preserving a nonvolatile memory unit via sequential occupancy by single use code modules therein Claim 1 In particular, the non-volatile memory unit is a flash memory on a smart card. Verfahren zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 1 und 2, wobei der Schritt (006) in einer Personalisierung der Smartcard resultiert.A method of preserving a nonvolatile memory unit via sequential occupancy by single use code modules therein Claim 1 and 2 wherein step (006) results in personalization of the smart card. Verfahren zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 1, wobei der proprietäre Bootloader (001) und das CrDe-Modul (003) unter einer Telefonbuch-Datei gruppiert sind, um dadurch Flexibilität bei der Dateigrößenzuweisung zusätzlich zum Schutz gegen unbeabsichtigte Löschung des proprietären Bootloaders (001) und des CrDe-Moduls (003) nach der Personalisierung in Schritt (006) zu erlauben.A method of preserving a nonvolatile memory unit via sequential occupancy by single use code modules therein Claim 1 where the proprietary boot loader (001) and the CrDe module (003) are grouped under a phone book file thereby providing flexibility in file size allocation in addition to protection against unintentional deletion of the proprietary boot loader (001) and the CrDe module (003) after the personalization in step (006). Verfahren zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 4, wobei die Telefonbuch- und Herstellungsdateien in jeder Instanz der Erledigung der Schritte (006) bzw. (011) aktualisiert werden.A method of preserving a nonvolatile memory unit via sequential occupancy by single use code modules therein Claim 4 where the phonebook and manufacturing files are updated at each instance of completing steps (006) and (011), respectively. Verfahren zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 1 und 2, wobei die Vorlagereproduktionsanwendung nach Wahl über Schritt (011) auf die Massenherstellung von Smartcards gerichtet ist.A method of preserving a nonvolatile memory unit via sequential occupancy by single use code modules therein Claim 1 and 2 wherein the template production application is directed to mass production of smart cards via step (011), as desired. Verfahren zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 1, wobei die nichtflüchtige Speichereinheit alternativ ausgewählt wird aus überschreibbarem Nurlesespeicher, Magnetspeicher, optischen Platten und deren Entsprechungen.A method of preserving a nonvolatile memory unit via sequential occupancy by single use code modules therein Claim 1 wherein the nonvolatile memory unit is alternatively selected from rewritable read only memory, magnetic memories, optical disks and their equivalents. Verfahren zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 1, wobei der Abschnitt der nichtflüchtigen Speichereinheit, der bewahrt werden kann, alternativ größer, gleich oder kleiner ist als die Speichergröße der Kombination des proprietären Bootloaders (001) und des CrDe-Moduls (003).A method of preserving a nonvolatile memory unit via sequential occupancy by single use code modules therein Claim 1 wherein the portion of the non-volatile memory unit that may be retained is alternatively greater than, equal to, or less than the memory size of the combination of the proprietary boot loader (001) and the CrDe module (003). Verfahren zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 1 oder 8, wobei der Abschnitt der nichtflüchtigen Speichereinheit, der bewahrt werden kann, alternativ ausgewählt wird aus denen, die durch die Belegung des CrDe-Moduls (003) und des MD-Moduls (010) identifiziert sind.A method of preserving a nonvolatile memory unit via sequential occupancy by single use code modules therein Claim 1 or 8th wherein the portion of the non-volatile memory unit that may be stored is alternatively selected from those identified by the occupancy of the CrDe module (003) and the MD module (010). Verfahren zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 1 und 5, wobei das Telefonbuch während der Personalisierung in Schritt (006) nicht aktualisiert wird, wenn ein Abschnitt der zu bewahrenden nichtflüchtigen Speichereinheit durch Belegung durch sowohl das CrDe-Modul (003) als auch das MD-Modul (010) identifiziert ist.A method of preserving a nonvolatile memory unit via sequential occupancy by single use code modules therein Claim 1 and 5 wherein the phone book is not updated during personalization in step (006) if a portion of the nonvolatile storage unit to be preserved is identified by occupancy by both the CrDe module (003) and the MD module (010). System zum Bewahren einer nichtflüchtigen Speichereinheit, die insbesondere ein Flashspeicher auf einer Smartcard ist, über sequenzielle Belegung durch Einzelverwendungscode-Module darin, indem das Verfahren gemäß Anspruch 1 implementiert wird, wobei das System Folgendes umfasst: a) einen proprietären Bootloader (001), der eine auf einem Computer ausführbare Routine ist, deren Ausführung innerhalb der nichtflüchtigen Speichereinheit dazu programmiert ist, um in Schritt (002) zu resultieren, worin ein oder mehrere Einzelverwendungscode-Module, die insbesondere ein CrDe-Modul (003) und OS (004) sind, auf vorbezeichnete Orte innerhalb der nichtflüchtigen Speichereinheit geladen werden, worin Freiraum (005) gelassen wird; b) einen Dateisatz (007), der für die Personalisierung der Smartcards notwendig ist; c) ein Mastereinrichtungspatch-Modul (010), das eine auf einem Computer ausführbare Routine ist, deren Ausführung innerhalb der nichtflüchtigen Speichereinheit programmiert ist, um in Schritt (011) Inhalte der nichtflüchtigen Speichereinheit zu resultieren, die bei dem vorhergehenden Schritt d) als ein Abbild erzielt wurden, um in einer Vorlagereproduktionsanwendung nach Wahl zu dienen; und d) einen Werkzeugsatz, der ferner herkömmlich implementierte, durch Computer ausführbare Routinen, einschließlich Downloader, Personalisierungswerkzeuge und Lese-Flash-Werkzeuge für die Inbetriebnahme und die Übergabe der Steuerung entsprechend der Schritte (002), (006), (009) und (011) umfasst.A system for maintaining a non-volatile memory device, in particular a flash memory on a smart card, via sequential occupancy by single-use code modules therein, by the method according to Claim 1 in which the system comprises: a) a proprietary boot loader (001) that is a computer-executable routine whose execution within the non-volatile memory unit is programmed to result in step (002), wherein one or more Single use code modules, particularly a CrDe module (003) and OS (004), are loaded to designated locations within the nonvolatile memory unit, leaving open space (005); b) a file set (007) necessary for the personalization of the smart cards; c) a master device patch module (010) which is a computer-executable routine whose execution is programmed within the non-volatile memory unit to result in non-volatile memory unit contents in step (011) being included in the previous step d) Image were obtained to serve in a template production application of choice; and d) a toolkit which further includes conventionally implemented computer-executable routines including downloaders, personalization tools, and reading flash tools for start-up and handover of control according to steps (002), (006), (009), and ( 011). System zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 6, wobei der proprietäre Bootloader (001) einen Befehlssatz enthält, der zur Durchführung von Folgendem eingerichtet ist: a) Auslöschen eines oder mehrerer Sektoren der nichtflüchtigen Speichereinheit; b) Schreiben von spezifischem Informationsinhalt auf vorbezeichnete Abschnitte der nichtflüchtigen Speichereinheit; c) Verifizieren des Erfolgs des vorhergehenden Schritts b) durch Validieren eines vorbestimmten zyklischen Redundanzprüfungswerts gegenüber dem, der intern für die nichtflüchtige Speichereinheit berechnet wurde; und d) bei erfolgreicher Erledigung des Schritts c), Übergabe der Steuerung vom proprietären Bootloader (001) an das OS (004).System for preserving a nonvolatile storage unit via sequential occupancy by single use code modules therein according to Claim 6 wherein the proprietary boot loader (001) includes a set of instructions adapted to perform: a) deleting one or more sectors of the nonvolatile storage unit; b) writing specific information content to predesignated portions of the nonvolatile storage unit; c) verifying the success of the previous step b) by validating a predetermined cyclic redundancy check value against that calculated internally for the nonvolatile storage unit; and d) upon successful completion of step c), passing control from the proprietary boot loader (001) to the OS (004). System zum Bewahren einer nichtflüchtigen Speichereinheit über sequenzielle Belegung durch Einzelverwendungscode-Module darin gemäß Anspruch 6, wobei das OS (004) einen Befehlssatz enthält, der zur Durchführung von Folgendem eingerichtet ist: a) Erstellen, insbesondere des Dateisatzes (007), und Löschen von Inhalten innerhalb des Freiraums (005), der für die Personalisierung der Smartcard notwendig ist; b) Auslöschen eines oder mehrerer Sektoren der nichtflüchtigen Speichereinheit; c) Schreiben von spezifischem Informationsinhalt auf vorbezeichnete Abschnitte der nichtflüchtigen Speichereinheit; d) Verifizieren des Erfolgs des vorhergehenden Schritts b) durch Validieren eines vorbestimmten zyklischen Redundanzprüfungswerts gegenüber dem, der intern für die nichtflüchtige Speichereinheit berechnet wurde; e) Schützen der Herunterladefunktionalität des OS (004) durch Authentifizieren der vorhergehenden Schritte b) bis d); und f) bei erfolgreicher Erledigung des Schritts e), Übergabe der Steuerung vom OS (004) an das Mastereinrichtungspatch-Modul (010).System for preserving a nonvolatile storage unit via sequential occupancy by single use code modules therein according to Claim 6 wherein the OS (004) includes a set of instructions adapted to perform: a) creating, in particular, the file set (007), and deleting content within the free space (005) necessary for the personalization of the smart card; b) erasing one or more sectors of the non-volatile memory unit; c) writing specific information content to predetermined portions of the nonvolatile storage unit; d) verifying the success of the previous step b) by validating a predetermined cyclic redundancy check value against that calculated internally for the nonvolatile storage unit; e) protecting the download functionality of the OS (004) by authenticating the previous steps b) to d); and f) upon successful completion of step e), passing control from the OS (004) to the master device patch module (010).
DE102017010430.1A 2017-11-10 2017-11-10 Method of conserving flash memory by sequentially occupying one-time code modules Active DE102017010430B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017010430.1A DE102017010430B4 (en) 2017-11-10 2017-11-10 Method of conserving flash memory by sequentially occupying one-time code modules

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017010430.1A DE102017010430B4 (en) 2017-11-10 2017-11-10 Method of conserving flash memory by sequentially occupying one-time code modules

Publications (2)

Publication Number Publication Date
DE102017010430A1 true DE102017010430A1 (en) 2019-05-16
DE102017010430B4 DE102017010430B4 (en) 2022-10-27

Family

ID=66335565

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017010430.1A Active DE102017010430B4 (en) 2017-11-10 2017-11-10 Method of conserving flash memory by sequentially occupying one-time code modules

Country Status (1)

Country Link
DE (1) DE102017010430B4 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272086B2 (en) 2003-03-24 2007-09-18 Samsung Electronics Co., Ltd. Method of overwriting data in write-once information storage medium and data recording and/or reproducing apparatus for write-once information storage medium
CN102760075A (en) 2012-06-01 2012-10-31 大唐微电子技术有限公司 Method and system for realizing application configuration of intelligent card
US20140229025A1 (en) 2003-12-23 2014-08-14 Rain Bird Corporation Code replacement for irrigation controllers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272086B2 (en) 2003-03-24 2007-09-18 Samsung Electronics Co., Ltd. Method of overwriting data in write-once information storage medium and data recording and/or reproducing apparatus for write-once information storage medium
US20140229025A1 (en) 2003-12-23 2014-08-14 Rain Bird Corporation Code replacement for irrigation controllers
CN102760075A (en) 2012-06-01 2012-10-31 大唐微电子技术有限公司 Method and system for realizing application configuration of intelligent card

Also Published As

Publication number Publication date
DE102017010430B4 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
DE102008057219B4 (en) Method of operating a solid state storage system, solid state storage system and computer system
DE102019116520A1 (en) DATA STORAGE SYSTEMS AND METHODS FOR IMPROVED DATA REDIRECTION BASED ON READ LEVEL VOLTAGES RELATED TO ERROR RECOVERY
CN102163133B (en) Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewriteable memory
DE102006052173B4 (en) Write protection method and apparatus for at least one random access memory device
DE202010017644U1 (en) Hybrid storage device
DE102005022019A1 (en) Secure processing of data
DE102015209502A1 (en) Mark programming in nonvolatile memories
EP3224756B1 (en) Method for installing software on a chip card by means of an installation machine
WO2012062233A1 (en) Method for deallocating memory areas no longer needed on non-volatile memory media
EP2948894B1 (en) Method for securely erasing a non-volatile semiconductor mass memory, computer system, and computer program product
DE102017010430B4 (en) Method of conserving flash memory by sequentially occupying one-time code modules
DE60019364T2 (en) Memory defragmentation in smart cards
DE112020003107T5 (en) SECURITY OF EMBEDDED DEVICES THROUGH A DEVICE LIFECYCLE WITH A DEVICE IDENTIFICATION
EP2210210B1 (en) Method for loading initialization and/or personalization data onto a portable data carrier
WO2013143911A2 (en) Method for encrypting data on a storage medium
DE102006013759B4 (en) Method and computing unit for operating a memory device
DE102018003595A1 (en) BOOTLOADER INDEPENDENT METHOD OF RECOVERING NON-VOLATILE MEMORY IN SMARTCARD
DE102006035039A1 (en) Data processing system for e.g. smart card, has two memory mediums connected with processor via two respective buses, where user and management data are stored in respective mediums and management data are utilized for managing user data
DE102009048240A1 (en) Portable data carrier with additional functionality
DE102015114721A1 (en) Method, device and system for data processing
EP3271825B1 (en) Method for storing user data in a document
DE102008035095A1 (en) Method and device for detecting changes to data
WO2007110307A1 (en) Method and computation unit for operating a memory device
DE102014222625A1 (en) Chip card, chip card system and method for accessing a chip card
DE102006034375A1 (en) Personalization of portable data carriers

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: GIESECKE+DEVRIENT EPAYMENTS GMBH, DE

Free format text: FORMER OWNER: GIESECKE+DEVRIENT MOBILE SECURITY GMBH, 81677 MUENCHEN, DE