DE102017010430B4 - Method of conserving flash memory by sequentially occupying one-time code modules - Google Patents

Method of conserving flash memory by sequentially occupying one-time code modules Download PDF

Info

Publication number
DE102017010430B4
DE102017010430B4 DE102017010430.1A DE102017010430A DE102017010430B4 DE 102017010430 B4 DE102017010430 B4 DE 102017010430B4 DE 102017010430 A DE102017010430 A DE 102017010430A DE 102017010430 B4 DE102017010430 B4 DE 102017010430B4
Authority
DE
Germany
Prior art keywords
volatile memory
memory unit
module
code modules
crde
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.)
Active
Application number
DE102017010430.1A
Other languages
German (de)
Other versions
DE102017010430A1 (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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 of preserving a non-volatile memory device via sequential population of single-use code modules therein, the method comprising:a) installing a proprietary boot loader (001) in a portion of the non-volatile memory device; b) executing the proprietary boot loader (001) to thereby step (002) loading a CrDe module (003) and an OS (004) onto the non-volatile memory unit leaving space (005); c) executing the CrDe module (003) to thereby in step (006) load a dedicated file set (007) within the free space (005);d) resetting the card in which the OS (004) is running, thereby in step (008) a master device patch module (010) on the same portion of the non-volatile memory unit , previously occupied by the CrDe module (003), to regenerate and thus preserve that portion of the non-volatile memory device;e) executing the master device gspatch module (010), thereby to read in step (011) contents of the non-volatile memory unit obtained in the previous step d) as an image in manufacturing file format to serve in a master reproduction application of choice.

Description

Gebiet der Erfindungfield of 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 blocks of non-volatile memory, and more particularly to improvements therein directed to increasing the availability of free space and endurance in the blocks of non-volatile memory.

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 aims for flash memory contained in embedded systems, in particular smart cards, by sequentially occupying one-time 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 data is stored securely and reliably.

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, particularly flash memory systems, have gained immense popularity due to their low power consumption, small size, low cost, low heat generation, and high stability. Today, flash memory-based systems are most commonly either in a removable form factor, including memory cards or flash drives, that can be operably incorporated into host system(s) such as personal computers, cameras, etc., or alternatively in an embedded form factor integrated within systems, containing smart cards, SIMs that have their own processing environments but are incorporated as such in larger host systems including ATMs, smartphones, presence 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 non-volatile storage, the host typically assigns unique logical addresses to sectors, clusters, or other data units within a contiguous virtual address space of the storage system, regardless of the deployment form factor. A controller generally within the storage system translates logical addresses received from the host into physical addresses within the storage array where the data is actually stored and then keeps track of these address translations for later interrogation. Predefined cycle times and unidirectional write history characteristics in flash memory systems are considered limiting for repeated iterations of the write process described above. Therefore, the art needs a way that is simple and inexpensive, but helps extend the lifespan of embedded 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 life cycle of systems that integrate this flash memory is defined by the programmed application(s) and their frequency of operation, which is caused by the user responsible for the system. In the immediate scope of the present invention, the life cycle of smart cards is considered to encompass many states, including: a) registration with a smart card management system, b) personalization for issue to a person, c) commissioning for use, d) execution of the on the smart card programmed operation, e) adding subsequent applications to be run on the smart card, f) blocking or deleting the smart card from the management system, and g) restoring it to use, to name 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 smart card lifecycle invariably involve one or more write operations to the onboard non-volatile memory, which advances the write count and hence the approach to the lifetime of the memory unit. Storage space limitations and available flash memory density limitations are major obstacles to expanding the capacity of flash memory systems. It would therefore be desirable to minimize the residency of data on flash memory blocks, thereby freeing up a large portion of it to receive more data via subsequent erase/write operations, and consequently the uneven wear of the memory blocks by reducing the dependency on specific memory addresses for 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 lifecycle states mentioned above, personalization refers to the electronic on-chip loading of application code, user data, and cryptographic keys and is an initial manufacturing process whereby generic off-the-shelf smart cards are converted into customized cards used in one or more programmed applications can become.

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 predetermined areas within the flash memory of common off-the-shelf cards. There are certain Modules that have a single use case and become redundant after the point of personalization of the target card. Loading such data at specific addresses provided for this blocks the flash memory to the same extent and therefore increases the occupancy of the flash memory unit. It would be desirable, therefore, for such data residency to be optimized to allow a large proportion of flash memory areas to remain free, in addition to recovering those that have been used, thereby increasing the availability of onboard flash memory and, in addition, the useful life of systems using such Integrate flash memory to 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.A few attempts to solve the above considerations are mentioned in the prior art. For example revealed US7272086 (granted to Samsung Electronics Co Ltd) a method of logically rewriting data in a write-once information storage medium incapable of physical rewriting so that data is easily updated and/or read out, and a data recording and/or a playback device therefor. Here, a command to overwrite new data in a first area of the write-once information storage medium in which data has already been recorded is issued. 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 the determination of defective areas and an additional error management system, which thus continues 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, providing a bootloader that writes the copy of the second set of code received via a removably plugged-in connector over a first set of code, except for the bootloader, which does not will be overwritten. However, this system is not able to meet flash memory management requirements, particularly wear and tear fatigue and file redundancy, beyond the use case outlined in the cited document, which otherwise, according to the proposed solution, has an advantage in achieving upgrades or additional functionalities for an existing set of code that is 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 present a single effective solution that addresses all of the aforementioned considerations, thereby preserving an acute need for invention for the present inventors, who, as a result of their focused research, came up with novel solutions to ultimately meet the needs of the art attend. 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 as addressing at least all of the major deficiencies discussed in the previous section by effectively addressing the issues identified below. In this

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 flash memory, or otherwise avoiding wasting it, in embedded systems, particularly 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, besides the object(s) mentioned above, that the method thus provided specifically addresses the problem of redundant data residing within flash memory in embedded systems.

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, besides the object(s) mentioned above, that the method thus provided can be implemented without requiring modifications, if any only minimal modifications, to existing embedded systems, in particular 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, besides 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 who is responsible for the embedded system, in particular for one using 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, während die Flashspeicher-Nutzung optimiert wird.it is a further object, besides 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, in particular 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 the reader with the following detailed disclosures and appended independent disclosures dependent claims 1 and 11. Other components, features and the way of their implementation are outlined in the dependent claims.

Kurzfassung der vorliegenden ErfindungSummary 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.In accordance with the present invention as presently contemplated, there is hereby provided a method for preserving flash memory by sequential allocation by single use code modules. In implementing the method during the smart card manufacturing process, single-use code modules identified as mutually exclusive are loaded sequentially according to the logic for executing them for personalization, thereby wasting flash memory space that would otherwise result from loading each of the single-use code modules into separate areas within the flash memory is avoided. This method introduces a custom bootloader and card personalization tool based on it to effectively personalize smart cards while optimizing flash memory usage.

Figurenlistecharacter list

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 detailed description section provided hereinafter, taken in connection with the following drawings. Show in it:
  • 1 12 is a block diagram schematically illustrating methodology for regenerating flash memory 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
Wherever possible, the same numerals have been used throughout the above drawing(s) to designate the same or similar components or indexes, as follows:
001
Proprietary bootloader
002
Operating System (OS) download step
003
Module for 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 download of a master facility patch
009
Command to download a master facility patch
010
Module for master facility patching functionality
011
Step to make multiple 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 specific 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 from such references made in other sections of this specification, not all components are shown or numbered in each drawing 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 is now drawn 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 practiced, without departing from the spirit of the invention as 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 assess inabilities and deficiencies inherent in known systems comprising the prior art and to develop new systems that incorporate all the available advantages of the known art 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 describing the invention in detail below, it may be beneficial to set forth definitions of certain words or phrases used throughout this specification: The terms "include" and "comprise" and their derivatives mean to include, but are not limited to; the term "or" is inclusive and means and/or; the terms "associated" and "associated with anything," and their derivatives, may include, include within, interconnected, with, include, to be included in, to connect to or to, to couple to, to be able to communicate with, to cooperate with, to interleave, to juxtapose, to be close to, to be attached to or with, to have, to have a property or the like; and the term "OS" refers to operating system or generally to any software program to be downloaded onto 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 institution; "CRC" refers to a cyclic redundancy check; "APDU" refers to an application protocol 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, an approach to reducing the overall occupancy of memory blocks within the flash memory device to make them free and available for further use during the lifecycle of the smart card in question is proposed, the enabling of which is discussed in terms of certain non-limiting embodiments, some of which are discussed below in terms of certain Examples are explained which generally illustrate the manner in which principles of the present invention can be used.

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 predetermined specific areas within the flash memory of the general off-the-shelf cards. The present inventors see this feature as a addressable niche since these single use code modules are required only once and are redundant after personalization. Therefore, its consumed flash memory represents a regenerable resource and the manner in which it is regenerated for 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.To begin with, the present inventors propose an approach to sequentially overwrite single-use code modules, particularly CrDe and MD functionalities, which 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 image of the flash as a manufacturing file format, for example a .mot file. Both CrDe and MD are only required 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 as in particular in 1 As illustrated, the inventive manufacturing process claimed herein is intended to begin with the selection of a generic off-the-shelf smart card (not shown). The smart card is customized by a proprietary bootloader (001) preinstalled in a portion of its flash memory. The proprietary bootloader (001) is programmed to load the CrDe module (003) and OS (004) onto the flash memory of the smart card via step (002), leaving space (005) empty.

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.With continuous reference to the accompanying 1 It can be seen that as a result of the execution of CrDe (003) a file system (007) comprising dedicated files and/or elementary files is loaded into the free space via step (006) (005) for personalization of the smart card. Thereafter, in step (008) erase and initialize commands of the OS (004) are executed to allow in step (009) the loading of the MD module (010) to the same memory location as the CrDe module (003), whereby an initial single card, or master card, is formed, thereby regenerating 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 ongoing reference to the accompanying 1 to see that the execution of the MD module (010) results in reading the flash contents or the image of the flash as a manufacturing file, which also contains details including address, byte count and the CRC values, using it as a template Multiple cards can be made as needed. It will be understood from the course of these steps that once the download feature is enabled, the master card's functionality of the CrDe module (003) will be disabled.

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.
In accordance with a first aspect of the present invention, the proprietary bootloader (001) is a computer-implemented routine programmed to have a set of instructions directed, when executed, to achieve the following functions:
  1. a) Erasing one or more sectors of the flash memory on the smart card. The command format of this command has N additional bytes of data, 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 to be wiped got to; the values of N and X can be determined depending on the use case.
  2. b) Initializing/writing specific content to the flash memory. The APDU format of this command has N additional data bytes, among which most significant X bytes indicate the address from which to write to the flash, while the rest of the less significant bytes represent the actual data bytes to be written to the flash;
  3. c) verifying the content of the written flash by validating a previously supplied CRC against one calculated internally by the card. The APDU command format for this command has N additional bytes of data, among which the most significant X bytes of data indicate the address from which the CRC calculation should be done. The next four high-order bytes then represent the number of bytes on which the CRC calculation should be done. The remaining (NX) bytes of 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 command is given; and
  4. d) Transfer of execution control from the bootloader to the OS. Because of this command, the first page of the flash is updated.

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) is a computer-implemented routine programmed to include, among other things, a set of manufacturing-specific instructions directed, when executed, to achieve the following, including:
  1. a) Creation of files necessary for the personalization of the smart cards;
  2. b) Deletion of files necessary for the personalization of the smart cards;
  3. c) Erasing one or more sectors of the flash memory on the smart card. The APDU format of this command has N additional bytes of data, among which most significant X bytes indicate the address from which the flash should be erased; whereas the least significant remaining (NX) bytes indicate the number of pages to be erased;
  4. d) Initializing/writing specific content to the flash memory. The APDU format of this command has N additional data bytes, among which most significant X bytes indicate the address from which to write to the flash, while the rest of the less significant bytes represent the actual data bytes to be written to the flash;
  5. e) verifying the content of the written flash by validating a supplied CRC against one calculated internally by the card. The APDU command format for this command has N additional bytes of data, among which the most significant X bytes of data indicate the address from which the CRC calculation should be done. The remaining bytes of 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 command is given;
  6. f) Protection of the downloading functionality of the OS. Successful authentication using this command is aimed at enabling the commands at point c) to e) in this paragraph; and
  7. g) Reading the flash content 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 bootloader (001) and the CrDe module (003) are grouped under a phone book file (such as an .ADN format) to provide flexibility in file size allocation, protection against accidental deletion of the proprietary bootloader (001) and/or the CrDe module (003) after personalization and also a choice to regenerate the CrDe module (003) space with regard to the phone book file, since the latter's definition was changed at the time of the Manufacturing can be left blank to allow. The phone book file is mandatory updated to complete the smart card personalization process mentioned in the previous paragraph. This also applies to the multiple cards that are prepared using the manufacturing file, as well as the single card used to generate the artwork to be used in the manufacturing of 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 a further aspect of the present invention, step (002) is preceded by a selection of a smart card with a pre-installed proprietary bootloader (001) which consumes very little flash memory on the card. Executing the proprietary bootloader (001) in step (002) results in the loading of the CrDe module (003) and OS (004) to the flash memory of the smart card right after the proprietary bootloader (001). After that, the card is reset, to activate the OS (004).

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.Step (002) makes the CrDe module (003) available to the OS (004). In this process, the flash area occupied by the CrDe module (003) can be regenerated with respect to the phone book file, thereby providing the alternative embodiments wherein the definition of the flash area to be regenerated is greater than, equal to, or less than the combination of proprietary bootloader (001) and CrDe module (003). Once personalization is done in this way, then the same card can be used as the final manufacturing card, or it can be used to create a template manufacturing file for the manufacture of generate multiple maps 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 bootloader (001) plus the CrDe module (003), otherwise the phone book file removal will not be included 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) is performed as an instruction by the OS (004) to download the MD module (010) to the flash memory area separated from the area occupied by the CrDe module (003). has been regenerated, thus allowing the creation of the template making file. This function is protected by requiring a certain number of bytes (say A, 8 bytes in particular) of the authentication value, if this is not the case the proprietary bootloader (001) plus the CrDe module (003) are set up, to be erased from the card, permanently disabling this feature. It should also be noted that step (008) is designed for a single execution and cannot be executed again if the card is reset during step (009), thereby permanently disabling the MD module (010) download.

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, step (009) is performed by the OS (004) in the form of erase sector and initialize commands to move the MD module (010) to the flash memory area allocated by the CrDe module (003) has been regenerated, making the MD module (010) available as a pluggable part of the OS (004) itself. And once the MD module (010) is downloaded, the personalized card can be used to read the flash contents into a manufacturing file, which in turn is to be used to make multiple cards according to the user's needs.

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 foregoing, it should be understood that there are effectively two flash areas to be regenerated, identified by populations of the CrDe module (003) and the MD module (010). In alternative embodiments, it can be envisaged that the CrDe module (003) and the OS (004) can be configured to occupy either discrete or contiguous locations within the flash memory unit 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 can be easily understood, the method proposed herein is made possible by a consortium of tools/computer-implemented routines programmed to perform steps (002), (006), (009) and (011). Conventional downloaders, personalization tools and reading flash tools can be used for the purposes mentioned.

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 can be reordered, and other operations can be combined or taken out. While some rearrangements or other groupings are specifically mentioned, others will be apparent to those skilled in the art and thus do not constitute an exhaustive list of alternatives. In addition, it should be recognized that the phases can 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 put into practice in an exemplary configuration 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 neither;
  2. b) control over accidental bootloader deletion; and
  3. c) Presentation of protocols for the manufacture of single and multiple cards, 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 executable routines therefor, may be described as being performed or caused by software code. However, those skilled in the art will recognize that such terms mean that functions resulting from the execution of the code/instructions or routines by a pro 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 a specific application, component, program, object, module, or sequence of instructions.

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.Furthermore, the embodiments presented herein or further variants thereof can be implemented using hard-wired 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, nor to any particular source for the instructions executed by the data processing system.

Während 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 fully functional computers and computer systems, various embodiments may be distributed as a computing product in a variety of forms and may be applied independently of the particular type of machine or the particular computer-readable media used for actual distribution .

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 of preserving a non-volatile memory device via sequential occupation by single-use code modules therein, the method comprising: a) installing a proprietary boot loader (001) in a portion of the non-volatile memory unit; b) executing the proprietary bootloader (001) to thereby load a CrDe module (003) and an OS (004) onto the non-volatile memory unit in step (002), leaving space (005) therein; c) executing the CrDe module (003) to thereby load a dedicated file set (007) within the free space (005) in step (006); d) resetting the card wherein the OS (004) is running to thereby in step (008) assign a master device patch module (010) on the same portion of the non-volatile memory unit previously occupied by the CrDe module (003). overwrite to regenerate and thus preserve that portion of the non-volatile memory device; e) executing the master device patch module (010) to thereby read in step (011) contents of the non-volatile memory unit obtained in the previous step d) as an image in manufacturing file format to serve in a master replication 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.Method for preserving a non-volatile memory unit via sequential occupation by single-use code modules therein according to claim 1 , wherein the non-volatile memory unit is in particular 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.Method for preserving a non-volatile memory unit via sequential occupation by single-use code modules therein according to 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.Method for preserving a non-volatile memory unit via sequential occupation by single-use code modules therein according to claim 1 , where the proprietary bootloader (001) and CrDe module (003) are grouped under one phonebook file, thereby allowing flexibility in file size allocation in addition to protecting against accidental deletion of the proprietary bootloader (001) and CrDe module (003) to allow after 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.Method for preserving a non-volatile memory unit via sequential occupation by single-use code modules therein according to claim 4 wherein the phone book and manufacturing files are updated in 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.Method for preserving a non-volatile memory unit via sequential occupation by single-use code modules therein according to claim 1 and 2 , wherein the template replication application is directed to mass production of smart cards at the option of step (011). 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.Method for preserving a non-volatile memory unit via sequential occupation by single-use code modules therein according to claim 1 wherein the non-volatile storage unit is alternatively selected from rewritable read-only memory, magnetic memory, 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).Method for preserving a non-volatile memory unit via sequential occupation by single-use code modules therein according to claim 1 , wherein the portion of the non-volatile memory unit that can be preserved is alternatively greater than, equal to, or less than the memory size of the combination of the proprietary bootloader (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.Method for preserving a non-volatile memory unit via sequential occupation by single-use code modules therein according to claim 1 or 8th wherein the portion of the non-volatile memory unit that can be preserved 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.Method for preserving a non-volatile memory unit via sequential occupation by single-use code modules therein according to claim 1 and 5 wherein the phone book is not updated during the personalization in step (006) if a portion of the non-volatile memory 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.System for preserving a non-volatile memory unit, which is in particular a flash memory on a smart card, via sequential occupation by single-use code modules therein by the method according to claim 1 is implemented, the system comprising: a) a proprietary bootloader (001), which is a computer-executable routine, the execution of which is programmed within the non-volatile memory device to result in step (002), wherein one or more loading single-use code modules, in particular a CrDe module (003) and OS (004), to predetermined locations within the non-volatile memory unit, wherein space (005) is left; b) a file set (007) that is necessary for the personalization of the smart cards; c) a master device patch module (010) which is a computer executable routine, the execution of which is programmed within the non-volatile memory unit to result in step (011) contents of the non-volatile memory unit being selected in the preceding step d) as a image obtained for use in a master reproduction application of choice; and d) a toolset further comprising conventionally implemented computer-executable routines including downloaders, personalization tools and read flash tools for commissioning and transferring control corresponding 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 non-volatile memory unit via sequential occupation by single-use code modules therein according to claim 6 wherein the proprietary boot loader (001) includes an instruction set arranged to perform: a) erasing one or more sectors of the non-volatile memory unit; b) writing specific information content to predetermined sections of the non-volatile memory unit; c) verifying the success of the previous step b) by validating a predetermined cyclic redundancy check value against that calculated internally for the non-volatile memory unit; and d) upon successful completion of step c), transfer of control from the proprietary bootloader (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 non-volatile memory unit via sequential occupation by single-use code modules therein according to claim 6 wherein the OS (004) includes an instruction set arranged 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 sections of the non-volatile memory unit; d) verifying the success of the previous step b) by validating a predetermined cyclic redundancy check value against that calculated internally for the non-volatile memory unit; e) protecting the downloading functionality of the OS (004) by authenticating the previous steps b) to d); and f) upon successful completion of step e), transfer of 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 DE102017010430A1 (en) 2019-05-16
DE102017010430B4 true 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
DE102017010430A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
DE19681704B4 (en) Method for executing a program from a nonvolatile memory
DE60217883T2 (en) METHOD FOR WRITING DATA INTO A NON-VOLATILE MEMORY
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
DE102008057219A1 (en) Method of operating a solid state storage system, solid state storage system and computer system
DE202010017644U1 (en) Hybrid storage device
DE102005022019A1 (en) Secure processing of data
DE102015209502A1 (en) Mark programming in nonvolatile memories
DE102017010430B4 (en) Method of conserving flash memory by sequentially occupying one-time code modules
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
EP3224756B1 (en) Method for installing software on a chip card by means of an installation machine
WO2005055052A2 (en) Java smart card chip comprising a memory area reserved for global variables
WO2010089083A2 (en) Device and method for preventing unauthorized use and/or manipulation of software
DE102015114721A1 (en) Method, device and system for data processing
EP2210210B1 (en) Method for loading initialization and/or personalization data onto a portable data carrier
WO2002099809A2 (en) Method and device for masking out non-serviceable memory cells
DE102018003595A1 (en) BOOTLOADER INDEPENDENT METHOD OF RECOVERING NON-VOLATILE MEMORY IN SMARTCARD
DE102006013759B4 (en) Method and computing unit for operating a memory device
EP1564754B1 (en) Method and device for managing data in a non-volatile memory
DE102009048240A1 (en) Portable data carrier with additional functionality
DE60107532T2 (en) Storage management method for configuring a computer storage medium with a virtual disk unit
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
EP3186711B1 (en) Memory management for a token
DE102008035095A1 (en) Method and device for detecting changes to data

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