WO2004090725A2 - Sicheres speichersystem mit flash-speichern und cache-speicher - Google Patents

Sicheres speichersystem mit flash-speichern und cache-speicher Download PDF

Info

Publication number
WO2004090725A2
WO2004090725A2 PCT/EP2004/003923 EP2004003923W WO2004090725A2 WO 2004090725 A2 WO2004090725 A2 WO 2004090725A2 EP 2004003923 W EP2004003923 W EP 2004003923W WO 2004090725 A2 WO2004090725 A2 WO 2004090725A2
Authority
WO
WIPO (PCT)
Prior art keywords
memory
cache
flash
smart card
volatile
Prior art date
Application number
PCT/EP2004/003923
Other languages
English (en)
French (fr)
Other versions
WO2004090725A3 (de
Inventor
Fabrice Poulard
Van-Lam Nguyen
Original Assignee
Nec Electronics (Europe) 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 Nec Electronics (Europe) Gmbh filed Critical Nec Electronics (Europe) Gmbh
Publication of WO2004090725A2 publication Critical patent/WO2004090725A2/de
Publication of WO2004090725A3 publication Critical patent/WO2004090725A3/de

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/10Mechanisms 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/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment 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/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment 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/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Definitions

  • the present invention relates to a secure memory system with a flash memory and a cache memory, and in particular also to a secure memory system with flash memory and cache memory in smart cards or smart card ICs (integrated circuits).
  • Permanent non-volatile memory is a key element in the development of a wide range of applications and markets.
  • any type of programmable non-volatile memory has provided unsurpassed solutions to key user requirements.
  • FeRAM ferroelectric RAM
  • MRAM magnetic RAM
  • any type of programmable non-volatile memory has provided unsurpassed solutions to key user requirements.
  • the replacement of ROM for greater flexibility and a faster market launch as well as the use of removable storage devices of high capacity in consumer markets (e.g. digital cameras, PDAs) may be mentioned here.
  • a typical smart card device has a small microcontroller (with, for example, 5 to 8 input / output pins) that has dedicated input and output devices for certain applications and memory around its CPU core, the ROM in the size of a few hundred kilobytes , partially permanent, non-volatile memory in the size of a few tens of kilobytes and SRAM in the size of a few kilobytes mixes.
  • a smart card device combines the most limiting requirements for programmable non-volatile memory by using it for data and applications in native interpreted mode.
  • the electrical power supply is not integrated in the smart card, a limitation stems from the application environment.
  • the electricity is supplied by a dedicated reader (the integration of a thin battery in the card is technically possible, but not economically viable). This requires that when the smart card device treats its application data, it must secure the treatment to ensure data integrity even in the event of a power failure.
  • non-volatile memory that best meets this requirement should allow the data to be reprogrammed on a word-by-word basis. This property facilitates the implementation of security mechanisms and reduces the extent of integrity losses, if any.
  • fast erase and programming moves are also required.
  • a limitation relates to the service life. The stresses that are introduced by successive processes of reprogramming on the partially permanent, non-volatile memory change its lifespan. Because it is difficult to predict the number of data updates that will be performed over the life of a smart card, long-life non-volatile memory is required (at least a hundred thousand programming cycles). Another limitation relates to the physical boundaries.
  • the physical size of the semiconductor die of a smart card device is limited (the maximum space requirement that is usually accepted in the industry is 25 mm 2 ). This limitation has a direct impact on the total storage capacity of the non-volatile memory that is integrated into the device because the non-volatile memory generally accounts for more than 60% of the total size of the die.
  • limiting power consumption affects the reprogramming strategy, which normally requires high voltages.
  • EEPROMs electrically erasable read-only memory
  • flash memories electrically erasable read-only memory
  • FeRAMs magnetically erasable read-only memory
  • EEPROM is a robust and proven technology that has been used in smart card devices from the very beginning and meets most requirements: word erase access and word program access with sufficient times (a few milliseconds) for native applications, long service life, an acceptable space requirement for memory capacity up to 64 KB and acceptable power consumption. EEPROM reaches its limits when used in conjunction with Java Card technology (which requires quick word update access to perform application performance) and for storage capacities of 128 KB and more. Shrinking EEPROM technology to less than 0.25 mm is also a problem due to the high voltage requirement for erase and program operations.
  • Flash memory is as robust as EEPROMs. It has the best ratio of memory capacity to space and has comparable programming times, lifespan and power requirements with EEPROM. Flash memories are available in technology smaller than 0.25 ⁇ m.
  • flash memory is the ideal solution for storing applications, it is not for application data. In its usual structure (ie structure in large (larger than 1 KB) programmable sectors) the flash memory does not allow word erase access. Emulating this function has a larger impact on the space requirement, which means that the flash memory loses its great advantage.
  • the FeRAM is a very new technology that has not yet been tested in mass production. Its major advantages are word access and instant update access (a few hundred nanoseconds), which enables management of non-volatile memory such as RAM. FeRAM is available in technology smaller than 0.25 ⁇ m. It does not require high voltages for reprogramming, which makes it a non-volatile memory with low power consumption. The latest technological developments have a very long service life.
  • EEPROM Since the density of the FeRAM (2T / 2C structure) is closer to that of the EEPROM, it is not suitable for memory capacities of 128 and more KB with very limited sizes of the semiconductor chip. EEPROM is the best compromise to cover all the requirements of smart card devices up to a certain level of storage capabilities for data applications. There are clear limits to address the rapidly growing demands of users. There is no partially permanent, non-volatile memory available that itself fulfills all requirements when replacing EEPROM.
  • the object of the invention is to provide a semi-permanent memory system with non-volatile memory that combines large memory capacities within the same space requirement as standard flash memory with the ability to instantly re-program the entire memory word for word.
  • This invention is intended to be used for smart card devices as a replacement of the EEPROM to accommodate large storage capacities (up to several MB) with a fast one Address direct access to increase the effective operating bandwidth of the system.
  • the flash memory is accessed code-independently via the cache memory, which is formed from a small SRAM buffer, in order to increase the effective operating bandwidth of the system.
  • the proposed improvement of the conventional memory system with cache memory and flash memory ensures that the programmed data is retained even in the event of a power failure.
  • FeRAM instead of SRAM
  • the cache itself becomes non-volatile. Since the cache memory can also be freely reprogrammed in a few hundred nanoseconds, the entire system (flash memory + FeRAM) works as a non-volatile RAM.
  • any fast and partially permanent non-volatile memory with word access like conventional non-volatile RAMs or also MRAMs can be used instead of FeRAM.
  • Fig. 1 is a block diagram schematically showing the construction of the secure memory system with cache memory and flash memory;
  • 2A is a schematic diagram illustrating dynamic mirroring of sectors
  • Fig. 2B is a schematic diagram illustrating dynamic mirroring of words
  • Fig. 3A is a flow chart for reading a word of Fig. 2A
  • Fig. 3B is a flow chart for reading a word of Fig. 2B;
  • Figure 4A is a flow diagram for updating addresses and words after
  • FIG. 2A; Figure 4B is a flow diagram for updating words and addresses after
  • Fig. 1 shows the arrangement of the data flows of the secure memory system with cache memory and flash memory.
  • the system is formed by a control unit 1001, which serves as the interface between the CPU core (not shown) and the flash memory.
  • the control unit connects on the one hand a partially permanent, non-volatile cache memory 1002, which is formed from a small amount, for example Fe-RAM area, and on the other hand, a large amount of partially permanent flash area 1003.
  • Flash memory 1003 is a contiguous area of flash memory that is physically divided into contiguous sectors.
  • the size of the flash memory is a few hundred KB.
  • the size of a sector is a few KB, with a common sector size being 2 KB.
  • Possible processes in flash memories are: reading a word (in a few hundred nanoseconds), programming a word (in a few microseconds) and deleting a sector (in a few microseconds).
  • non-volatile cache memory 1002 has a contiguous area of FeRAM memory.
  • the size of the cache is a few KB. Possible operations in the cache memory are: reading a word (in a few hundred nanoseconds) and updating a word (in a few hundred nanoseconds).
  • the cache memory for example FeRAM
  • the cache memory is divided into cache sectors, the size of a cache sector being matched to the size of a sector of the flash memory 1003.
  • a cache sector is an image of a flash sector.
  • the control unit performs a mirroring of sectors between the cache sectors and the flash sectors.
  • the cache memory is logically divided into differentiated areas, an area storing the addresses of the words which have been modified in the flash memory 1003 and an area (of the same size) the values saves the modified words.
  • the controller performs a mirroring mechanism between the words in cache 1002 and the words in flash 1003.
  • a final area of the cache is used as a data buffer to program and update in a secure manner in flash.
  • a non-volatile system area connected to the cache memory has the necessary information for the system to manage the storage mechanism.
  • the advantage of option 1 is the implementation of a simple control unit.
  • the advantage of option 2 is the increase in the operating life of the flash 1003.
  • FIG. 3A is a flow diagram for the control logic of the sequences for reading out from the secure memory system with cache memory and flash memory when the non-volatile cache memory 1002 is constructed as far as possible.
  • the control unit 1001 detects the address on the address line 1020 and checks whether it is mapped by one of the cache sectors (ie one of the logical sectors in the non-volatile cache memory 1002 mirrors that Sector in flash memory 1003 that contains the address).
  • the controller 1001 sets the address on the address line 1013 and initiates a read on the control line 1015.
  • the flash memory 1003 then outputs the word that is read at the address on the data line 1014.
  • the controller uses the information available in the non-volatile system area to calculate the address (offset) in the cache sector that corresponds to the address in the flash memory. It sets the calculated address (offset) on address line 1010 and triggers a read on control line 1012. The non-volatile cache 1002 then outputs the word on the data line 1011 that is read at the calculated address (offset).
  • control unit 1001 outputs it on the data line 1023, displays the operating state on the status line 1023 and ends the process (and waits for the next process).
  • 4A is a flow diagram of the control logic for Update the secure storage system with cache memory and flash memory if the non-volatile cache memory 1002 is constructed as far as possible 1.
  • control unit 1001 acquires the address on the address line 1020 and acquires the data on the data line 1021.
  • the control unit checks whether the address is mapped by one of the cache sectors (i.e. one of the logical sectors in the non-volatile cache 1002 reflects the sector in flash memory 1003 that contains the address ADDR).
  • the controller 1001 calculates the address (offset) in the cache sector that corresponds to the address in the flash memory. It sets the data on the data line 1011, sets the calculated address (offset) on the address line 1010 and triggers an update process on the control line 1012.
  • the controller 1001 checks the availability of a cache sector to mirror the flash sector that contains the address.
  • controller 1001 selects a sector (step 4001 of any selection) to mirror the flash sector that contains the address ADDR.
  • control unit 1001 selects a sector to be deleted before mirroring the flash sector containing the address ADDR. This selection (step 1002) can be based on various strategies. The sectors to be described can, for example, be selected at random, one after the other or according to their age.
  • the cache sector is cleared as follows. Controller 1001 sets the start address of the flash sector on address line 1013 mirrored by the selected sector, the last erase on process line 1015 to erase the entire flash sector, and waits for the end of the erase by status line 1016 is displayed, and then copies the entire selected cache sector to its corresponding flash sector.
  • Copying a word from a cache sector to its corresponding flash sector is done as follows.
  • the control unit 1001 sets the cache sector address on the address line 1010, it sets the read operation on the control line 1012, it detects the word read on the data line 1011, it sets this word on the data line 1014, it sets it on the address line 1013 Flash address corresponding to the cache sector address, sets the program on control line 1015 and waits for the end of the program indicated by status line 1016. To copy an entire cache sector, the process is repeated for each address of the given sector.
  • the flash sector containing the address ADDR is copied to this sector.
  • the mirroring of the flash sector in the non-volatile cache 1002 is complete once the non-volatile system area is updated with the sector identification.
  • Copying a word from a flash sector to its corresponding cache sector is done as follows.
  • the control unit 1001 sets the flash address corresponding to the cache sector address on the address line 1013, it sets the read operation on the control line 1015, it detects the word read on the data line 1014, it sets this word on the data line 1011, it sets the cache sector address on address line 1010 and sets the update process on control line 1012. To copy an entire flash sector, the process is repeated for each address in the given sector.
  • control unit 1001 uses the information available in the non-volatile system area to calculate the address (offset) in the cache sector that corresponds to the address in the flash, and sets the calculated address (offset ) on the address line 1010, it sets the WORD data on the
  • Data line 1011 and triggers an update process on the control line 1012.
  • the non-volatile system area is used to ensure the complete recovery of the memory configuration in the event of a power failure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Die Erfindung schlägt eine datensichere Smart-Card-Vorrichtung vor, die neben einer Steuereinheit (1001) und einem Flash-Speicher (1003) einen nichflüchtigen Cache-Speicher (1002) aufweist, beispielsweise in Form eines FeRAM oder eines MRAM.

Description

SICHERES SPEICHERSYSTEM MIT FLASH-SPEICHERN UND
CACHE-SPEICHER
Die vorliegende Erfindung bezieht sich auf ein sicheres Speichersystem mit einem Flash-Speicher und einem Cache-Speicher und insbesondere auch ein sicheres Speichersystem mit Flash-Speicher und Cache-Speicher in Smart-Cards oder Smart-Card-ICs (integrierte Schaltungen).
Ein permanenter nichtflüchtiger Speicher ist ein Schlüsselelement in der Entwicklung eines weiten Bereiches von Anwendungen und Märkten.
Seit der Einführung des ersten PROM bis hin zu dem neu verfügbaren FeRAM (ferro- elektrisches RAM) und dem MRAM (magnetisches RAM) ermöglicht jede Art von programmierbaren nichtflüchtigem Speicher unübertroffene Lösungen für Schlüsselanforderungen der Benutzer. Es sei hier zum Beispiel die Ersetzung von ROM für eine höhere Flexibilität und einer schnelleren Markteinführung sowie die Anwendung von entfernbaren Speichergeräten hoher Kapazität in Verbrauchermärkten (z.B. digitale Kameras, PDAs) genannt.
Die für jede Anwendungsumgebung vorgegebenen Erfordernisse und Begrenzungen bestimmen die Art des progammierbaren nichtflüchtigen Speichers, der in ein gegebenes Gerät zu implementieren ist. In den meisten Fällen besteht eine exakte Übereinstimmung zwischen den Spezifikationen des Gerätes und der Charakteristik einer Speicherart. Allerdings gibt es spezifische Anwendungen, die spezifische Erfordernisse und Begrenzungen haben, die manchmal eine Kombination von einigen Speichercharakteristiken erfordern, die nicht durch eine Art des hichtf üchtigen Speichers abgedeckt sind. Smart-Cards finden sich unter diesen. Eine typische Smart-Card- Vorrichtung hat eine kleine MikroSteuereinheit (mit z.B. 5 bis 8 Eingabe-/Ausgabeanschlußstiften), die um ihren CPU-Kern zweckbestimmte Eingabe- und Ausgabegeräte für bestimmte Anwendungen und Speicher aufweist, der ROM in der Größe von einigen hundert Kilobyte, teilpermanenten, nichtflüchtigen Speicher in der Größe von einigen zehn Kilobyte und SRAM in der Größe von einigen Kilobyte mischt. Eine Smart-Card- Vorrichtung vereinigt die am meisten begrenzenden Anforderungen für programmierbare, nichtflüchtige Speicher, indem es ihn für Daten und Anwendungen im Native-Interpreted-Modus benutzt.
Da die elektrische Stromzufuhr nicht in der Smart-Card integriert ist, stammt eine Begrenzung von der Anwendungsumgebung. Der Strom wird durch ein zweckbestimmtes Lesegerät zugeführt (Die Integration einer dünnen Batterie in die Karte ist technisch möglich, aber nicht ökonomisch sinnvoll). Dies erfordert es, dass, wenn das Smart- Card-Gerät seine Anwendungsdaten behandelt, es die Behandlung zu sichern hat, um die Datenintegrität selbst in de Fall einer Stromunterbrechung zu gewährleisten.
Die Art des nichtflüchtigen Speichers, die am besten diese Anforderung erfüllt, sollte erlauben, dass die Daten auf einer Wort-zu- Wort-Basis reprogrammiert werden können. Diese Eigenschaft erleichtert die Durchführung von Sicherangsmechanismen und verringert den Umfang von Integritätsverlusten, falls welche auftreten. Um den Einschluss des Leistungsverlustes auf der Anwendungsebene zu minimieren, die durch die Verwaltung des nichtfiüchtigen Speichers eingeführt wird (das auch die Sicherungsverwaltung einschließt), sind auch schnelle Lösch- und Programmierzüge erforderlich. Eine Begrenzung bezieht sich auf die Betriebslebensdauer. Die Beanspruchung, die durch aufeinanderfolgende Vorgänge von Neuprogrammierungen auf den teilpermanenten, nichtflüchtigen Speicher eingeführt werden, verändern seine Lebensdauer. Da es schwierig ist, die Anzahl von Datenaktualisierungen, die innerhalb der Lebensdauer einer Smart-Card durchgeführt werden, vorherzusagen, ist nichtflüchtiger Speicher hoher Lebensdauer erforderlich (mindestens hunderttausend Programmierzyklen). Eine andere Begrenzung bezieht sich auf die physikalischen Abgrenzungen. Um die mechanische Beanspruchung zu minimieren und um es in ein Smart-Card-Mikromodulgehäuse einupassen, ist die physikalische Größe des Halbleiterplättchens einer Smart-Card- Vorrichtung begrenzt (der maximale Platzbedarf, der üblicherweise in der Industrie akzeptiert wird, beträgt 25 mm2). Diese Begrenzung hat einen direkten Einfluß auf die gesamte Speicherkapazität des nichtflüchtigen Speichers, der in das Gerät integriert werden kann, da dem nichtflüchtigen Speicher im allgemeinen mehr als 60% der gesamten Größe des Halbleiterplättchens zukommt. In Abhängigkeit von der Anwendung (z.B. GSM oder Bankgeschäfte) beeinflusst schließlich die Begrenzung des Stromverbrauchs die Strategie der Neuprogrammierung, die normalerweise hohe Spannungen erfordert.
Unter den programmierbaren, nichtflüchtigen Speichern sind EEPROMs, Flash- Speicher und FeRAMs die besten Kanditaten, die sich für eine Smart-Card- Vorrichtung eignen.
EEPROM ist eine robuste und erprobte Technologie, die seit dem Anfang in Smart- Card-Geräten verwendet wird und die den meisten Anforderungen entspricht: Wortlöschzugriff und Wortprogrammzugriff mit ausreichenden Zeiten (einige Millisekunden) bei Nativanwendungen, hohe Lebensdauer, ein annehmbarer Platzbedarf für Speicherkapazität bis zu 64 KB und einen akzeptablen Stromverbrauch. EEPROM erreicht die Grenzen, wenn es zusammen mit der Java-Card-Technologie verwendet wird (die einen schnellen Wortaktualisierungszugriff erfordert, um entsprechende Anwendungsleistungen zu erbringen) und für Speicherkapazitäten von 128 und mehr KB. Das Verkleinern der EEPROM-Technologie unter 0,25 mm ist aufgrund der Hochspannungserfordernis für Lösch- und Programmiervorgänge auch ein Problem.
Ein Flash-Speicher ist so robust wie EEPROMs. Er hat das beste Verhältnis von Speicherkapazität gegenüber dem Platzbedarf und hat mit EEPROM vergleichbare Programmierungszeiten, Lebensdauer und Strombedarf. Flash-Speicher sind in einer Technologie kleiner als 0,25 μm verfügbar.
Obwohl der Flash-Speicher die ideale Lösung zum Speichern von Anwendungen ist, ist er dies nicht für den Fall von Anwendungsdaten. In seinem üblichen Aufbau (d.h. Aufbau in großen (größer als 1 KB) programmierbaren Sektoren) erlaubt der Flash-Speicher keinen Wortlöschzugriff. Das Emulieren dieser Funktion hat größere Auswirkungen auf Seiten des Platzbedarfs, wodurch der Flash-Speicher seinen großen Vorteil verliert. Der FeRAM ist eine sehr neue Technologie, die noch nicht in der Massenproduktion erprobt ist. Seine großen Vorteile sind Wortzugriff und Sofortaktualisierungszugriff (wenige hundert Nanosekunden), was eine Verwaltung des nichtflüchtigen Speichers wie RAM ermöglicht. FeRAM steht in einer Technologie kleiner als 0,25 μm zur Verfügung. Er erfordert keine hohen Spannungen zum Neuprogrammieren, wodurch er sich als nichtflüchtiger Speicher geringen Stromverbauches auszeichnet. Neueste technologische Entwicklungen zeigen eine sehr hohe Lebensdauer.
Da die Dichte des FeRAMs (2T/2C-Struktur) näher zu der des EEPROM ist, ist er nicht für Speicherkapazitäten von 128 und mehr KB bei sehr begrenzten Größen des Halblei- terplättchens geeignet. EEPROM ist der beste Kompromiß, um bis zu einem bestimmten Niveau von Speicherfähigkeiten für Anwendungen von Daten all die Anforderungen bei Smart-Card- Vorrichtungen abzudecken. Es zeigen sich klare Grenzen, die schnell anwachsenden Anforderungen der Benutzer anzusprechen. Es ist kein teilpermanenter, nichtflüchtigen Speicher verfügbar, der selber alle Anforderungen bei der Ersetzung von EEPROM erfüllt.
Das Mischen von Flash-Speicher, um Anwendungen zu speichern, und EEPROM oder FeRAM, um Daten zu speichern, ist durchführbar. Allerdings ist diese Art des Mischens ökonomisch nicht sinnvoll und erfordert Trennung von Programmcode und Daten mit den entsprechenden Begrenzungen der Größe und geringerer Flexibilität bei Gebrauch des nichtflüchtigen Speichers.
Die Aufgabe der Erfindung ist es, ein teilpermanentes Speichersystem mit nichtflüchtigem Speicher bereitzustellen, das große Speicherkapazitäten innerhalb desselben Platzbedarfes wie Standard-Flash-Speicher mit der Fähigkeit der sofortigen Wort-für- Wort- Neuprogrammierung des gesamten Speichers auf eine sichere Art vereinigt.
Diese Erfindung soll für Smart-Card- Vorrichtungen als ein Ersatz des EEPROMs benutzt werden, um große Speicherkapazitäten (bis zu einigen MB) mit einem schnellen Direktzugriff anzusprechen, um die effektive Betriebsbandbreite des Systems zu erhöhen.
Diese und weitere Aufgaben der Erfindung werden durch eine miniaturisierte Datenver- arbeitungs- und Speichereinheit nach Anspruch 1 gelöst. Die abhängigen Ansprüche betreffen vorteilhafte Weiterentwicklungen der Erfindung.
Bei einem herkömmlichen Speichersystem mit Cache-Speicher und Flash-Speicher wird auf den Flash-Speicher codeunabhängig über den Cache-Speicher zugegriffen, der aus einem kleinen SRAM-Puffer gebildet wird, um die effektive Betriebsbandbreite des Systems zu erhöhen. Die vorgeschlagene Verbesserung des herkömmlichen Speichersystems mit Cache-Speicher und Flash-Speicher sichert selbst für den Fall einer Stromunterbrechung die Erhaltung der programmierten Daten. In dem man anstelle von SRAM FeRAM verwendet, wird der Cache-Speicher selbst nichtflüchtig . Da der Cache- Speicher auch frei in wenigen hundert Nanosekunden neu programmiert werden kann, arbeitet das Gesamtsystem (Flash-Speicher + FeRAM) als ein nichtflüchtiger RAM. Weiterhin kann jeder schnelle und teilpermanente nichtflüchtige Speicher mit Wortzugriff (wie herkömmliche nichtflüchtige RAMs oder auch MRAMs) anstelle von FeRAM verwendet werden.
Fig. 1 ist ein Blockdiagramm, das schematisch den Aufbau des sicheren Speichersystems mit Cache-Speicher und Flash-Speicher zeigt;
Fig. 2A ist eine schematische Darstellung, die das dynamische Spiegeln von Sektoren darstellt;
Fig. 2B ist eine schematische Darstellung, die das dynamische Spiegeln von Worten darstellt;
Fig. 3A ist ein Flußdiagramm für das Auslesen eines Wortes nach Fig. 2A; Fig. 3B ist in Flußdiagramm für das Auslesen eines Wortes nach Fig. 2B;
Fig.4A ist ein Flußdiagramm für das Aktualisieren von Adressen und Worten nach
Fig. 2A; Fig. 4B ist ein Flußdiagramm für das Aktualisieren von Worten und Adressen nach
Fig. 2B.
Fig. 1 stellt die Anordnung der Datenflüsse des sicheren Speichersystems mit Cache- Speicher und Flash-Speicher dar. Das System wird von einer Steuereinheit 1001 gebildet, die als die Schnittstelle zwischen dem nicht dargestellten CPU-Kern und dem Flash-Speicher dient. Die Steureinheit verbindet einerseits einen teilpermanenten, nichtflüchtigen Cache-Speicher 1002, der aus einer geringen Menge von zum Beispiel Fe- RAM-B ereich gebildet wird, und andererseits eine große Menge von teilpermanentem Flash-Bereich 1003.
Die CPU, die mit dem Speichersystem verbunden ist, sieht es als einen großen zusammenhängenden Direktzugriffsspeicherbereich, dessen Größe dem Flash-Speicher entspricht. Der Speicheraufbau innerhalb des Speichersystems wird im folgenden beschrieben. Der Flash-Speicher 1003 ist ein zusammenhängender Bereich von Flash-Speicher, der physikalisch in zusammenhängende Sektoren geteilt ist. Die Größe des Flash- Speichers beträgt einige hundert KB. Die Größe eines Sektors beträgt wenige KB, wobei eine übliche Sektorgröße 2 KB ist. Mögliche Vorgänge in den Flash-Speichern sind: Lesen eines Wortes (in wenigen hundert Nanosekunden), Programmieren eines Wortes (in wenigen Mikrosekunden) und das Löschen eines Sektors (in wenigen Mikrosekun- den).
Der nichtflüchtige Cache-Speicher 1002 weist zum Beispiel einen zusammenhängenden Bereich von FeRAM-Speicher auf. Die Größe des Caches beträgt wenige KB. Mögliche Vorgänge in dem Cache-Speicher sind: Lesen eines Wortes (in wenigen hundert Nanosekunden) und das Aktualisieren eines Wortes (in wenigen hundert Nanosekunden). Es gibt zwei Möglichkeiten, den nichtflüchtigen Cache-Speicher 1002 zu organisieren. Bei der ersten Möglichkeit (im folgenden als Möglichkeit 1 bezeichnet) wird der Cache- Speicher (zum Beispiel FeRAM) in Cache-Sektoren unterteilt, wobei die Größe eines Cache-Sektors der Größe eines Sektors des Flash-Speichers 1003 angepasst ist. Bei dieser Möglichkeit ist ein Cache-Sektor ein Abbild von einem Flash-Sektor. Wie in Fig. 2A gezeigt, führt die Steuereinheit einen Spiegelmechanismus von Sektoren zwischen den Cache-Sektoren und den Flash-Sektoren durch.
Bei der zweiten Möglichkeit (im folgenden als Möglichkeit 2 bezeichnet) wird der Cache-Speicher logisch in differenzierte Bereiche unterteilt, wobei ein Bereich die Adressen der Worte speichert, die im Flash-Speicher 1003 abgeändert wurden, und ein Bereich (derselben Größe) die Werte der abgeänderten Worte speichert. Wie in Fig. 2B gezeigt, führt die Steuereinheit einen Spiegelmechanismus zwischen den Worten im Cache-Speicher 1002 und den Worten im Flash-Speicher 1003 durch. Ein letzter Bereich des Cache-Speichers wird als ein Datenpuffer benutzt, um auf eine sichere Art im Flash zu programmieren und zu aktualisieren.
Bei beiden Möglichkeiten weist ein nichtflüchtiger Systembereich, der mit dem Cache- Speicher verbunden ist, die notwendigen Informationen für das System auf, um den Speichermechanismus zu verwalten. Der Vorteil von Möglichkeit 1 ist die Ausführung einer einfachen Steuereinheit. Der Vorteil von Möglichkeit 2 ist der Anstieg der Betriebslebensdauer des Flashs 1003.
Ein Lesevorgang nach Möglichkeit 1 wird im folgenden beschrieben. Um ein Wort aus dem sicheren Speichersystem mit Cache-Speicher und Flash-Speicher auszulesen, wird die Adresse auf der Adressenleitung 1020 eingestellt und der Lesevorgang über die Vorgangsleitung 122 ausgelöst. Fig. 3A ist ein Flußdiagramm zur Steuerlogik der Sequenzen zum Auslesen aus dem sicheren Speichersystem mit Cache-Speicher und Flash-Speicher, wenn der nichtflüchtige Cache-Speicher 1002 nach Möglichkeit 1 aufgebaut ist. Wenn durch die Vorgangsleitung 1022 ein Lesevorgang ausgelöst wird, erfasst die Steuereinheit 1001 die Adresse auf der Adressenleitung 1020 und prüft, ob sie von einem der Cache-Sektoren abgebildet wird (d.h. einer der logischen Sektoren in dem nicht- flüchtigen Cache-Speicher 1002 spiegelt den Sektor im Flash-Speicher 1003, die die Adresse enthält).
Wenn die Adressen nicht von dem nichtflüchtigen Cache-Speicher 1002 abgebildet wird, setzt die Steuereinheit 1001 die Adresse auf der Adressenleitung 1013 und löst einen Lesevorgang auf der Steuerleitung 1015 aus. Daraufhin gibt der Flash-Speicher 1003 das Wort aus, der an der Adresse auf der Datenleitung 1014 gelesen wird.
Wenn die Adresse durch den nichtflüchtigen Flash-Speicher 1002 abgebildet wird, berechnet die Steuereinheit mittels der Informationen, die in dem nichtflüchtigen Systembereich verfügbar sind, die Adresse (Versatz) in dem Cache-Sektor, der der Adresse im Flash-Speicher entspricht. Sie setzt die berechnete Adresse (Versatz) auf der Adressenleitung 1010 und löst einen Lesevorgang auf der Steuereleitung 1012 aus. Daraufhin gibt der nichtflüchtige Cache-Speicher 1002 das Wort auf der Datenleitung 1011 aus, das an der berechneten Adresse (Versatz) gelesen wird.
Sobald das Zielwort erfasst wird, gibt die Steuereinheit 1001 es auf der Datenleitung 1023 aus, zeigt den Betriebszustand auf der Zustandsleitung 1023 an und beendet den Vorgang (und wartet auf den nächsten Vorgang).
Hinsichtlich des Lesevorgangs nach der zweiten Möglichkeit wird auf das Flußdiagramm der Fig. 3B verwiesen.
Um ein Wort in dem sicheren Speichersystem mit Cache-Speicher und Flash-Speicher zu aktualisieren, wird die Adresse auf der Adressenleitung 1020 eingestellt, wird das Wort auf der Datenleitung 1021 eingestellt und der Aktualisierungsvorgang über die Vorgangsleitung 1022 ausgelöst. Fig. 4A ist ein Flußdiagramm der Steuerlogik zum Aktualisieren des sicheren Speichersystems mit Cache-Speicher und Flash-Speicher, wenn der nichtflüchtige Cache-Speicher 1002 nach Möglichkeit 1 aufgebaut ist.
Sobald durch die Vorgangsleitung 1022 ein Aktualisierungsvorgang ausgelöst wird, erfasst die Steuereinheit 1001 die Adresse auf der Adressenleitung 1020 und erfasst die Daten auf der Datenleitung 1021. Die Steuereinheit prüft dann, ob die Adresse durch einen der Cache-Sektoren abgebildet wird (Das heißt einer der logischen Sektoren in dem nichtflüchtigen Cache-Speicher 1002 spiegelt den Sektor im Flash-Speicher 1003, der die Adresse ADDR enthält).
Wenn die Adresse von dem nichtflüchtigen Cache-Speicher 1002 abgebildet wird, berechnet die Steuereinheit 1001 die Adresse (Versatz) in dem Cache-Sektor, der der Adresse in dem Flash-Speicher entspricht. Sie setzt die Daten auf die Datenleitung 1011, setzt die berechnete Adresse (Versatz) auf die Adressenleitung 1010 und löst einen Aktualisierungsvorgang auf der Steuerleitung 1012 aus.
Wenn die Adresse nicht durch den nichtflüchtigen Cache-Speicher 1002 abgebildet wird, überprüft die Steuereinheit 1001 die Verfügbarkeit eines Cache-Sektors, um den Flash-Sektor zu spiegeln, der die Adresse enthält.
Wenn eine ödere mehrere Cache-Sektoren frei sind (d.h. sie spiegeln keinen Flash- Sektor), wählt die Steuereinheit 1001 einen Sektor aus (Schritt 4001 beliebige Auswahl), um den Flash-Sektor zu spiegeln, der die Adresse ADDR enthält.
Wenn kein Cache-Sektor frei ist, wählt die Steuereinheit 1001 vor dem Spiegeln des Flash-Sektors, der die Adresse ADDR enthält, einen zu löschenden Sektor aus. Diese Auswahl (Schritt 1002) kann auf verschiedenen Strategien beruhen. Die zu beschreibenden Sektoren können zum Beispiel zufällig, nacheinander oder dem Alter nach ausgewählt werden. Der Löschvorgang des Cache-Sektors wird wie folgt durchgeführt. Die Steuereinheit 1001 setzt die Startadresse des Flash-Sektors auf der Adressenleitung 1013, die durch den ausgewählten Sektor gespiegelt wird, den letzten Löschvorgang auf der Vorgangsleitung 1015, um den gesamten Flash-Sektor zu löschen, sie wartet auf das Ende des Löschvorgangs, der durch die Zustandsleitung 1016 angezeigt wird, und kopiert dann den gesamten ausgewählten Cache-Sektor zu seinem entsprechenden Flash-Sektor.
Das Kopieren eines Wortes von einem Cache-Sektor zu seinem entsprechenden Flash- Sektor wird wie folgt durchgeführt. Die Steuereinheit 1001 setzt die Cache-Sektor- Adresse auf der Adressenleitung 1010, sie setzt den Lesevorgang auf der Steuerleitung 1012, sie erfasst das auf der Datenleitung 1011 gelesene Wort, sie setzt dieses Wort auf die Datenleitung 1014, sie setzt auf der Adressleitung 1013 die Flash-Adresse, die der Cache-Sektor- Adresse entspricht, sie setzt auf der Steuerleitung 1015 den Programmvorgang und wartet auf das Ende des Programmvorgangs, der durch die Zustandsleitung 1016 angezeigt wird. Um einen gesamten Cache-Sektor zu kopieren, wird der Vorgang für jede Adresse des gegebenen Sektors wiederholt.
Sobald ein Cache-Sektor (frei oder gelöscht) ausgewählt ist, wird diesem Sektor der Flash-Sektor kopiert, der die Adresse ADDR enthält. Das Spiegeln des Flash-Sektors in dem nichtflüchtigen Cache-Speicher 1002 ist vollendet, sobald der nichtflüchtige Systembereich mit der Sektoridentifikation aktualisiert ist.
Das Kopieren eines Wortes von einem Flash-Sektor zu seinem entsprechenden Cache- Sektor wird wie folgt durchgeführt. Die Steuereinheit 1001 setzt auf der Adressenleitung 1013 die Flash-Adresse, die der Cache-Sektoren-Adresse entspricht, sie setzt den Lesevorgang auf der Steuerleitung 1015, sie erfasst das auf der Datenleitung 1014 gelesene Wort, sie setzt dieses Wort auf die Datenleitung 1011, sie setzt auf der Adressenleitung 1010 die Cache-Sektor-Adresse und setzt auf der Steuerleitung 1012 den Aktualisierungsvorgang. Um einen gesamten Flash-Sektor zu kopieren, wird der Vorgang für jede Adresse in dem gegebenen Sektor wiederholt. Sobald der Flash-Sektor gespiegelt ist, berechnet die Steuereinheit 1001 mittels der Informationen, die in dem nichtflüchtigen Systembereich zur Verfügung stehen, die Adresse (Versatz) in dem Cache-Sektor, der der Adresse im Flash entspricht, setzt sie die berechnete Adresse (Versatz) auf die Adressleitung 1010, setzt sie die Daten WORD auf die
Datenleitung 1011 und löst einen Aktualisierungsvorgang auf der Steuerleitung 1012 aus.
Während der Kopiervorgänge, die vor dem Aktualisieren des Caches durchgeführt werden können, wird der nichtflüchtige Systembereich benutzt, um die vollständige Wiederherstellung der Speicherkonfiguration im Fall einer Stromunterbrechung zu gewährleisten.
Die Fortschritte der Lösch- und Kopiervorgänge werden automatisch in dem Systembereich aufgezeichnet, um eine Wiederherstellung im Falle jeglicher unerwarteter Unterbrechungen während der Ausführung der Schritte 4003, 4004, 4005 und 4006 zu ermöglichen.
Hinsichtlich der Aktualisierangsvorgänge nach Möglichkeit 2 wird auf das Flußdiagramm der Fig. 4B verwiesen.

Claims

Patentansprüche
1. Miniaturisierte Datenverarbeitungs- und Speichereinheit (Smart-Card-IC) mit einer Steuervorrichtung (1001), einem Flash-Speicher (1003) und einem Cache- Speicher (1002), dadurch gekennzeichnet, daß der Cache-Speicher nichtflüchtig ist.
2. Smart-Card-IC nach Anspruch 1, wobei der Cache-Speicher (1002) ein nicht- flüchtiger, schneller Direktzugriffsspeicher ist.
3. Smart-Card-IC nach Anspruch 2, bei dem der Cache-Speicher (1002) ein ferro- elektrisches RAM (FeRAM) oder magnetisches RAM (MRAM) umfasst.
4. Smart-Card-IC nach Ansprüchen 1 bis 3, bei dem logisch der Cache-Speicher (1002) in Cache-Sektoren und der Flash-Speicher in Flash-Sektoren unterteilt ist, wobei die Größe eines Cache-Sektors der Größe eines Flash-Sektors entspricht.
5. Smart-Card-IC nach Ansprüchen 1 bis 3, bei der der Cache-Speicher (1002) logisch in verschiedene Bereiche unterteilt ist, wobei ein Bereich zum Speichern der Adressen von Worten dient, die in dem Flash-Speicher (1003) geändert wurden, und ein anderer Bereich zum Speichern der Werte der abgeänderten Worte dient und ein weiterer Bereich als Ersatzbereich zum Wiederherstellen des Spei- cheraufbaus dient.
6. Smart-Card-IC nach Ansprüchen 1 bis 5 mit einem Speicherverwaltungssystem, das automatisch die Flash-Sektoren in Cache-Sektoren spiegelt, wobei Aktualisierungsvorgänge in den Cache-Sektoren vor dem Kopieren in die entsprechenden Flash-Sektoren durchgeführt werden.
7. Smart-Card-IC nach den Ansprüchen 1 bis 6, wobei große Kapazitäten von nichtflüchtigem Speicher als zusammenhängender nichtflüchtiger RAM mit ei- nem schnellen Wortaktualisierungszugriff innerhalb weniger 100 ns gesehen werden.
8. Smart-Card-IC nach Anspruch 7, bei dem große Kapazitäten des schnellen, nichtflüchtigen Direktzugriffsspeichers mit einem verringerten Platzbedarf des Halbleiterchips umgesetzt werden können.
9. Smart-Card-IC nach Anspruch 7, bei dem das Aktualisieren eines Datenwortes in dem nichtflüchtigen Speicher benachbarte Worte in einem gegebenen Speicherbereich nicht verändert.
10. Smart-Card-IC nach Anspruch 7, bei dem die Gegenmaßnahme bei Stromausfällen während der Verwaltung von nichtflüchtigen Speichern durch ein Softwaresystem im Gegensatz zu der herkömmlichen Verwaltung von EEPROM oder Flash-Speicher einfacher und nahezu unbemerkbar wird.
PCT/EP2004/003923 2003-04-14 2004-04-14 Sicheres speichersystem mit flash-speichern und cache-speicher WO2004090725A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10317147A DE10317147A1 (de) 2003-04-14 2003-04-14 Sicheres Speichersystem mit Flash-Speichern und Cache-Speicher
DE10317147.9 2003-04-14

Publications (2)

Publication Number Publication Date
WO2004090725A2 true WO2004090725A2 (de) 2004-10-21
WO2004090725A3 WO2004090725A3 (de) 2005-09-15

Family

ID=33039083

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/003923 WO2004090725A2 (de) 2003-04-14 2004-04-14 Sicheres speichersystem mit flash-speichern und cache-speicher

Country Status (2)

Country Link
DE (1) DE10317147A1 (de)
WO (1) WO2004090725A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009065553A2 (de) * 2007-11-21 2009-05-28 Giesecke & Devrient Gmbh Portabler datenträger mit web-server
WO2014100619A1 (en) * 2012-12-20 2014-06-26 Qualcomm Incorporated Integrated mram cache module

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
US20010025333A1 (en) * 1998-02-10 2001-09-27 Craig Taylor Integrated circuit memory device incorporating a non-volatile memory array and a relatively faster access time memory cache
US20020166022A1 (en) * 1998-08-03 2002-11-07 Shigeo Suzuki Access control method, access control apparatus, and computer-readable memory storing access control program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19928733A1 (de) * 1999-06-23 2001-01-04 Giesecke & Devrient Gmbh Halbleiterspeicher-Chipmodul
DE10127181A1 (de) * 2001-06-05 2002-12-19 Infineon Technologies Ag Sicherheitsmodul, Verfahren zum Konfigurieren desselben und Verfahren und Vorrichtung zum Herstellen desselben

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
US20010025333A1 (en) * 1998-02-10 2001-09-27 Craig Taylor Integrated circuit memory device incorporating a non-volatile memory array and a relatively faster access time memory cache
US20020166022A1 (en) * 1998-08-03 2002-11-07 Shigeo Suzuki Access control method, access control apparatus, and computer-readable memory storing access control program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009065553A2 (de) * 2007-11-21 2009-05-28 Giesecke & Devrient Gmbh Portabler datenträger mit web-server
WO2009065553A3 (de) * 2007-11-21 2009-11-19 Giesecke & Devrient Gmbh Portabler datenträger mit web-server
US8595318B2 (en) 2007-11-21 2013-11-26 Giesecke & Devrient Gmbh Portable data carrier comprising a web server
WO2014100619A1 (en) * 2012-12-20 2014-06-26 Qualcomm Incorporated Integrated mram cache module
US9378793B2 (en) 2012-12-20 2016-06-28 Qualcomm Incorporated Integrated MRAM module

Also Published As

Publication number Publication date
DE10317147A1 (de) 2004-10-28
WO2004090725A3 (de) 2005-09-15

Similar Documents

Publication Publication Date Title
DE19882933B4 (de) Flash-Speicher-Unterteilung für Lese-während-Schreiboperationen
DE69034191T2 (de) EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
DE112019005369T5 (de) Verfahren zum umschalten zwischen herkömmlicher ssd und open-channel-ssd ohne datenverlust
DE102005013683A1 (de) Speicherkarte und zugehöriges Betriebsverfahren
DE102009033961A1 (de) Emulation eines einmal programmierbaren Speichers
DE102004014227A1 (de) Steuervorrichtung für einen nicht flüchtigen Speicher
EP1314135B1 (de) Verfahren zur virtuellen vergrösserung des stacks eines tragbaren datenträgers
DE10192507B4 (de) Verfahren und Vorrichtung für die Vorhersage von Lösch- und Schreibzeiten von Flash-Speichern
DE69119101T2 (de) Nichtflüchtiges Halbleiterspeichersystem
DE60317801T2 (de) Verfahren und vorrichtung zur erkennung von fehlern während des schreibens in einen nichtflüchtigen speicher
DE102005023057B4 (de) Nichtflüchtiger Speicher
DE102017104698A1 (de) Elektroniksteuervorrichtung und Informationsspeicherverfahren dafür
WO2004090725A2 (de) Sicheres speichersystem mit flash-speichern und cache-speicher
EP1625592B1 (de) Vorrichtung und verfahren zum behandeln eines zustands eines speichers
DE10321104B4 (de) Verfahren zur Ablage von veränderlichen Daten
DE10040241A1 (de) Speicheranordnung für einen Datenträger und Verfahren zur Speicherverwaltung
DE69725398T2 (de) Rufeinheit-Zählvorrichtung
DE102015114721A1 (de) Verfahren, Gerät und System zur Datenverarbeitung
DE102004005290B3 (de) Verfahren und Vorrichtung zur Absicherung von Daten in einem nichtflüchtigen Datenspeicher
EP1517333B1 (de) Zustandskennzeichen (Flag) für einen bezüglich Löschen und Schreiben asymmetrischen Speicher
EP1081599A2 (de) Multiprozessorsystem
DE10335612B3 (de) Speichern von Daten in einem nicht-flüchtigen Speicher eines tragbaren Datenträgers
EP2879057B1 (de) Verfahren zum Betreiben eines Speichersystems sowie ein solches Speichersystem
DE102005013896B4 (de) Verfahren zur Datenverwaltung und Datenzugriffssystem zum Speichern von allen Verwaltungsdaten in einer Verwaltungsbank eines nicht-flüchtigen Speichers
DE112022000549T5 (de) Datenspeicherungsvorrichtung und verfahren zum fortschreitenden fading für videoüberwachungssysteme

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: COMMUNICATION NOT DELIVERED (R69), LETTER 1205A OF 21.12.05

122 Ep: pct application non-entry in european phase