DE102004022907A1 - Storage management media - Google Patents
Storage management media Download PDFInfo
- Publication number
- DE102004022907A1 DE102004022907A1 DE200410022907 DE102004022907A DE102004022907A1 DE 102004022907 A1 DE102004022907 A1 DE 102004022907A1 DE 200410022907 DE200410022907 DE 200410022907 DE 102004022907 A DE102004022907 A DE 102004022907A DE 102004022907 A1 DE102004022907 A1 DE 102004022907A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- objects
- eeprom
- package
- application memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/357—Cards having a plurality of specified features
- G06Q20/3576—Multiple memory zones on card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/17—Embedded application
- G06F2212/177—Smart card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
Abstract
Die Erfindung schafft einen für eine objektorientierte Programmiersprache eingerichteten Datenträger, mit einem Mikroprozessor, einem nichtflüchtigen Anwendungsspeicher (EEPROM) für Programmcode enthaltende Pakete und Daten enthaltende Objekte in der objektorientierten Programmiersprache und mit einer Speicherverwaltung zum Verwalten des nichtflüchtigen Anwendungsspeichers (EEPROM). Die Pakete sind derart als Objekte ausgelegt, dass sie gegenüber der Speicherverwaltung als Objekte erscheinen.The invention provides an object oriented programming language data carrier having a microprocessor, non-volatile application memory (EEPROM) for program code containing packets and data containing objects in the object oriented programming language, and memory management for managing the nonvolatile application memory (EEPROM). The packages are designed as objects such that they appear as objects to memory management.
Description
Die Erfindung betrifft einen für eine objektorientierte Programmiersprache eingerichteten Datenträger, insbesondere einen Chip, ein Chipmodul bzw. eine Chipkarte mit einem solchen Chip oder Chipmodul, mit einem Mikroprozessor, mit einem nichtflüchtigen Anwendungsspeicher (EEPROM) für Programmcode enthaltende Pakete und Daten enthaltende Objekte, und mit einer Speicherverwaltung zum Verwalten des nichtflüchtigen Anwendungsspeichers (EEPROM).The Invention relates to a an object-oriented programming language set up disk, in particular a chip, a chip module or a chip card with such Chip or chip module, with a microprocessor, with a non-volatile Application memory (EEPROM) for Program containing packets and data containing objects, and with a memory management to manage the non-volatile Application memory (EEPROM).
Insbesondere betrifft die Erfindung einen solchen Datenträger in Ausgestaltung einer Java Card, der dazu eingerichtet ist, Programme in der objektorientierten Programmiersprache JavaTM (Sun Microsystems) abzuarbeiten, insbesondere durch eine in dem Datenträger implementierte virtuelle Java-Card-Maschine.In particular, the invention relates to such a data carrier in a design of a Java Card, which is adapted to execute programs in the object-oriented programming language Java ™ (Sun Microsystems), in particular by a virtual Java Card machine implemented in the data carrier.
Der Datenträger kann einen Körper in jeder beliebigen äußeren Form haben, z.B. in standardisierter (z.B. ISO) oder nicht-standardisierter Scheckkartenform, in Form eines volumigen Tokens oder in Form eines Chipmoduls.Of the disk can a body in any external shape have, e.g. in standardized (e.g., ISO) or non-standardized Check card form, in the form of a voluminous token or in the form of a Chip module.
Ein Datenträger hat typischerweise einen Mikroprozessor, mehrere Speicher und wahlweise ein oder mehrere Schnittstellen für kontaktlose und/oder kontaktbehaftete Kommunikation zwischen dem Datenträger und äußeren Einrichtungen. Als Speicher hat der Datenträger einen nichtflüchtigen Systemspeicher (ROM und/oder ggf. Flash-Speicher), einen nichtflüchtigen Anwendungsspeicher (EEPROM und/oder ggf. weiterer Flash-Speicher) und einen flüchtigen Arbeitsspeicher (RAM).One disk typically has a microprocessor, multiple memory and optional one or more interfaces for contactless and / or contact-based Communication between the disk and external devices. As memory has the disk a non-volatile one System memory (ROM and / or flash memory if necessary), a non-volatile Application memory (EEPROM and / or possibly further flash memory) and a fleeting one Random Access Memory (RAM).
Im Folgenden wird, gemäß der am häufigsten verwendeten Ausführungsform eines Datenträgers wie z.B. einer Java Card, der nichtflüchtige Systemspeicher als ROM bezeichnet, der nichtflüchtige Anwendungsspeicher als EEPROM und der flüchtige Arbeitsspeicher als RAM, auch wenn die Speicher (insbesondere ROM, EEPROM) ganz oder teilweise in anderen Technologien (z.B. Flash) verwirklicht sein können.in the Following, according to the am common used embodiment a volume such as. a Java Card, the nonvolatile system memory as ROM referred to, the nonvolatile application memory as EEPROM and the volatile memory as RAM, even if the memory (especially ROM, EEPROM) quite or partially realized in other technologies (e.g., Flash) could be.
Bei einem herkömmlichen für eine objektorientierte Programmiersprache eingerichteten Datenträger (z.B. Java Card) wird Programmcode, z.B. für Systemfunktionen oder für Anwendungen, in Form von Paketen (packages) in den Datenträger geladen. Zusätzlich zum Programmcode kann jedes Paket weitere Komponenten enthalten wie z.B. eine Export-Komponente, die den Zugriff von außerhalb des Pakets auf das Paket regelt. Die Pakete werden statisch, d.h. vor der Laufzeit (vor dem Ablaufenlassen) des jeweiligen Programms in den Datenträger geladen und dort in einem dafür vorgesehenen Speicher (z.B. ROM, EEPROM) abgespeichert.at a conventional one for one object oriented programming language established media (e.g. Java Card) is program code, e.g. for system functions or for applications, in the form of packages (packages) loaded into the disk. In addition to Program code, each package can contain other components such as e.g. an export component that allows access from outside of the package to the package. The packets become static, i. before the running time (before expiration) of the respective program in the disk loaded and there in one for that stored memory (e.g., ROM, EEPROM).
Zur Laufzeit des Programms werden aus dem zugehörigen Paket heraus dynamisch Objekte angelegt, in denen Daten enthalten sind.to Runtime of the program will be dynamic out of the associated package Created objects in which data is contained.
Im ROM des herkömmlichen für eine objektorientierte Programmiersprache eingerichteten Datenträgers ist vor allem das Betriebssystem abgespeichert, und zudem ggf. Pakete (packages) mit Systemfunktionen, oder sog. preloaded packages, d.h. Pakete, die vor der Komplettierung des Datenträgers in den Datenträger geladen werden.in the ROM of the conventional for one object oriented programming language set up disk especially the operating system stored, and possibly packages (packages) with system functions, or so-called preloaded packages, i. Packages that are loaded into the disk prior to completion of the disk become.
Der EEPROM des herkömmlichen für eine objektorientierte Programmiersprache eingerichteten Datenträgers enthält unter Anderem einen im Wesentlichen für Programmcode vorgesehenen Paketspeicher, in dem Pakete (packages) mit Programmcode und ggf. weiteren Komponenten (z.B. Export-Komponente) abgespeichert sind.Of the EEPROM of the conventional for an object-oriented Programming medium set up contains, among other things, a substantially for program code provided package memory in the packages with program code and optionally other components (e.g., export component) are.
Weiter enthält der herkömmliche EEPROM für Daten einen Heap-Speicher, in dem zur Laufzeit eines jeweiligen aufgerufenen Programms dynamisch Objekte angelegt werden, in denen Daten enthalten sind. Durch das dynamische Anlegen eines jeweiligen Objekts im Heap-Speicher wird im Heap-Speicher der für das Objekt erforderliche Speicherplatz dynamisch allokiert (zugewiesen).Further contains the conventional one EEPROM for Data is a heap memory in which at runtime of each called program dynamically created objects in which Data is included. By the dynamic creation of a respective The object in heap memory becomes the heap memory for the object required space allocated dynamically (allocated).
Wahlweise werden im EEPROM zudem Systemvariablen angelegt.Optional system variables are also created in the EEPROM.
Durch die Aufteilung des EEPROM in einen Heap-Speicher für Objekte, d.h. Daten, und einen Paketspeicher für Programmcode ist die Speicherverwaltung unflexibel.By splitting the EEPROM into a heap for objects, i.e. Data, and a package store for program code is memory management inflexible.
Insbesondere kann dadurch, dass zwei starr getrennte Speicherbereiche vorhanden sind, der vorhandene Speicherplatz im EEPROM nicht optimal ausgenutzt werden, und die Wahrscheinlichkeit, dass der Speicher fragmentiert ist, ist hoch.Especially This can be achieved by having two rigidly separated memory areas are, the available space in the EEPROM not optimally utilized and the probability that the memory will fragment is high.
Wahlweise ist es bei einem herkömmlichen EEPROM vorgesehen, dass die Speichergrenze zwischen dem Paketspeicher für Programmcode und dem Heap-Speicher für Objekte, d.h. Daten, bei Bedarf mittels einer dazu vorgesehenen Speicherverwaltung verschiebbar ist, um den Speicherplatz im EEPROM möglichst effizient auszunutzen.Optional it is with a conventional EEPROM provided that the memory limit between the packet memory for program code and the heap memory for Objects, i. Data, if necessary by means of a designated Memory management is relocatable to the space in the EEPROM preferably exploit efficiently.
Ein weiterer Nachteil des zweigeteilten EEPROM ist, dass er heterogen ist, da der Paketspeicher und der Heap-Speicher unterschiedliche Anforderungen an die Speicherverwaltung stellen, wodurch die Speicherverwaltung des herkömmlichen zweigeteilten EEPROM umständlich ist.One Another disadvantage of the two-part EEPROM is that it is heterogeneous because the packet store and the heap store are different Requirements for memory management, causing memory management of the conventional two-parted one EEPROM awkward is.
Genauer verfügt der Heap-Speicher, auf dem die Objekte dynamisch angelegt werden, häufig (bei Java Cards z.B. bei den Versionen 2.2 und 3.0) über eine automatische Speicherbereinigung (Garbage Collection), die nicht mehr benötigten Heap-Speicher wieder freigibt. Manche Verfahren bzw. Einrichtungen zur automatischen Speicherbereinigung, z.B. Copy Collector oder Compacting Collector, defragmentieren den Heap-Speicher zusätzlich.More accurate has the heap memory on which the objects are dynamically created, often (at Java Cards e.g. in versions 2.2 and 3.0) via automatic garbage collection (Garbage collection), which releases unwanted heap memory. Some procedures or automatic garbage collection devices, e.g. Copy Collector or Compacting Collector, defragment the heap memory additionally.
Der Paketspeicher, in dem Pakete statisch abgespeichert werden, benötigt eine zweite Implementierung einer automatischen Speicherbereinigung, um den Speicher optimal zu nutzen.Of the Package memory, in which packets are stored statically, requires one second implementation of automatic garbage collection, to use the memory optimally.
Aufgabe der Erfindung ist es, einen für eine objektorientierte Programmiersprache eingerichteten Datenträger mit einem Mikroprozessor und einem nichtflüchtigen Anwendungsspeicher (z.B. EEPROM) für Pakete und Objekte und mit einer einfachen, effizienten Speicherverwaltung für den Anwendungsspeicher zu schaffen.task The invention is a, for an object-oriented programming language set up with disk a microprocessor and a nonvolatile application memory (e.g., EEPROM) for Packages and objects and with a simple, efficient memory management for the To create application memory.
Die Aufgabe wird durch einen Datenträger nach dem unabhängigen Anspruch 1 gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den abhängigen Ansprüchen angegeben.The Task is by a disk after the independent one Claim 1 solved. Advantageous embodiments of the invention are specified in the dependent claims.
Der erfindungsgemäße Datenträger gemäß dem unabhängigen Anspruch 1 ist für eine objektorientierte Programmiersprache eingerichtet, ist also beispielsweise eine Java Card mit einer virtuellen Java-Card-Maschine. Der Datenträger ist ausgestattet mit einem Mikroprozessor, einem nichtflüchtigen Anwendungsspeicher (z.B. EEPROM, Flash) für Pakete und Objekte in der objektorientierten Programmiersprache und mit einer Speicherverwaltung zum Verwalten des nichtflüchtigen Anwendungsspeichers. In den Paketen ist ablauffähiger Programmcode enthalten. Die Objekte werden zur Laufzeit des Programms, das dem Programmcode in dem Paket entspricht, dynamisch angelegt. In den Objekten sind im Wesentlichen Daten enthalten, die zur Laufzeit eines jeweiligen Programms, d.h. sobald ein Programm aufgerufen wird, erzeugt werden.Of the Inventive disk according to the independent claim 1 is for an object-oriented programming language is set up, so for example a Java Card with a Java Card Virtual Machine. The disk is equipped with a microprocessor, a non-volatile Application memory (e.g., EEPROM, Flash) for packets and objects in the object-oriented programming language and memory management to manage the non-volatile Application memory. The packages contain executable program code. The objects are at runtime of the program, which is the program code in the package corresponds dynamically. In the objects are essentially contain data at runtime of each Program, i. as soon as a program is called, be generated.
Gemäß der Erfindung sind auch Pakete als Objekte angelegt, so dass Pakete und Objekte in demselben einheitlichen Speicherbereich des Anwendungsspeichers angelegt werden können. Zur Verwaltung der Objekte, die nun Programmcode oder Daten enthalten können, ist daher nur eine einzige einheitliche Speicherverwaltung erforderlich, nämlich eine Speicherverwaltung, die Objekte verwalten kann. Mit anderen Worten existieren für die Speicherverwaltung im Anwendungsspeicher nur Objekte, die in einer für Objekte üblichen Weise durch die Speicherverwaltung verwaltet werden. Hierdurch ist durch die Erfindung der Verwaltungsaufwand bei der Speicherverwaltung verringert, und die Speicherverwaltung kann effizienter arbeiten.According to the invention Packages are also created as objects, allowing packages and objects in the same unified memory area of the application memory can be created. To manage the objects that now contain program code or data can, Therefore, only a single unified storage management is required, namely one Memory management that can manage objects. In other words exist for memory management in application memory only objects that are in one for Objects usual Way managed by the memory management. This is by the invention, the administrative burden of memory management reduced, and memory management can work more efficiently.
Daher ist gemäß Anspruch 1 ein für eine objektorientierte Programmiersprache eingerichteter Datenträger mit einem Mikroprozessor und einem nichtflüchtigen Anwendungsspeicher für Pakete und Objekte geschaffen, der eine besonders einfache und effiziente Speicherverwaltung für den nichtflüchtigen Anwendungsspeicher hat.Therefore is according to claim 1 one for an object-oriented programming language set up disk with a microprocessor and a nonvolatile application memory for packages and created objects that are particularly simple and efficient Memory management for the non-volatile Application memory has.
Zudem benötigt der durch die Speicherverwaltung verwaltete Anwendungsspeicher keine Speichergrenze, die verwaltet werden müsste. Denn da die Pakete als Objekte angelegt sind, ist eine Unterteilung des Anwendungsspeichers in einen Bereich für Pakete (im Wesentlichen Programmcode und ggf. weitere Komponenten wie Expon-Komponenten) einerseits und Objekte (im Wesentlichen Daten) andererseits nicht erforderlich. Vorzugsweise ist der durch die Speicherveraltung verwaltete Anwendungsspeicher auch ein einheitlicher Speicherbereich ohne Speichergrenze (d.h. ohne innere Speichergrenze innerhalb des von der Speicherverwaltung verwalteten Anwendungsspeichers). Der Wegfall der Speichergrenze hat einerseits einen verringerten Verwaltungsaufwand zur Folge. Zum Anderen lässt sich der Anwendungsspeicher effizienter ausfüllen, so dass die Speicherressourcen des Anwendungsspeichers effizient genutzt sind und die Gefahr einer Fragmentierung geringer ist.moreover needed none of the application memory managed by memory management Memory limit that would need to be managed. Because the packages as Objects are created, is a subdivision of the application memory in an area for Packages (essentially program code and possibly other components like expon components) on the one hand and objects (essentially data) on the other required. Preferably, the one managed by the memory controller Application memory also a uniform memory area without memory limit (i.e., without an internal memory limit within memory management managed application memory). The omission of the memory limit on the one hand results in a reduced administrative burden. On the other leaves to complete the application memory more efficiently, so that the memory resources the application memory are used efficiently and the risk of a Fragmentation is less.
Vorzugsweise ist der von der Speicherverwaltung verwaltete Anwendungsspeicher ein – insbesondere dynamisch zu allokierender – Heap-Speicher.Preferably is the application memory managed by space management a - in particular allocating dynamically - heap memory.
Gemäß einer bevorzugten Variante ist das Paket genauer als ein oder mehrere Objekte vom Feldtyp (Array Type Object) angelegt. Ein solches Objekt vom Feldtyp ist ein Datenfeld (Array) mit einer Mehrzahl von Feldelementen (Array Elements): In den Feldelementen ist der Inhalt des Pakets abgelegt. Insbesondere, bei einer Java Card gemäß dieser Variante, ist das Paket vorzugsweise in Form eines Java Byte Array angelegt, das heißt in Form eines Datenfeldes (Array) mit einer Mehrzahl von einzelnen Feldelementen, die jeweils ein Byte (8 Bit) lang (groß) sind, bzw. in Form mehrere solcher Java Byte Arrays.According to one preferred variant, the package is more accurate than one or more Objects created by field type (Array Type Object). Such an object The field type is a data field (array) with a plurality of field elements (Array Elements): In the field elements is the contents of the package stored. In particular, with a Java Card according to this variant, that is Package preferably in the form of a Java byte array created, that is in shape a data field (array) with a plurality of individual field elements, each one byte (8 bits) long (large), or in the form of several such Java byte arrays.
Gemäß einer bevorzugten Weiterbildung der Erfindung weist der Datenträger weiter eine Einrichtung zur automatischen Speicherbereinigung (Garbage Collection) auf, die zur automatischen Speicherbereinigung des von der Speicherverwaltung verwalteten Anwendungsspeichers eingerichtet ist. Beispiele von verwendeten automatischen Speicherbereinigungen sind Mark and Sweep Garbage Collection und Abwandlungen davon. Die automatische Speicherbereinigung beseitigt bei der bevor zugten Weiterbildung der Erfindung bei Bedarf nicht nur nicht mehr benötigte Daten (herkömmliche Objekte), sondern zusätzlich auch nicht mehr benötigten Programmcode und ggf. Exportkomponenten oder sonstige Paket-Bestandteile, die ja nach außen hin ebenfalls als Objekte gestaltet sind. Es ist keine spezielle Speicherbereinigung zur Beseitigung nicht mehr benötigter Pakete erforderlich. Aus diesem Grund ist die Speicherverwaltung gemäß der bevorzugten Weiterbildung insbesondere bei der automatischen Speicherbereinigung (Garbage Collection) besonders effizient.According to a preferred development of the invention, the data carrier also has a device for automatic garbage collection, which is set up for the automatic garbage collection of the application memory managed by the storage management. Examples of automatic garbage collections used are Mark and Sweep Garbage Collection and variations thereof. The automatic garbage collection eliminates in the before zugten development of the invention, if necessary, not only no longer needed data (conventional objects), but also no longer required program code and possibly export components or other package components that are designed to the outside also as objects. No special garbage collection is required to remove unneeded packages. For this reason, memory management according to the preferred embodiment is particularly efficient, especially in automatic garbage collection.
Weiter kann der Datenträger eine Einrichtung zur Defragmentierung aufweisen, die zur Defragmentierung des von der Speicherverwaltung verwalteten Anwendungsspeichers eingerichtet ist.Further can the disk have a defragmentation facility for defragmentation of the application storage managed by the storage manager is.
Wahlweise ist die ggf. vorgesehene automatische Speicherbereinigung (Garbage Collection) zusätzlich zur Defragmentierung des Speicherbereichs eingerichtet. Beispielsweise wird als automatische Speicherbereinigung mit integrierter Defragmentierung ein Copy Collector oder ein Compacting Collector oder eine Abwandlung einer der beiden automatischen Speicherbereinigungen verwendet.Optional is the possibly provided automatic garbage collection (garbage Collection) additionally set up to defragment the memory area. For example is called automatic garbage collection with built-in defragmentation a copy collector or a compacting collector or a modification one of the two automatic garbage collections used.
Vorzugsweise ist ein in dem Anwendungsspeicher abgespeichertes Paket als benutzt markiert, damit das Paket durch die Garbage Collection nicht gelöscht wird. Die Markierung des Pakets ist in einer für Objekte üblichen Weise vorgenommen, entsprechend dem Merkmal, dass das Paket als ein oder mehrere Objekte angelegt ist. Beispielsweise ist die Markierung im Objekt-Header enthalten. Die Markierung kann wahlweise in einer Registry des Anwendungsspeichers enthalten sein, die eine Auflistung aller im Anwendungsspeicher enthaltenen Pakete enthält. Weiter vorzugsweise wird, sobald ein Paket gelöscht wird, die Markierung des Pakets als benutzt wieder aufgehoben.Preferably is a stored in the application memory package as used marked so that the package is not deleted by garbage collection. The marking of the package is made in a manner usual for objects, according to the feature that the package as one or more objects is created. For example, the marker is in the object header contain. The tag can optionally be in a registry of the application memory be included, which is a listing of all in application memory contains contained packages. More preferably, as soon as a packet is deleted, the mark of the Package as used again reversed.
Im folgenden wird die Erfindung anhand von Ausführungsbeispielen und unter Bezugnahme auf die Zeichnung näher erläutert, in der zeigen:in the The following is the invention with reference to embodiments and below Reference to the drawing closer explains in the show:
Zum
Vergleich zeigt
Die
in
Bei einer Java Card ist eine Übersicht über sämtliche im EEPROM enthaltenen Pakete in der Registry des EEPROM enthalten. Für ein einzelnes Paket enthält die Registry entweder einen einzelnen Eintrag oder – meistens – mehrere sogenannte Paketdaten-Einträge (Package Data Entries), die dem Programmcode und ggf. vorhandenen weiteren Komponenten wie z.B. der Export-Komponente entsprechen. Trotz seiner Bezeichnung "Paketdaten-Eintrag" repräsentiert der Eintrag in der Registry nicht Daten, sondern Programmcode. Für den Programmcode eines einzelnen Pakets enthält die Registry in der Regel einen einzigen Paketdaten-Eintrag, alternativ auch mehrere Paketdaten-Einträge. Für in dem Paket eventuell vorhandene weitere Komponenten wie z.B. Export-Komponenten enthält die Registry einen oder mehrere weitere Paketdaten-Einträge. Für Objekte mit Daten kann die Registry der Java Card einen oder mehrere Instanzen-Einträge haben. Paketdaten-Einträge zu implementierten Paketen sind in der Registry als benutzt markiert. Wird ein Paket gelöscht, wird die Markierung des Pakets gelöscht. Gemäß der Erfindung, bei der zu jedem Paketdaten-Eintrag ein Objektangelegt ist, kann die Markierung als benutzt beispielsweise im Objekt-Header des Objekts, das dem Paketdaten-Objekt entspricht, enthalten sein.For a Java Card, an overview of all the packages contained in the EEPROM is contained in the registry of the EEPROM. For a single package, the registry contains either a single entry or - more commonly - several so-called package data entries (Package Data Entries), which correspond to the program code and possibly existing other components such as the export component chen. Despite its name "package data entry", the entry in the registry does not represent data, but program code. For the program code of a single package, the registry usually contains a single package data entry, alternatively several package data entries. For any additional components in the package, such as export components, the registry contains one or more additional package data entries. For objects with data, the registry of the Java Card may have one or more instance entries. Packet data entries for implemented packages are marked as used in the registry. When a package is deleted, the tag of the package is deleted. According to the invention, where an object is applied to each packet data entry, the flag may be included as used, for example, in the object header of the object corresponding to the packet data object.
Soll nun ein Paket in den EEPROM einer Java Card implementiert werden, wird zuerst die Registry des EEPROM angelegt oder um das Paket ergänzt. Gemäß der Erfindung wird anschließend für jeden Paketdaten-Eintrag, der zu dem Paket in der Registry enthalten ist, ein Objekt im Heap-Speicher der Java Card angelegt. Hierdurch ist der Programmcode im EEPROM implementiert. Dennoch enthält der EEPROM lediglich Objekte, die durch die Speicherverwaltung einheitlich behandelt werden können. Sofern der Heap-Speicher über eine Garbage Collection (automatische Speicherbereinigung) verfügt, kann auch der Programmcode, der in Form von einem oder mehreren Objekten vorliegt, durch die Garbage Collection gepflegt werden, was bei herkömmlichen Verfahren bzw. Datenträgern nicht möglich ist.Should now a package can be implemented in the EEPROM of a Java Card, First, the registry of the EEPROM is created or added to the package. According to the invention will follow for each Package data entry that is included with the package in the registry, An object is created in the heap memory of the Java Card. This is the program code is implemented in the EEPROM. Nevertheless, the EEPROM contains only objects that are consistent through memory management can be treated. Unless the heap memory over Garbage Collection (automatic garbage collection) can also the program code, which takes the form of one or more objects garbage collection, what with usual Procedure or data carriers not possible is.
Claims (10)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410022907 DE102004022907A1 (en) | 2004-05-10 | 2004-05-10 | Storage management media |
PCT/EP2005/005011 WO2005111952A1 (en) | 2004-05-10 | 2005-05-09 | Data carrier with memory management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410022907 DE102004022907A1 (en) | 2004-05-10 | 2004-05-10 | Storage management media |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102004022907A1 true DE102004022907A1 (en) | 2005-12-01 |
Family
ID=34972332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200410022907 Withdrawn DE102004022907A1 (en) | 2004-05-10 | 2004-05-10 | Storage management media |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102004022907A1 (en) |
WO (1) | WO2005111952A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014112496A1 (en) | 2014-08-29 | 2016-03-03 | Bundesdruckerei Gmbh | Memory management for a chip card |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229769A1 (en) * | 2002-06-07 | 2003-12-11 | Montemayor Oscar A. | Using short references to access program elements in a large address space |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735680B2 (en) * | 2002-05-24 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for deleting objects from memory within a smart card |
-
2004
- 2004-05-10 DE DE200410022907 patent/DE102004022907A1/en not_active Withdrawn
-
2005
- 2005-05-09 WO PCT/EP2005/005011 patent/WO2005111952A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229769A1 (en) * | 2002-06-07 | 2003-12-11 | Montemayor Oscar A. | Using short references to access program elements in a large address space |
Non-Patent Citations (4)
Title |
---|
Infineon Preliminary Short Product Information SLE88CX720P, (online). Im Internet: URL:http://www.infineon.com/cmc_ upload/documents/028/834/SPL_SLE88CX720P0603.pdf,r am 12.10.2004,Schlussbericht vom 06.2003; |
Infineon Preliminary Short Product Information SLE88CX720P, (online). Im Internet: URL:http://www.infineon.com/cmc_ upload/documents/028/834/SPL_SLE88CX720P0603.pdf,ram 12.10.2004,Schlussbericht vom 06.2003 * |
Usenix Assocoation proceedings of the 9th Usenic security Symposium.Denver,August 14-17,2000 (online). Im Internet: URL:http://www.usenix.org/publications/library/pro sec2000/full_papers/vandoorn/vandoorn.pdf,recherch am 12.10.2004; |
Usenix Assocoation proceedings of the 9th Usenic security Symposium.Denver,August 14-17,2000 (online). Im Internet: URL:http://www.usenix.org/publications/library/prosec2000/full_papers/vandoorn/vandoorn.pdf,rechercham 12.10.2004 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014112496A1 (en) | 2014-08-29 | 2016-03-03 | Bundesdruckerei Gmbh | Memory management for a chip card |
WO2016030376A1 (en) | 2014-08-29 | 2016-03-03 | Bundesdruckerei Gmbh | Memory management for a token |
Also Published As
Publication number | Publication date |
---|---|
WO2005111952A1 (en) | 2005-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102005022893B3 (en) | Memory card e.g. multi media card, for data storage, has memory management unit providing open and safe interface to access memory blocks and protocol adapter accessing contents of card from host system connected with adapter by interface | |
DE19536548A1 (en) | Generation of software tools for initialisation and personalising of memory card, smart card | |
EP1183690B1 (en) | Memory array with address scrambling | |
DE102009033961A1 (en) | Emulation of a once programmable memory | |
DE19626337A1 (en) | Processing long messages in a processor card | |
DE69933142T2 (en) | CHIP CARD AND METHOD FOR MANAGING A PUBLISHED MEMORY ON THE SAME | |
EP1196902A1 (en) | Method for operating a portable data carrier configured for executing reloadable functional programs | |
EP1352318B1 (en) | Microprocessor circuit for portable data carriers | |
DE60224937T2 (en) | METHOD AND ARRANGEMENT FOR ASSOCIATING APPROVED APPLET FILES | |
WO2005055052A2 (en) | Java smart card chip comprising a memory area reserved for global variables | |
DE19939280A1 (en) | Secure personalization of chip cards | |
DE102004022907A1 (en) | Storage management media | |
WO2004100090A1 (en) | Memory management in a portable data carrier | |
EP0890172B1 (en) | Solid-state memory device | |
EP2151762B1 (en) | Storage management in a portable data storage medium | |
WO2004066153A1 (en) | Memory defragmentation, especially in a portable data carrier | |
EP1062630B1 (en) | Data carrier | |
DE10127179A1 (en) | Chip card memory management method has virtual addresses of defined virtual address zone assigned to physical addresses of memory locations | |
EP2177995B1 (en) | Storage management in a portable data storage medium | |
DE112015003923T5 (en) | Overlayed delete block assignment | |
EP1600855B1 (en) | Generating and using information about memory occupation in a portable device | |
DE112021005473T5 (en) | SYSTEM WITH INCREASING PROTECTED MEMORY AREA AND EXTINGUISHING PROTECTION | |
DE102004013180A1 (en) | Garbage collection for smart cards | |
DE102004051823A1 (en) | Passing variables between interpreter-based and native program code parts | |
WO2016030376A1 (en) | Memory management for a token |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
R005 | Application deemed withdrawn due to failure to request examination |
Effective date: 20110510 |