DE69809527T2 - Externe Speichervorrichtung und Datenverarbeitungsverfahren - Google Patents

Externe Speichervorrichtung und Datenverarbeitungsverfahren

Info

Publication number
DE69809527T2
DE69809527T2 DE69809527T DE69809527T DE69809527T2 DE 69809527 T2 DE69809527 T2 DE 69809527T2 DE 69809527 T DE69809527 T DE 69809527T DE 69809527 T DE69809527 T DE 69809527T DE 69809527 T2 DE69809527 T2 DE 69809527T2
Authority
DE
Germany
Prior art keywords
data
boot
block
storage device
identification number
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.)
Expired - Lifetime
Application number
DE69809527T
Other languages
English (en)
Other versions
DE69809527D1 (de
Inventor
Hiroaki Fuse
Akira Sassa
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of DE69809527D1 publication Critical patent/DE69809527D1/de
Application granted granted Critical
Publication of DE69809527T2 publication Critical patent/DE69809527T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine externe Speichervorrichtung mit einer Speichereinrichtung zum Löschen von Daten in Einheiten vorbestimmter Blöcke und ein Datenverarbeitungsverfahren zur Verarbeitung von in einer externen Speichervorrichtung des vorhergehenden bzw. vorstehenden Typs gespeicherten Daten.
  • Verwandte Hintergrundtechnik
  • Als externe Speichervorrichtungen eines Typs zur Verwendung bei einer Datenverarbeitungsvorrichtung wie beispielsweise einem PC oder einer digitalen Stehbildkamera sind externe Speichervorrichtungen eines einen sogenannten Blitz- bzw. Flash-Speicher aufweisenden Typs bekannt.
  • Die den Flash-Speicher aufweisende externe Speichervorrichtung weist eine Struktur auf, bei der ein Speicherbereich des Flash-Speichers in mehrere Blöcke geteilt ist, um einen Datenbereich in Blockeinheiten zu verwalten bzw. managen. Das heißt ein Löschen von Daten wird in Blockeinheiten ausgeführt. Wird im Speicherbereich ein nicht-korrigierbarer Fehler gemacht, wird die Verwendung des Blocks, der den Bereich enthält, in dem der Fehler gemacht worden ist, gesperrt. Ein Block des vorstehenden Typs wird nachstehend als anwendungsgesperrter Block bezeichnet.
  • Die externe Speichervorrichtung des vorstehenden Typs weist eine Struktur auf, bei der zum Ausführen eines Zugriffs auf die externe Speichervorrichtung erforderliche Information usw. enthaltende Urladedaten vorher in einem vorbestimmten Block gespeichert sind. Beim Urladen der externen Speichervorrichtung werden Urladedaten zuerst gelesen. Dann wird entsprechend erhaltenen Urladedaten ein Zugriff auf die externe Speichervorrichtung durchgeführt, so dass Daten geschrieben/gelesen werden.
  • Bei der externen Speichervorrichtung des vorstehenden Typs enthalten Urladedaten üblicherweise Information, die zum Ausführen eines Zugriffs auf die externe Speichervorrichtung erforderlich ist. Können Urladedaten nicht gelesen werden, kann der Zugriff auf die externe Speichervorrichtung nicht durchgeführt werden. Deshalb müssen Urladedaten eine zufriedenstellende bzw. hinreichende Zuverlässigkeit haben.
  • Bislang ist der Block, in dem Urladedaten gespeichert sind (nachfolgend als "Urladeblock" bezeichnet), ein bei einer vorbestimmten Position ausgebildeter Block. Selbst wenn ein üblicherweise verwendeter Urladeblock zu einem verwendungsgesperrten Block gemacht wird, wird in einem anderen Block eine Kopie von Urladedaten gespeichert, so dass Urladedaten gelesen werden. Bei der herkömmlichen externen Speichervorrichtung wird die Zuverlässigkeit durch Präparieren mehrerer Kopien von Urladedaten weiter verbessert. Außerdem sind die Kopien in verschiedenen Blöcken gespeichert. Jedoch ist das Verfahren, bei dem die Multiplizität der Kopien von Urladedaten präpariert wird, unter dem Gesichtspunkt einer effektiven Verwendung der Speicherkapazität ein ungewünschtes Verfahren.
  • Bislang wird beim Aktualisieren von Urladedaten nicht festgestellt, ob alle Urladedatenkopien auf die neuesten Urladedaten aktualisiert worden sind oder nicht. Wird deshalb bei einer gewissen Operation die Urladedatenkopie nicht korrekt auf die neuesten Urladedaten aktualisiert, können neueste, das heißt korrekte Urladedaten nicht gelesen werden. Im vorstehenden Fall besteht die Vermutung, dass ein korrekter Zugriff auf die externe Speichervorrichtung nicht gemacht bzw. durchgeführt werden kann.
  • Bislang wird selbst beim Präparieren einer Kopie von Urladedaten die Kopie nur verwendet, wenn dass Lesen von Urladedaten des Originals versagt. Deshalb entsteht, wenn die Inhalte originaler Urladedaten inkorrekt gemacht werden, da beispielsweise Bits in einem Abschnitt des Urladeblocks, in dem originale Urladedaten gespeichert worden sind, unerwünscht invertiert sind, das Problem, dass, wenn vorstehende Urladedaten gelesen werden können, die vorstehenden Urladedaten so wie sie sind verwendet werden.
  • Ein Verfahren zum Ausführen der Hochrüstung eines Computerprogramms, aus dem alle Merkmale des Oberbegriffs des Anspruchs 1 hervorgehen, ist in GB-A-2 295 908 beschrieben.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Im Hinblick auf das Vorstehende ist es Aufgabe der vorliegenden Erfindung, eine externe Speichervorrichtung und ein Computersystem bereitzustellen, bei denen ein Speicherbereich effektiv benutzt werden kann, bei dem beim Lesen von Urladedaten nicht leicht ein Fehler gemacht werden kann und der eine hinreichende Zuverlässigkeit aufweist.
  • Eine andere Aufgabe der vorliegenden Erfindung ist es, ein Datenverarbeitungsverfahren bereitzustellen, mit dem die vorstehende externe Speichervorrichtung realisiert werden kann.
  • Diese Aufgaben werden durch eine externe Speichervorrichtung, ein Datenverarbeitungsverfahren und ein Computersystem gemäß den beigefügten unabhängigen Ansprüchen gelöst. Vorteilhafte Eigenschaften und Merkmale der vorliegenden Erfindung sind in den korrespondierenden Unteransprüchen definiert.
  • Andere Aufgaben, Eigenschaften, Merkmale und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung der bevorzugten Ausführungsformen evident, die in Verbindung mit den beigefügten Zeichnungen beschrieben ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Fig. 1 ist eine schematische Darstellung, zeigend die Gesamtstruktur eines Systems, auf das die vorliegende Erfindung angewendet ist;
  • Fig. 2 ist ein Blockschaltbild, zeigend die Struktur einer Speicherkarte, auf welche die vorliegende Erfindung angewendet ist;
  • Fig. 3 ist eine perspektivische Darstellung, zeigend die Form der Speicherkarte, auf welche die vorliegende Erfindung angewendet ist;
  • Fig. 4 ist eine schematische Darstellung, zeigend die Struktur eines Speicherbereichs der Speicherkarte, auf welche die vorliegende Erfindung angewendet ist;
  • Fig. 5 ist eine schematische Darstellung, zeigend die Struktur einer verteilten Verwaltungsinformation;
  • Fig. 6 ist eine schematische Darstellung, zeigend die Struktur einer zusätzlichen Verwaltungsinformation;
  • Fig. 7 ist eine schematische Darstellung, zeigend einen Zustand, bei dem kollektive Verwaltungsinformation aus Verteilter Verwaltungsinformation jedes Blocks gebildet ist;
  • Fig. 8 ist eine schematische Darstellung, zeigend eine Prozedur zur Aktualisierung eines Urladeblocks;
  • Fig. 9 ist ein Flussdiagramm, zeigend eine Prozedur zum Lesen des Urladeblocks beim Urladen der Speicherkarte;
  • Fig. 10 ist ein Flussdiagramm, zeigend eine Prozedur zum Lesen des Urladeblocks beim Urladen der Speicherkarte;
  • Fig. 11 ist ein Flussdiagramm, zeigend eine Prozedur zum Lesen des Urladeblocks beim Urladen der Speicherkarte; und
  • Fig. 12 ist ein Flussdiagramm, zeigend eine Prozedur zum Lesen des Urladeblocks beim Urladen der Speicherkarte.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Eine Ausführungsform der vorliegenden Erfindung wird nun unter Bezugnahme auf die Zeichnungen beschrieben.
  • Fig. 1 zeigt die Gesamtstruktur eines Beispiels eines Systems, auf das die vorliegende Erfindung angewendet ist. Das System gemäß dieser Ausführungsform weist eine Datenverarbeitungsvorrichtung 1, die ein Hauptrechner- bzw. Hostsystem ist, und eine Speicherkarte 2 auf, die eine durch eine serielle Schnittstelle mit der Datenverarbeitungsvorrichtung 1 verbundene externe Speichervorrichtung ist.
  • Wenngleich nun das System beschrieben wird, das eine Struktur aufweist, bei der Daten zwischen der Datenverarbeitungsvorrichtung 1 und der Speicherkarte 2 durch die serielle Schnittstelle übertragen werden, kann die vorliegende Erfindung auf ein System eines Typs angewendet werden, bei dem eine Datenübertragung durch eine parallele Schnittstelle ausgeführt wird.
  • Die Datenübertragungsvorrichtung 1 weist eine zentrale Verarbeitungseinheit bzw. Zentraleinheit (CPU) 3, einen internen Speicher 4, eine Subspeichereinheit 5 und eine serielle Schnittstellenschaltung 6 auf. Die vorstehenden Elemente sind durch einen Bus 7 miteinander verbunden. Die Datenverarbeitungsvorrichtung 1 liest ein in beispielsweise der Subspeichereinheit 5 gespeichertes Programm, um die CPU 3 zu veranlassen, das Programm unter Verwendung des internen Speichers 4 als Arbeitsbereich auszuführen. Zu diesem Zeitpunkt werden Daten durch die serielle Schnittstellenschaltung 6 zur Speicherkarte 2 wie es notwendig ist übertragen.
  • Die Datenverarbeitungsvorrichtung zur Verwendung bei dem System gemäß der vorliegenden Erfindung ist nicht besonders beschränkt, wenn die Datenverarbeitungsvorrichtung Daten zur externen Speichervorrichtung übertragen kann. Die vorliegende Erfindung kann bei jeder von einer Mannigfaltigkeit von Datenverarbeitungsvorrichtungen wie beispielsweise PCs, digitale Stehbildkameras und digitale Videokameras angewendet werden.
  • Die Datenverarbeitungsvorrichtung 1 und die Speicherkarte 2 sind durch die serielle Schnittstelle miteinander verbunden. Insbesondere wird die Verbindung durch drei Datenleitungen hergestellt, welche die Datenleitungen SCLK, "Zustand" und DTO sind. Das heißt, die Datenverarbeitungsvorrichtung 1 und die Speicherkarte 2 sind miteinander verbunden durch wenigstens die erste Datenleitung SCLK zur Übertragung eines Taktsignals wenn Daten übertragen werden, die zweite Datenleitung "Zustand" zur Übertragung eines Statussignals, das erforderlich ist, wenn eine Datenübertragung ausgeführt wird, und die dritte Datenleitung DIO zur seriellen Übertragung von Daten, die auf die Speicherkarte 2 geschrieben werden müssen oder Daten usw., die von der Speicherkarte 2 gelesen werden. So werden durch die vorstehenden Datenleitungen Daten zwischen der Datenverarbeitungsvorrichtung 1 und der Speicherkarte 2 übertragen.
  • Üblicherweise werden zwischen der Datenverarbeitungsvorrichtung 1 und der Speicherkarte 2 Daten in Dateieinheiten übertragen, deren jede aus einem Dateianfangs-Etikett bzw. Header und tatsächlichen Daten besteht. Es sei darauf hingewiesen, dass beispielsweise Information zur Ausführung eines Zugriffes auf die Datei, Information, die von dem von der Datenverarbeitungsvorrichtung 1 ausgeführten Programm benötigt wird usw. im Header der Datei gespeichert ist.
  • Wie in Fig. 2 gezeigt ist weist die Speicherkarte 2 einen Kontroller 11 auf, der einen sogenannten Steuer-IC (integrierter Steuerschaltkreis) und einen von Kontroller 11 gesteuerten Blitz- bzw. Flash-Speicher 12 aufweist.
  • Der Kontroller 11 weist auf: Einen Seriell/Parallel- und Parallel/Seriell-Schnittstellensequenzer 13 (nachfolgend als S/P & P/S-Schnittstellensequenzer 13 bezeichnet) zur Ausführung einer Seriell/Parallel-Wandlung und einer Parallel/Seriell-Wandlung, einen Flash-Speicher-Schnittstellensequenzer 14, der als eine Schnittstelle dient, durch die ein Zugriff auf den Flash-Speicher 12 durchgeführt werden kann, einen Seitenpuffer 15 zum vorübergehenden Speichern von Daten, die zwischen dem S/P & P/S-Schnittstellensequenzer bzw. der S/P & P/S-Schnittstellenablaufsteuerung 13 und dem Flash- Speicher-Schnittstellensequenzer bzw. der Flash-Speicher- Schnittstellenablaufsteuerung 14 übertragen werden, eine Fehlerkorrekturschaltung 16 zur Ausführung eines Fehlerkorrekturprozesses, einen Befehlsgenerator 17 zur Ausführung beispielsweise der Erzeugung eines Steuerbefehls zur Steuerung des Zugriffs auf den Flash-Speicher 12, einen Konfigurations- ROM 18, in welchem Versionsinformation der Speicherkarte 2, verschiedene Attributinformationselemente und dgl. gespeichert sind, einen Oszillator 19 zum Bereitstellen eines zum Betrieb jeder der oben erwähnten Schaltungen erforderlichen Taktsignals.
  • Der S/P & P/S-Schnittstellensequenzer 13 ist durch die oben erwähnten drei Datenleitungen SCRK, "Zustand" und DIO mit der seriellen Schnittstellenschaltung 6 der Datenverarbeitungsvorrichtung 1 verbunden. Infolgedessen überträgt der S/P & P/S-Schnittstellensequenzer 13 durch die vorstehenden Datenleitungen SCLK, "Zustand" und DIO Daten zur Datenverarbeitungsvorrichtung 1. Das heißt, der S/P & P/S-Schnittstellensequenzer 13 wandelt vom Seitenpuffer 15 übertragene parallele Daten in seriellen Daten um, um obige serielle Daten zur seriellen Schnittstellenschaltung 6 der Datenverarbeitungsvorrichtung 1 zu übertragen. Der S/P & P/S-Schnittstellensequenzer 13 wandelt von der seriellen Schnittstellenschaltung 6 übertragene serielle Daten der Datenverarbeitungsvorrichtung 1 in parallele Daten um, um obige parallele Daten zum Seitenpuffer 15 zu übertragen.
  • Eine serielle Kommunikation von Daten zwischen dem S/P & P/S-Schnittstellensequenzer 13 und der Datenverarbeitungsvorrichtung 1 wird durch die dritte Datenleitung DIO ausgeführt, während eine Synchronisation in Abhängigkeit von dem von der Datenverarbeitungsvorrichtung 1 durch die erste Datenleitung SCLK zugeführten Taktsignal aufrechterhalten wird. Der Typ von durch die dritte Datenleitung DIO übertragenen seriellen Daten wird entsprechend dem durch die zweite Datenleitung "Zustand" übertragenen Statussignal bestimmt. Serielle Daten sind beispielsweise klassifiziert als Daten, die auf den Flash-Speicher 12 zu schreiben sind, Daten, die vom Flash- Speicher 12 gelesen werden, Steuerdaten zur Steuerung des Betriebs der Speicherkarte 2 und dgl. Das Statussignal wird auch zum Anzeigen des Zustandes der Speicherkarte 2 benutzt. Die Zustände der Speicherkarte 2, die in Abhängigkeit vom Statussignal angezeigt werden können, umfassen einen Zustand, in welchem von der Datenverarbeitungsvorrichtung 1 in die Speicherkarte 2 eingegebene Daten während eines gewissen Prozesses nicht erlaubt sind, und einen Zustand, in welchem nach Vollendung des Prozesses in der Speicherkarte 2 auf von der Datenverarbeitungsvorrichtung 1 eingegebene Daten gewartet wird.
  • Sind von der Datenverarbeitungsvorrichtung übertragene Daten Steuerdaten zur Steuerung des Betriebs der Speicherkarte 2, führt der S/P & P/S-Schnittstellensequenzer 13 obige Steuerdaten dem Befehlsgenerator 17 zu.
  • Entsprechend von der Datenverarbeitungsvorrichtung 1 durch den S/P & P/S-Schnittstellensequenzer 13 zugeführten Steuerdaten erzeugt der Befehlsgenerator 17 einen Steuerbefehl zur Steuerung des Zugriffs auf den Flash-Speicher 12, um den Steuerbefehl zum Flash-Speicher-Schnittstellensequenzer 14 zu übertragen. Wie später beschrieben wird schreibt der Flash-Speicher-Schnittstellensequenzer 14 Daten auf den Flash-Speicher 12 und liest Daten aus dem Flash-Speicher 12 entsprechend dem Steuerbefehl.
  • Mit dem Befehlsgenerator 17 ist ein Falschlösch-Verhinderungsschalter 20 verbunden. Nach Einschalten des Falschlösch-Verhinderungsschalters 20 erzeugt der Befehlsgenerator 17 keinen Steuerbefehl zum Löschen von auf den Flash-Speicher 12 geschriebenen Daten, selbst wenn von der Datenverarbeitungsvorrichtung 1 Steuerdaten zum Befehlen eines Löschens von auf den Flash-Speicher 12 geschriebenen Daten übertragen werden. Das heißt die Speicherkarte 2 kann entweder in den Zustand, bei dem im Flash-Speicher 12 gespeicherte Daten kraft des Falschlösch-Verhinderungsschalters 20 nicht gelöscht werden können, oder in den Zustand, bei dem im Flash- Speicher 12 gespeicherte Daten gelöscht werden können, gebracht werden.
  • Der zwischen dem S/P & P/S-Schnittstellensequenzer 13 und dem Flash-Speicher-Schnittstellensequenzer 14 angeordnete Seitenpuffer 15 ist ein sogenannter Pufferspeicher zum vorübergehenden Speichern von Daten, die zwischen dem S/P & P/S- Schnittstellensequenzer 13 und dem Flash-Speicher-Schnittstellensequenzer 14 übertragen werden.
  • Vom S/P & P/S-Schnittstellensequenzer zum Flash- Speicher-Schnittstellensequenzer 14 übertragene Daten werden Anfangs vom S/P & P/S-Schnittstellensequenzer 13 zum Seitenpuffer 15 übertragen, um vorübergehend im Seitenpuffer 15 gespeichert zu werden. Im Seitenpuffer 15 gespeicherte Daten werden von einer Fehlerkorrekturschaltung 16 mit einem Fehlerkorrekturcode versehen. Mit dem Fehlerkorrekturcode versehene Daten befinden sich in einer vom Seitenpuffer 15 zum Flash-Speicher-Schnittstellensequenzsr 14 übertragenen vorbestimmten Seiteneinheit (beispielsweise eine einzelne Seite = 512 Bytes).
  • Als eine Alternative dazu werden vom Flash-Speicher- Schnittstellensequenzer 14 zum S/P & P/S-Schnittstellensequenzer 13 übertragene Daten anfangs vom Flash-Speicher- Schnittstellensequenzer 14 zum Seitenpuffer 15 übertragen, um vorübergehend im Seitenpuffer 15 gespeichert zu werden. Zu diesem Zeitpunkt werden im Seitenpuffer 15 gespeicherte Daten in der Fehlerkorrekturschaltung 16 einem Fehlerkorrekturprozess unterworfen. Dem Fehlerkorrekturprozess unterworfene Daten werden in einer vorbestimmten Seiteneinheit vom Seitenpuffer 15 zum S/P & P/S-Schnittstellensequenzer 13 übertragen.
  • Der Flash-Speicher-Schnittstellensequenzer 14 führt entsprechend dem vom Befehlsgenerator 17 zugeführten Steuerbefehl ein Schreiben von Daten auf den Flash-Speicher 12, ein Lesen von Daten vom Flash-Speicher 12 usw. aus. Das heißt der Flash-Speicher-Schnittstellensequenzer 14 liest vom Flash- Speicher 12 entsprechend dem vom Befehlsgenerator 17 zugeführten Steuerbefehl Daten, um wie oben beschrieben obige Daten durch den Seitenpuffer 15 zum S/P & P/S-Schnittstellensequenzer 13 zu übertragen. Als Alternative dazu empfängt der Befehlsgenerator 17 vom S/P & P/S-Schnittstellensequenzer 13 durch den Seitenpuffer 15 entsprechend dem vom Befehlsgenerator 17 zugeführten Steuerbefehl zugeführte Daten, um obige Daten auf den Flash-Speicher 12 zu schreiben.
  • Im Konfiguration-ROM 18 sind Versionsinformation der Speicherkarte 2, verschiedene Lage- bzw. Einstellungsinformationselemente und dgl. gespeichert. Im Konfigurations-ROM 18 gespeicherte Information wird vom Befehlsgenerator 17 durch den S/P & P/S-Schnittstellensequenzer 13 wie erforderlich gelesen, so dass sie zu benutzen ist. Das heißt der Befehlsgenerator 17 liest im Konfigurations-ROM 18 Information wie es notwendig ist. Entsprechend der Information führt der Befehlsgenerator 17 verschiedene Einstellungen in Bezug auf die Speicherkarte 2 aus.
  • Sind Daten in der Form serieller Daten, die auf den Flash-Speicher 12 geschrieben werden müssen, der Speicherkarte 2 von der Datenverarbeitungsvorrichtung 1 durch die drei Datenleitungen SCLK, "Zustand" und DIO zugeführt worden, wandelt der S/P & P/S-Schnittstellensequenzer 13 anfangs serielle Daten in parallele Daten um, um obige parallelen Daten zum Seitenpuffer 15 zu übertragen. Der Seitenpuffer 15 speichert vom S/P & P/S-Schnittstellensequenzer 13 übertragene Daten vorübergehend. Zu diesem Zeitpunkt werden im Seitenpuffer 15 gespeicherte Daten von der Fehlerkorrekturschaltung 16 mit einem Fehlerkorrekturcode versehen. Mit dem Fehlerkorrekturcode versehene Daten werden in einer vorbestimmten Seiteneinheit zum Flash-Speicher-Schnittstellensequenzer 14 übertragen. Entsprechend dem vom Befehlsgenerator 17 zugeführten Steuerbefehl schreibt der Flash-Speicher- Schnittstellensequenzer 14 vom Seitenpuffer 15 zugeführte Daten auf den Flash-Speicher 12. Als Ergebnis des oben erwähnten Prozesses werden von der Datenverarbeitungsvorrichtung 1 übertragene Daten auf den Flash-Speicher 12 geschrieben.
  • Beim Lesen von Daten von der Speicherkarte. 2 werden vom Flash-Speicher-Schnittstellensequenzer 14 entsprechend dem vom Befehlsgenerator 17 zugeführten Steuerbefehl anfangs Daten vom Flash-Speicher 12 gelesen. Der Flash-Speicher- Schnittstellensequenzer 14 überträgt vom Flash-Speicher 12 gelesene Daten zum Seitenpuffer 15. Der Seitenpuffer 15 speichert vom Flash-Speicher-Schnittstellensequenzer 14 zugeführte Daten vorübergehend. Zu diesem Zeitpunkt werden im Seitenpuffer 15 gespeicherte Daten in der Fehlerkorrekturschaltung 16 dem Fehlerkorrekturprozess unterworfen. Dem Fehlerkorrekturprozess unterworfene Daten werden in einer vorbestimmten Seiteneinheit zum S/P & P/S-Schnittstellensequenzer 13 übertragen. Der S/P & P/S-Schnittstellensequenzer 13 wandelt vom Seitenpuffer 15 zugeführte Daten in serielle Daten um und überträgt dann durch die drei Datenleitungen SCLK, "Zustand" und DIO serielle Daten zur Datenverarbeitungsvorrichtung 1.
  • Als Ergebnis des oben erwähnten Prozesses werden vom Flash- Speicher 12 gelesene Daten zur Datenverarbeitungsvorrichtung 1 übertragen.
  • Beim Schreiben oder Lesen von Daten werden sowohl Steuerdaten zur Steuerung der Kommunikation von Daten von der Datenverarbeitungsvorrichtung 1 zum S/P & P/S-Schnittstellensequenzer 13 der Speicherkarte 2 übertragen als auch Daten, die auf den Flash-Speicher 12 geschrieben werden müssen, oder Daten, die aus dem Flash-Speicher 12 gelesen werden, übertragen. Die obigen Steuerdaten werden vom S/P & P/S-Schnittstellensequenzer 13 zum Befehlsgenerator 17 übertragen. Entsprechend den vom S/P & P/S-Schnittstellensequenzer 13 übertragenen Steuerdaten erzeugt der Befehlsgenerator 17 einen Steuerbefehl zur Steuerung des Zugriffs auf den Flash-Speicher 12. Der Steuerbefehl wird dem Flash-Speicher-Schnittstellensequenzer 14 zugeführt. Entsprechend dem Steuerbefehl führt der Flash-Speicher-Schnittstellensequenzer 14 einen Zugriff auf den Flash-Speicher 12 aus, um Daten zu schreiben oder zu lesen.
  • Zusätzlich zu den drei Datenleitungen SCLK "Zustand" und DIO kann die Speicherkarte 2 mit einer Energieversorgungsleitung und einer Reserveleitung, die in einem gewöhnlichen Zustand nicht benutzt wird, versehen sein. Beispielsweise zeigen die später zu beschreibenden Fig. 2 und 3 eine Struktur, bei der zusätzlich zu den drei Datenleitungen SCLK, "Zustand" und DIO vier elektrische Energieversorgungsleitungen VSS1, VSS2, VCC und INT und drei Reserveleitungen RSV1, RSV2, RSV3 für die Speicherkarte 2 vorgesehen sind.
  • Es wird nun unter Bezugnahme auf die Fig. 3 eine schematische Form der Speicherkarte 2 beschrieben.
  • Die Speicherkarte 2 weist ein aus synthetischem Harz oder dgl. gefertigtes und eine planare rechteckige Form und eine kleine Dicke aufweisendes kartenförmiges Gehäuse 21 auf, wobei der Kontroller 11, der Flash-Speicher 12 und dgl. im Gehäuse 21 untergebracht sind. Die Speicharkarte 2 wird in die einen Lademechanismus zum Laden der Speicherkarte 2 aufweisende Datenverarbeitungsvorrichtung 1 geladen, so dass die Speicherkarte 2 benutzt wird.
  • Am vorderen Ende des Gehäuses der Speicherkarte 2 ist ein diagonal geschnittener Abschnitt 22 ausgebildet. Außerdem sind im geschnittenen Abschnitt 22 zehn Aussparungen 23 ausgebildet. Die Aussparungen 23 weisen externe Verbindungsanschlüsse auf, die so angeordnet sind, dass sie mit Verbindungsanschlüssen der Datenverarbeitungsvorrichtung zu verbinden sind, wenn die Speicherkarte 2 in die Ladeeinheit der Datenverarbeitungsvorrichtung 1 geladen wird. Das heißt, die Speicherkarte 2 weist zehn Anschlüsse 24a, 24b, 24c, 24d, 24e, 24f, 24g, 24h, 24i und 24j auf, die als externe Verbindungsanschlüsse dienen. Die vorstehenden externen Verbindungsanschlüsse bestehen aus drei Datenleitungsanschlüssen 24b, 24d und 24h, vier Energieversorgungsanschlüssen 24a, 24f, 24i und 24j für die Energiequelle und drei Reserveanschlüssen 24c, 24e und 24g.
  • Mit der oberen Fläche des Gehäuses 21 der Speicherkarte 2 ist ein Falschlösch-Verhinderungsteil 25 verbunden. Das Falschlösch-Verhinderungsteil 25 greift in den im Gehäuse 21 untergebrachten Falschlösch-Verhinderungsschalter 20 ein. Wird das Falschlösch-Verhinderungsteil 25 verschoben, kann der Falschlösch-Verhinderungsschalter 20 ein-/ausgeschaltet werden.
  • Die Speicherkarte 2 ist mit einem kreisbogenförmig geschnittenen und für eine Seitenfläche des Falschlösch- Verhinderungsschalters 20 vorgesehenen Verriegelungsteil 26 versehen, um nachdem Laden der Speicherkarte 2 in die Ladeeinheit der Datenverarbeitungsvorrichtung 1 eine Trennung der Speicherkarte 2 von der Datenverarbeitungsvorrichtung 1 zu verhindern. Außerdem ist an einer anderen Seitenfläche des Falschlösch-Verhinderungsschalters 20 ein rechteckförmig geschnittener zweiter Verriegelungsabschnitt 27 ausgebildet. Ist die Speicherkarte 2 in die Ladeeinheit der Datenverarbeitungsvorrichtung 1 geladen, greifen die geschnittenen Verriegelungsabschnitte 26 und 27 in die Ladeeinheit der Datenverarbeitungsvorrichtung 1 ein, um eine Trennung der Speicherkarte 2 zu verhindern.
  • Es sei darauf hingewiesen, dass die in Fig. 3 gezeigte Speicherkarte 2 ein Beispiel der externen Speichervorrichtung ist, auf welche die vorliegende Erfindung angewendet ist. Das heißt, die vorliegende Erfindung hängt nicht von der Form der externen Speichervorrichtung ab. Die vorliegende Erfindung kann auf jede beliebige externe Speichervorrichtung ungeachtet der Form der externen Speichervorrichtung angewendet werden.
  • Es wird nur die Struktur eines Speicherbereichs des in die Speicherkarte 2 geladenen Flash-Speichers 12 beschrieben. Es sei darauf hingewiesen, dass die Struktur des nun beschriebenen Speicherbereiches ein Beispiel der Struktur des Speicherbereichs der, externen Speichervorrichtung ist, auf welche die vorliegende Erfindung angewendet ist.
  • Die vorliegende Erfindung kann weit und breit bei einer Mannigfaltigkeit externer Speichervorrichtungen eines Typs mit einer Struktur angewendet werden, bei welcher der Speicherbereich in mehrere Blöcke geteilt ist, die Einheiten zum Datenlöschen sind, und bei der ein Urladeblock, in welchem Urladedaten gespeichert sind, vorgesehen ist. Die Struktur des Speicherbereichs ist nicht auf die folgende Struktur beschränkt.
  • Wie in der Fig. 4A gezeigt ist der Speicherbereich des Flash-Speichers 12 in mehrere Blöcke geteilt, die Einheiten zum Löschen von Daten sind. Die Blöcke bestehen aus dem Urladeblock zum Speichern von Urladedaten, welche Daten sind, die zum anfänglichen Lesen durch die Datenverarbeitungsvorrichtung 1, wenn die Speicherkarte 2 urgeladen ist, angeordnet sind, und aus einem Datenblock, auf den beliebige Daten geschrieben werden. Jeder Block weist eine spezifische absolute bzw. physikalische Adresse auf. Die Blöcke sind Einheiten zum Löschen von Daten und eine Minimaleinheit zum Managen einer Datei. Das heißt, eine Datei wird in einem oder mehreren Blöcken gespeichert. Deshalb kann ein einzelner Block nicht von mehreren Dateien benutzt werden.
  • Jeder Block besteht aus mehreren Bits, deren jedes in jeden von zwei Zuständen, die ein Zustand "1" und ein Zustand "0" sind, gebracht werden kann. In einem Anfangszustand sind alle Bits im Zustand "1". Deshalb ist eine Änderung einer Biteinheit nur von "1" nach "0" möglich. Das heißt, beim Schreiben von aus "1" und "0" bestehenden Daten werden mit "1" korrespondierende Bits beibehalten und mit "0" korrespondierende Bits werden von "1" in "0" geändert.
  • Beim Löschen geschriebener Daten wird jede Blockeinheit kollektiv einem Initialisierungsprozess unterworfen, so dass alle Bits im vorstehenden Block zu "1" gemacht werden. Dies hat zur Folge, dass auf den Block geschriebene Daten kollektiv gelöscht werden. Deshalb können die Daten wieder auf den vorstehenden Block geschrieben werden.
  • Es sei darauf hingewiesen, dass die vorliegende Erfindung sowohl auf jeden Flash-Speicher eines Typs, bei dem jedes Bit in jeden von drei oder mehr Zuständen gebracht werden kann (sogenannte Multiwert-Flash-Speicher) als auch auf die Flash-Speicher, bei denen jedes Bit in nur zwei Zustände gebracht werden, kann (sogenannte Binartyp-Flash-Speicher) angewendet werden kann.
  • Jeder Block des Flash-Speichers 12 besteht, wie in Fig. 4B gezeigt, aus mehreren Seiten, die Einheiten zum Schreiben oder Lesen von Daten sind. Das heißt, beim Schreiben von Daten auf den Flash-Speicher 12 werden vom Seitenpuffer 12 in Seiteneinheiten übertragene Daten vom Flash-Speicher-Schnittstellensequenzer 14 in Seiteneinheiten auf den Flash-Speicher 12 geschrieben. Beim Lesen von Daten aus dem Flash-Speicher 12 liest der Flash-Speicher-Schnittstellensequenzer 14 Daten in Seiteneinheiten, um sie zum Seitenpuffer 15 zu übertragen.
  • Jede Seite weist einen Datenbereich und einen redundanten Bereich auf. Der Datenbereich ist ein Bereich, auf den beliebige Daten geschrieben werden. Der redundante Bereich ist ein Bereich, in welchem zum Managen von auf den Datenbereich geschriebenen Daten erforderlich Information gespeichert ist.
  • Insbesondere ist, wie in Fig. 4C gezeigt, im redundanten Bereich auf der voreilenden Seite des Blocks sogenannte verteilte Verwaltungsinformation als zum Verwalten des Blocks erforderliche Information gespeichert. Auch ist im redundanten Bereich auf Seiten ab einer zweiten Seite des Blocks verteilte Verwaltungsinformation gespeichert, welche die gleiche wie die im redundanten Bereich der voreilenden Endseite gespeicherte ist, als verteilte Reserve-Verwaltungsinformation gespeichert. Es sei darauf hingewiesen, dass im redundanten Bereich der letzten Seite anstelle von verteilter Verwaltungsinformation sogenannte zusätzliche Verwaltungsinformation als zusätzliche Information gespeichert ist, die nicht durch nur verteilte Verwaltungsinformation verwaltet werden kann.
  • Wie oben beschrieben ist im vorstehenden Flash-Speicher 12 verteilte Verwaltungsinformation im redundanten Bereich jedes Blocks gespeichert. Verteilte Verwaltungsinformation ist Information zum Verwalten des Blocks, in welchem verteilte Verwaltungsinformation gespeichert worden ist. Entsprechend verteilter Verwaltungsinformation kann, beispielsweise Information, die anzeigt, ob der vorstehende Block ein Block ist oder nicht, der das voreilende Ende der Datei ist, und/oder Information, die, wenn die Datei aus den mehreren Blöcken besteht, eine Verbindung von Blöcken anzeigt, erhalten werden. Verteilte Verwaltungsinformation wird später beschrieben.
  • Verteilte Verwaltungsinformation der Blöcke in der Speicherkarte 2 wird so gesammelt, dass kollektive Verwaltungsinformation erzeugt wird, die als Information zum Verwalten der Gesamtstruktur des Flash-Speichers dient. Dann wird kollektive Verwaltungsinformation im Flash-Speicher 12 als Datei gespeichert.
  • Gewöhnlich wird kollektive Verwaltungsinformation dazu verwendet, Information zu erhalten, die zum Ausführen eines Zugriffs auf jeden Block erforderlich ist. Das heißt beim Übertragen von Daten zwischen der Datenverarbeitungsvorrichtung 1 und der Speicherkarte 2 liest die Datenverarbeitungsvorrichtung 1 aus der Speicherkarte 2 kollektive Verwaltungsinformation, um diese im internen Speicher 4 zu entwickeln. Entsprechend der kollektiven Verwaltungsinformation führt die Datenverarbeitungsvorrichtung 1 einen Zugriff auf die Speicherkarte 2 aus. Dies hat zur Folge, dass die Notwendigkeit des Ausführens eines Zugriffs auf die in jedem Block gespeicherte verteilte Verwaltungsinformation eliminiert werden kann. Infolgedessen ist ein Datenzugriff mit höherer Geschwindigkeit ermöglicht.
  • Es werden nun verteilte Verwaltungsinformation, zusätzliche Verwaltungsinformation und kollektive Verwaltungsinformation beschrieben.
  • Verteilte Verwaltungsinformation ist Information zum Verwalten des Blocks, in welchem verteilte Verwaltungsinformation gespeichert worden ist, wobei die verteilte Verwaltungsinformation auf einen 16-Byte-Redundanzbereich geschrieben ist. Insbesondere besteht die verteilte Verwaltungsinformation, wie in Fig. 5 gezeigt, aus einem 1-Byte- Erlaubnis/Sperrung-Kennzeichen, einem 1-Byte-Blockkennzeichen, einem 4-Bit-Endekennzeichen, einem 4-Bit-Referenzkennzeichen, einem 1-Byte-Verwaltungskennzeichen, einer 2-Byte-Logikadresse, einer 2-Byte-Verbindungsadresse, einem 3-Byte-Reservebereich, einem 2-Byte-Code für eine Fehlerkorrektur der verteilten Verwaltungsinformation und einem 3-Byte-Datenfehlerkorrekturcode.
  • Das Erlaubnis/Sperrung-Kennzeichen ist ein Kennzeichen, das anzeigt, ob der Block in einem benutzungserlaubten Zustand oder einem benutzungsgesperrten Zustand ist. Insbesondere kann das Erlaubnis/Sperrung-Kennzeichen jeden der zwei Zustände anzeigen, die "Benützung erlaubt" und "Benutzung gesperrt" sind. "Benutzung erlaubt" zeigt einen Zustand an, bei dem der Block benutzt werden kann, während "Benutzung gesperrt " anzeigt, dass der Block nicht benutzt werden kann. Wird im Block ein nicht wiederherstellbarer Fehler gemacht, wird das Erlaubnis/Sperrung-Kennzeichen auf "benutzungsgesperrt" gesetzt, so dass die Benutzung des Blocks gesperrt ist.
  • Das Blockkennzeichen ist ein Kennzeichen, das den Zustand des Blocks anzeigt. Insbesondere zeigt das Blockkennzeichen jeden einzelnen der vier Zustände "Nichtbenutzung", "Benutzung am voreilenden Ende", "Benutzung" und "Nichtlöschen" an. "Nichtbenutzung" zeigt einen Zustand an, bei dem der Block in einem nicht benutzten Zustand ist oder Daten vom Block gelöscht worden sind. Infolgedessen befindet sich der Block im Zustand "Nichtbenutzung" in einem Anfangszustand (alle Bits sind gleich "1"), in welchem unmittelbar Daten geschrieben werden können. "Benutzung am voreilenden. Ende" zeigt einen Zustand an, bei dem der Block am voreilenden Ende der Datei benutzt wird. In einem Urladeblock, in welchem die Urladedaten gespeichert sind, befindet sich das Blockkennzeichen im Zustand "Benutzung am voreilenden Ende". "Benutzung" zeigt einen Zustand an, in welchem der Block in einem Abschnitt mit Ausnahme des voreilenden Endes benutzt wird. Befindet sich der Block im Zustand "Benutzung", ist der Block mit einem anderen Block verknüpft bzw. verbunden. "Nichtlöschen" zeigt einen Zustand an, in welchem auf den Block geschriebene Daten unnötig werden. Werden beispielsweise Daten gelöscht, wird das Blockkennzeichen anfangs in den Zustand "Nichtlöschen" gebracht. Ist eine lange Verarbeitungszeit erlaubt, werden die Blöcke, welche die sich jeweils im Zustand "Nichtlöschen" befindenden Blockkennzeichen aufweisen, gelöscht. Dies hat zur Folge, dass ein Löschprozess effektiv ausgeführt werden kann.
  • Das Endekennzeichen ist ein Kennzeichen, das anzeigt, ob die Datei beendet ist oder nicht. Insbesondere zeigt das Endekennzeichen entweder "Block fortgesetzt" oder "Block beendet" an. "Block fortgesetzt" zeigt einen Zustand an, bei dem der Block mit einem nächsten Block verbunden ist. Das heißt, "Block fortgesetzt" zeigt an, dass die im Block gespeicherte. Datei einen folgenden Abschnitt aufweist und infolgedessen die Datei in einen anderen Block fortgesetzt ist. "Block beendet" zeigt an, dass der Block der Endblock ist. Das heißt, "Block beendet" zeigt an, dass die im Block gespeicherte Datei in diesem Block beendet ist.
  • Das Referenzkennzeichen ist ein Kennzeichen zum Befehlen einer Referenz einer zusätzlichen Verwaltungsinformation. Insbesondere zeigt das Referenzkennzeichen jeden der zwei Zustände "keine Referenzinformation" und "Referenzinformation existiert" an. "Keine Referenzinformation" zeigt an, dass in einem redundanten Bereich auf der letzten Seite des Blocks effektive zusätzliche Verwaltungsinformation nicht existiert. "Referenzinformation existiert" zeigt an, dass im redundanten Bereich der letzten Seite des Blocks effektive zusätzliche Verwaltungsinformation existiert.
  • Das Verwaltungskennzeichen ist ein Kennzeichen, welches das Attribut des Blocks anzeigt. Das Verwaltungskennzeichen zeigt beispielsweise an, ob der Block ein Nurleseblock ist oder ein Block, der auch Schreiben erlaubt. Das Verwaltungskennzeichen zeigt auch an, dass der Block ein Urladeblock oder ein Datenblock ist.
  • Die logische Adresse zeigt die logische Adresse des Blocks in ihrem wörtlichen Sinn an. Der Wert der logischen Adresse wird beim Neuschreiben von Daten wie erforderlich aktualisiert. Der Wert der logischen Adresse wird so gesetzt, dass der Wert der logischen Adresse nicht gleichzeitig im Besitz mehrerer Blöcken ist.
  • Die Verbindungsadresse ist eine logische Adresse eines mit dem Block verbundenen Blocks. Das heißt die im Block gespeicherte Datei hat einen folgenden Abschnitt. Ist die Datei in einem anderen Block fortgesetzt, ist ein Wert einer logischen Adresse eines nächsten Blocks, in welchem der folgende Abschnitt der Datei gespeichert ist, auf die Verbindungsadresse gesetzt.
  • Der Fehlerkorrekturcode für verteilte Verwaltungsinformation ist ein Fehlerkorrekturcode zum Korrigieren des Verwaltungskennzeichens, der logischen Adresse, der Verbindungsadresse und von Daten, die auf den Reservebereich zwischen verteilter Verwaltungsinformation geschrieben sind. Es sei darauf hingewiesen, dass das Erlaubnis/Sperrung-Kennzeichen, das Blockkennzeichen, das Endekennzeichen und das Referenzkennzeichen jeweils nicht vom Fehlerkorrekturcode für verteilte Verwaltungsinformation korrigiert werden. Deshalb können das Erlaubnis/Sperrung-Kennzeichen, das Blockkennzeichen, das Endekennzeichen und das Referenzkennzeichen ohne die Notwendigkeit einer Aktualisierung des Fehlerkorrekturcodes für verteilte Verwaltungsinformation neu geschrieben werden.
  • Der Datenfehlerkorrekturcode ist ein Fehlerkorrekturcode zum Korrigieren von Daten, die auf einen Datenbereich einer Seite geschrieben sind, in welcher der Datenfehlerkorrekturcode gespeichert ist.
  • Der Fehlerkorrekturcode für verteilte Verwaltungsinformation und der Datenfehlerkorrekturcode werden von der in der Speicherkarte 2 enthaltende Fehlerkorrekturschaltung 16 verwendet. Deshalb hängt die den Fehlerkorrekturcode verwendende Fehlerkorrektur nicht von der Datenverarbeitungsvorrichtung 1 ab, und es kann ein von der Speicherkarte 2 abhängiges beliebiges Verfahren verwendet werden.
  • Zusätzliche Verwaltungsinformation ist eine im 16-Byte- Redundanzbereich auf der letzten Seite des Blocks gespeicherte Information, die zusätzliche Information enthält, welche nicht nur durch verteilte Verwaltungsinformation verwaltet werden kann.
  • Insbesondere besteht die zusätzliche Verwaltungsinformation wie in Fig. 6 gezeigt aus einem 1-Byte- Erlaubnis/Sperrung-Kennzeichen, einem 1-Byte-Blockkennzeichen, einem 4-Bit-Endekennzeichen, einem 4-Bit-Referenzkennzeichen, einer 1-Byte-Identifikationszahl, einer 2-Byte- Effektivdatengröße, einem 5-Byte-Reservebereich, einem 2- Byte-Zusatzverwaltungsinformations-Fehlerkorrekturcode und einem 3-Byte-Datenfehlerkorrekturcode.
  • Das Erlaubnis/Sperrung-Kennzeichen, das Blockkennzeichen, das Endekennzeichen, der Reservebereich und der Datenfehlerkorrekturcode sind ähnlich wie die der verteilten Verwaltungsinformation angeordnet. Der Zusatzverwaltungsinformations-Fehlerkorrekturcode korrespondiert mit dem Verteiltverxwaltungsinformations-Fehlerkorrekturcode für verteilte Verwaltungsinformation. Der Zusatzverwaltungsinformations- Fehlerkorrekturcode ist ein Fehlerkorrekturcode zum Korrigieren der Identifikationszahl, der effektiven Größe und des Reservebereichs zwischen zusätzlicher Verwaltungsinformation.
  • Die Identifikationszahl und die effektive Datengröße sind in zusätzlicher Verwaltungsinformation als zusätzliche Information enthalten, die nicht nur durch verteilte Verwaltungsinformation verwaltet werden kann.
  • Die Identifikationszahl ist eine Information zum Ausführen eines Fehlerbehebungsprozesses, wobei der Wert der Identifikationszahl immer wenn Daten neu in den Block geschrieben werden erhöht wird. Wird ein Fehler gemacht und folglich mehrere Blöcke, welche die gleiche logische Adresse aufweisen, existieren, wird die Identifikationszahl zum Feststellen benutzt, ob auf den Block geschriebene Daten neu oder alt sind. Von der Identifikationszahl wird ein 1-Byte-Bereich benutzt und der Wert der Identifikationszahl beträgt "0" bis "255". Der Anfangswert der Identifikationszahl ist "0". Wird die Identifikationszahl größer als "255" gemacht, wird der Wert auf "0" zurückgebracht. Existieren mehrere Datenblöcke, welche die gleiche logische Adresse aufweisen, wird der Datenblock, der die Identifikationszahl mit dem kleineren Wert aufweist, zu einem effektiven gemacht. Existieren wie später beschrieben mehrere Urladeblöcke mit der gleichen logischen Adresse, wird der Urladeblock, der Identifikationszahl mit der größeren Zahl aufweist, zu einem effektiven gemacht.
  • Die effektive Datengröße ist die Menge bzw. Größe der effektiven Daten im Block. Das heißt, wenn der Datenbereich des Blocks einen Leerabschnitt aufweist, wird ein die Größe von auf den Datenbereich geschriebenen Daten anzeigender Wert als die effektive Datengröße gesetzt. Zu diesem Zeitpunkt wird das Referenzkennzeichen in der verteilten Verwaltungsinformation auf "Referenzinformation existiert" gesetzt. Hat der Datenbereich des Blocks keinen Leerabschnitt, wird auf die effektive Datengröße "0xffff" als Wert gesetzt, der anzeigt, dass der Datenbereich keinen Leerabschnitt aufweist.
  • Die obige verteilte Verwaltungsinformation und zusätzliche Verwaltungsinformation werden immer wenn Daten im Block aktualisiert werden stets auf die neueste Information aktualisiert.
  • Kollektive Verwaltungsinformation ist durch Sammeln verteilter Verwaltungsinformation jedes der Blöcke erzeugte Information, wobei die kollektive Verwaltungsinformation im Flash-Speicher 12 als eine Datei gespeichert wird. Das heißt eine Datei kollektiver Verwaltungsinformation, die Information zum kollektiven Verwalten aller Blöcke ist, wird, wie in Fig. 7 gezeigt, von verteilter Verwaltungsinformation jedes Blocks erzeugt. Kollektive Verwaltungsinformation wird in einem Datenbereich eines vorbestimmten Blocks gespeichert. Es sei darauf hingewiesen, dass kollektive Verwaltungsinformation in einem einzelnen Block oder in mehreren Blöcken gespeichert werden kann. Die Datenverarbeitungsvorrichtung 1 erhält üblicherweise Information, die zum Durchführen eines Zugriffs auf jeden Block entsprechend kollektiver Verwaltungsinformation erforderlich ist.
  • Beim Urladen der Speicherkarte 2 werden von der Datenverarbeitungsvorrichtung 1 anfangs Urladedaten vom Urladeblock gelesen. Urladedaten enthalten eine absolute bzw. physikalische Adresse des Blocks, der instruiert worden ist und in welchem kollektive Verwaltungsinformation gespeichert ist. Deshalb liest die Datenverarbeitungsvorrichtung 1 kollektive Verwaltungsinformation, die in dem mit der physikalischen Adresse korrespondierenden Block gespeichert ist, um im internen Speicher 4 kollektive Verwaltungsinformation zu entwickeln. Die Datenverarbeitungsvorrichtung 1 führt entsprechend der kollektiven Verwaltungsinformation einen Zugriff auf die Speicherkarte 2 aus. Kann kollektive Verwaltungsinformation nicht normal aus dem Flash-Speicher 12 gelesen werden, liest die Datenverarbeitungsvorrichtung 1 verteilte Verwaltungsinformation aller Blöcke zum Wiederherstellen kollektiver Verwaltungsinformation, um kollektive Verwaltungsinformation zu verwenden.
  • Immer wenn Daten neu geschrieben werden, aktualisiert die Datenverarbeitungsvorrichtung 1 im internen Speicher 4 entwickelte kollektive Verwaltungsinformation nötigenfalls derart, dass kollektive Verwaltungsinformation mit dem tatsächlichen Zustand des Flash-Speichers 12 verträglich bzw. konsistent ist (das heißt, die kollektive Verwaltungsinformation ist mit den Inhalten der verteilten Verwaltungsinformation konsistent). Andererseits wird immer wenn ein Neuschreiben von Daten oder dgl. ausgeführt wird im Flash-Speicher 12 als Datei gespeicherte kollektive Verwaltungsinformation nicht aktualisiert. Die Inhalte kollektiver Verwaltungsinformation werden mit geeigneter Zeitsteuerung bzw. geeignetem Timing kollektiv aktualisiert. Das geeignete Timing ist beispielsweise ein Zeitmoment vor einer Unterbrechung der Energiezufuhr, ein Zeitmoment, bei dem auf die Speicherkarte 2 für eine Zeitperiode, die länger als eine vorbestimmte Zeit ist, kein Zugriff ausgeführt wird oder ein Moment, bei dem ein Neuschreiben von Daten nicht weniger als eine vorbestimmte Zahl mal ausgeführt wird.
  • Generell hat die für den Flash-Speicher 12 erlaubte Zahl, die angibt, wie oft mal Daten neu geschrieben werden, eine obere Grenze. Wird das Wiedereinschreiben bzw. Neuschreiben von im Flash-Speicher 12 als Datei gespeicherter kollektiver Verwaltungsinformation etwas kollektiv ausgeführt, kann die Zahl der Neuschreibmale des Blocks, in welchem die kollektive Verwaltungsinformation gespeichert worden ist, reduziert werden. Infolgedessen kann die Lebensdauer der Speicherkarte 2 verlängert werden.
  • Es wird nun der Prozess des Urladeblocks beschrieben, der ein wesentlicher Teil der vorliegenden Erfindung ist.
  • Urladedaten sind Daten, die von der Datenverarbeitungsvorrichtung 1 zuerst gelesen werden, wenn die Speicherkarte 2 urgeladen worden ist. Urladedaten enthalten Information, die zum Ausführen eines Zugriffs auf die Speicherkarte 2 erforderlich ist. Deshalb kann, wenn im Urladeblock, in welchem Urladedaten gespeichert worden sind, ein Fehler gemacht und wird folglich Urladedaten nicht normal gelesen werden können, der Zugriff auf die Speicherkarte 2 nicht ausgeführt werden. Infolgedessen muss der Urladeblock eine hinreichende Zuverlässigkeit aufweisen.
  • Demgemäss weist die Speicherkarte 2 gemäss der vorliegenden Erfindung eine Struktur derart auf, dass Urladedaten immer in zwei effektiven Blöcken am voreilenden Ende des Flash-Speichers 12 gespeichert sind. Es sei darauf hingewiesen, dass die "effektiven Blöcke" Blöcke in einem benutzungserlaubten Zustand sind. Das heißt, die "effektiven Blöcke" sind Blöcke, bei denen das Erlaubnis/Sperrung-Kennzeichen auf "Benutzung erlaubt" gesetzt ist. Das heißt, sind Urladedaten im Block gespeichert, werden ineffektive Blöcke (das heißt Blöcke, bei denen das Erlaubnis/Sperrung-Kennzeichen jeweils auf "Benutzung gesperrt" gesetzt ist) nicht benutzt und übersprungen. Infolgedessen sind Urladedaten in den effektiven Blöcken gespeichert, so dass Urladeblöcke erzeugt werden.
  • Wie oben beschrieben weist die Speicherkarte 2 gemäss der vorliegenden Erfindung die Struktur auf, dass ein fixierter und spezifischer Block nicht zu einem Urladeblock gemacht wird. Wird ein ineffektiver Block gemacht, wird der Block zum Speichern von Urladedaten geändert. Infolgedessen werden Urladedaten immer in zwei effektiven Blöcken gespeichert. Das heißt, selbst wenn im voreilenden Endblock ein Fehler gemacht ist, werden Urladedaten immer in zwei effektiven Blöcken doppelt gespeichert. Deshalb kann die Zuverlässigkeit der Speicherkarte 2 gemäss der vorliegenden Erfindung signifikant verbessert werden.
  • Außerdem weist die Speicherkarte 2 gemäss der vorliegenden Erfindung eine Struktur auf, bei der die in der zusätzlichen Verwaltungsinformation enthaltene Identifikationszahl unter dem Fall eines Datenblocks und dem Fall eines Urladeblocks verschieden verwendet wird.
  • Im Fall des Datenblocks werden, wenn mehrere die gleiche logische Adresse aufweisende Blöcke existieren, in den Blöcken gespeicherte neue oder alte Daten durch Verwendung der Identifikationszahl identifiziert. Der Grund, warum mehrere die gleiche logische Adresse aufweisende Datenblöcke existieren, liegt darin, dass beim Aktualisieren des Datenblocks ein Fehler gemacht wird. Zu diesem Zeitpunkt sind Daten, die in dem Datenblock mit der Identifikationszahl, deren Zahl kleiner ist, gespeichert sind, Daten vor einer Aktualisierung. Wenn deshalb mehrere die gleiche logische Adresse aufweisende Datenblöcke existieren, wird der Datenblock mit der Identifikationszahl, deren Zahl kleiner ist, gewählt, so dass ein Zustand bevor Daten aktualisiert werden wieder hergestellt wird. Infolgedessen werden im vorstehenden Datenblock gespeicherte Daten als effektive Daten verwendet.
  • Die Identifikationszahl des Datenblocks ist anfangs gleich "0", wenn eine logische Adresse dem Datenblock neu zugeordnet wird. Die Identifikationszahl wird um eins erhöht, wenn der Datenblock aktualisiert wird. Wie oben beschrieben wird die Identifikationszahl auf "0" zurückgebracht, wenn die Identifikationszahl "255" überschreitet.
  • Im Fall des Urladeblocks wird die Identifikationszahl wie oben beschrieben zum Identifizieren von in zwei effektiven Blöcken am voreilenden Ende des Flash-Speichers 12 gespeicherten neuen oder alten Urladedaten verwendet. Urladedaten sind zum Durchführen eines Zugriffs auf die Speicherkarte 2 erforderliche Information. Deshalb muss die neueste Information verwendet werden. Sind die Identifikationszahlen der zwei Urladeblöcke voneinander verschieden, ist beim Aktualisieren des Urladeblocks gewöhnlich ein Fehler gemacht. In dem eine Identifikationszahl, deren Wert groß ist, aufweisenden Urladeblock gespeicherte Urladedaten sind Urladedaten, die neuere Information enthalten. Haben zwei Urladeblöcke verschiedene Identifikationszahlen, wird der die Identifikationszahl, deren Wert größer ist, aufweisende Urladeblock gewählt, so dass im vorstehenden Urladeblock gespeicherte Daten als Urladedaten verwendet werden.
  • Die Speicherkarte 2 wird bei ihrer ersten Benutzung formatiert. Wird die Formatierungsoperation ausgeführt, wird die Identifikationszahl des Urladeblocks anfangs auf "0" gesetzt. Die Identifikationszahl wird um eins erhöht, wenn im Urladeblock gespeicherte Urladedaten aktualisiert werden. Auch in dem Fall des Urladeblocks, wird ähnlich zum Datenblock die Identifikationszahl auf "0" zurückgebracht, wenn die Identifikationszahl "255" überschreitet.
  • Es wird nun eine Prozedur zum Bilden der zwei effektiven. Blöcke am voreilenden Ende des Flash-Speichers 12 so, dass sie Urladeblöcke sind, und Verwalten eines neuen oder alten Urladeblocks durch Verwendung der Identifikationszahl beschrieben.
  • 1) Prozedur des Formatierungsprozesses
  • Wie oben beschrieben wird die Speicherkarte 2 gemäss der vorliegenden Erfindung bei anfänglicher Benutzung formatiert. Beim Ausführen des Formatierungsprozesses wird der Urladeblock erzeugt. Deshalb wird nun eine Prozedur zur Erzeugung des Urladeblocks bei Ausführung des Formatierungsprozesses beschrieben.
  • Beim Ausführen des Formatierungsprozesses liest die Datenverarbeitungsvorrichtung 1 anfangs Information, die im Konfigurations-ROM 18 der Speicherkarte 2 gespeichert ist. Entsprechend dem lesen von Information usw. erzeugt die Datenverarbeitungsvorrichtung 1 Daten (das heißt Urladedaten), die im Urladeblock gespeichert sind. Um zu bewirken, dass gelesene Daten als Urladedaten erkannt werden, ist in Daten, die im Urladeblock gespeichert werden müssen, Information (nachfolgend als "Urlade-Identifizierer" bezeichnet), die anzeigt, dass gelesene Daten Urladedaten sind, enthalten.
  • Dann werden auf jeden der zwei am voreilenden Ende befindlichen Blöcke des Flash-Speichers 12 (das heißt in einen Block, der den kleinsten physikalischen Adressenwert aufweist und einen Block, der einen zweiten physikalischen Adressenwert aufweist) erzeugte Urladedaten geschrieben, so dass ein Urladeblock und ein Reserveblock erzeugt werden. Zu diesem Zeitpunkt wird die Identifikationszahl einer zusätzlichen Verwaltungsinformation des Blocks, auf dem obige Urladedaten geschrieben sind, auf "0" gesetzt. Wird der Prozess ohne jeden Fehler beendet, ist der Prozess zur Erzeugung des Urladeblocks vollendet.
  • Insbesondere wird der Prozess des Schreibens von Urladedaten so ausgeführt, dass der betreffende Block anfangs dem Löschprozess unterworfen wird. Dann werden Urladedaten auf den vorstehenden Block geschrieben. Kann der betreffende Block dem Löschprozess nicht normal unterworfen werden oder können Urladedaten nicht normal auf den dem Löschprozess unterworfenen Block geschrieben werden, wird das Erlaubnis/Sperrung-Kennzeichen des vorstehenden Blocks auf "Benutzung gesperrt" gesetzt. Infolgedessen wird die Benutzung des vorstehenden Blocks gesperrt. Kann das Erlaubnis/Sperrung- Kennzeichen nicht auf "Benutzung gesperrt" gesetzt werden, wird der Prozess des Setzens des Erlaubnis/Sperrung- Kennzeichens auf "Benutzung gesperrt" noch mehrere Male versucht. Kann das Setzen auch nach den mehrere Male versuchten Prozessen nicht ausgeführt werden, stellt die Datenverarbeitungsvorrichtung 1 fest, dass die Media abnorm sind. Infolgedessen nimmt die Datenverarbeitungsvorrichtung 1 die Speicherkarte 2 nicht an.
  • Wird in dem als Urladeblock versuchten Block ein Fehler gemacht, versucht die Speicherkarte 2 gemäß der vorliegenden Erfindung ähnlich Urladedaten auf einen Block zu schreiben, der verwendet werden kann. Die Speicherkarte 2 setzt den vorstehenden Prozess fort, bis zwei normale Urladeblöcke mit dem gleichen Inhalt erzeugt sind. Dies hat zur Folge, dass Urladedaten fit dem gleichen Inhalt jeweils in den zwei voreilenden Endblöcken des Flash-Speichers 12 gespeichert sind. So werden die zwei effektiven Blöcke am voreilenden Ende zu einem Urladeblock und einem Reserve-Urladeblock gemacht.
  • Der Prozess zum Schreiben von Urladedaten wird unterbrochen, wenn die physikalische Adresse des betreffenden Blocks auch in dem Fall, dass nicht zwei Urladeblöcke mit dem gleichen Inhalt erzeugt worden sind, einen vorbestimmten Wert M erreicht. Der vorbestimmte Wert M ist ein an die Charakteristiken des Flash-Speichers 12 und dgl. anzupassender Wert. Hat die physikalische Adresse des betreffenden Blocks den vorbestimmten Wert M erreicht, wird der Prozess zur Erzeugung des Urladeblocks unterbrochen, selbst wenn nur ein einzelner Urladeblock erzeugt worden ist. Auch wenn die physikalische Adresse des betreffenden Blocks den vorbestimmten Wert M erreicht hat und wenn kein Urladeblock erzeugt ist, wird festgestellt, dass die Media abnorm sind. Infolgedessen nimmt die Datenverarbeitungsvorrichtung 1 die Speicherkarte 2 nicht an.
  • Generell besteht beim Flash-Speicher 12 eine hohe Wahrscheinlichkeit, dass in einem dem Neuschreibprozess viele Male unterworfenen Block ein Fehler gemacht wird. Wird ein Fehler gemacht, besteht die Vermutung, dass später Fehler gemacht werden. Deshalb wird der Block, der als ein Urladeblock verwendet worden ist und dessen Verwendung wegen eines Fehlers gesperrt worden ist, nicht wieder benutzt, selbst wenn der Fehler ein vorübergehender Fehler ist. Da die oben erwähnte Regel verwendet wird, werden Urladedaten, die eine sehr wichtige Information sind, in einem Block gespeichert, der eine weitere hinreichende Zuverlässigkeit aufweist. So kann die Zuverlässigkeit des Urladeblocks verbessert werden. Es sei darauf hingewiesen, dass die oben erwähnte Regel nur auf einen Bereich vom Block am voreilenden Ende zum zweiten Urladeblock oder bei Nichtexistenz des zweiten Urladeblock nur auf einen Bereich bis zu einem Block mit der den oben erwähnten vorbestimmten Wert M erreichenden physikalischen Adresse angewendet wird. Das heißt, die oben erwähnte Regel wird nur auf Urladeblöcke angewendet, die eine hinreichende Zuverlässigkeit haben müssen, und eine Anwendung derselben wird für die folgenden Blöcke (das heißt die Datenblöcke) gesperrt. Dies hat zur Folge, dass der Speicherbereich noch effektiver benutzt werden kann.
  • 2) Prozedur zur Aktualisierung eines Urladeblocks
  • Urladedaten sind nicht immer die gleichen Daten. Bei Verwendung der Speicherkarte 2 müssen die Inhalte von Urladedaten geändert werden. Deshalb wird der Urladeblock, um wieder Urladedaten einzuschreiben, manchmal aktualisiert. Der Prozess zum Neuschreiben von Urladedaten wird entsprechend der folgenden Regel ausgeführt.
  • Werden Urladedaten neu geschrieben, muss der Inhalt kollektiver Verwaltungsinformation geändert werden. Deshalb wird im Flash-Speicher 12 als Datei gespeicherte kollektive Verwaltungsinformation ineffektiv gemacht, bevor Urladedaten neu geschrieben werden. Beim nächsten Benutzen kollektiver Verwaltungsinformation wird eine Wiederherstellung von verteilter Verwaltungsinformation ausgeführt.
  • Beim Neuschreiben der Inhalte von Urladedaten wird der Urladeblock, in welchem Urladedaten gespeichert sind, dem Löschprozess unterworfen, wodurch neue Urladedaten auf den vorstehenden Block geschrieben werden. Das heißt, beim Neuschreiben von Urladedaten werden die Inhalte des gleichen Blocks ohne Verwendung eines anderen Blocks aktualisiert. Wird beim Ausführen des Prozesses zur Aktualisierung des Urladeblocks ein Fehler gemacht, und ist die Verwendung des vorstehenden Blocks gesperrt, wird der vorstehende Prozess nicht ausgeführt.
  • Beim Ausführen des Prozesses zum Neuschreiben neuer Urladedaten wird der eine der zwei erzeugten Urladeblöcke, der eine kleinere physikalische Adresse aufweist, dem Prozess unterworfen. Zu diesem Zeitpunkt wird die Identifikationszahl des die aktualisierten Inhalte aufweisenden Urladeblocks um eins erhöht. Ist der Wert der Identifikationszahl vor der Neuschreiboperation gleich "255", wird der Wert zu "0" gemacht.
  • Wird der Reserve-Urladeblock (das heißt der Urladeblock, der die größere physikalische Adresse aufweist) aktualisiert und ist infolgedessen der Prozess zum Neuschreiben von Urladedaten als neue Urladedaten, um die Inhalte gleich denen des anderen Urladeblocks zu machen, ausgeführt worden, wird die Identifikationszahl des Reserve-Urladeblocks gleich dem Wert der Identifikationszahl des anderen Urladeblocks gemacht.
  • Es sei nun unter Bezugnahme auf die Fig. 8 eine Prozedur zur Aktualisierung des Urladeblocks entsprechend der oben erwähnten Regel beschrieben.
  • Bei dem in Fig. 8 gezeigten Beispiel ist ein Block mit der physikalischen Adresse "1" ein üblicherweise benutzter Urladeblock (nachfolgend als "erster Urladeblock" bezeichnet), und ein die physikalische Adresse "2" aufweisender Block ist der Reserve-Urladeblock (nachfolgend als "zweiter Urladeblock" bezeichnet). Bei dem in Fig. 8 gezeigten Beispiel ist ein Zustand, bei dem Urladedaten normal geschrieben worden sind und Urladedaten gelesen werden körnen, als "OK" bezeichnet. Ein Zustand, beidem Urladedaten nicht gelesen werden können, da beispielsweise der Prozess zum Neuschreiben von Urladedaten ausgeführt wird, ist mit "NG" bezeichnet.
  • Fig. 8A zeigt einen normalen Zustand vor Ausführung des Prozesses zum Neuschreiben der Urladedaten. Zu diesem Zeitpunkt haben die Identifikationszahl des ersten Urladeblocks und die des zweiten Urladeblocks den gleichen Wert. Insbesondere ist bei dem in Fig. 8 gezeigten Beispiel die Identifikationszahl des ersten Urladeblocks gleich "10", und ebenso ist die Identifikationszahl des zweiten Urladeblocks gleich "10".
  • Beim Aktualisieren des Urladeblocks wird der Urladeblock mit der kleineren physikalischen Adresse, das heißt der erste Urladeblock, wie in Fig. 8B gezeigt, dem Prozess des Neuschreibens von Urladedaten unterworfen. Da der erste Urladeblock sich im Prozess zum Neuschreiben von Urladedaten befindet, ist der erste Urladeblock in den "NG"-Zustand gebracht, in welchem der erste Urladeblock nicht als Urladeblock verwendet werden kann.
  • Wird die Speicherkarte 2 von der Datenverarbeitungsvorrichtung 1 zwangsweise entfernt oder wird der Prozess im oben erwähnten Zustand unterbrochen, kann beim Ausführen eines erneuten Startens der erste Urladeblock nicht als Urladeblock verwendet werden. Im vorstehenden Fall werden im zweiten Urladeblock, welcher der Reserve-Urladeblock ist, gespeicherte Urladedaten gelesen, so dass die Speicherkarte 2 urgeladen wird. Im vorstehenden Fall wird der erste Urladeblock entsprechend den vom zweiten Urladeblock gelesenen Urladedaten wiederhergestellt.
  • Ist der erste Urladeblock aktualisiert worden, wird die Identifikationszahl des ersten Urladeblocks, wie in Fig. 8C gezeigt, um eins erhöht. Bei dieser Ausführungsform wird der Wert der Identifikationszahl zu "11" gemacht. Im vorstehenden Zustand werden im ersten Urladeblock neue Urladedaten gespeichert und alte Urladedaten im zweiten Urladeblock gespeichert.
  • Wird im vorstehenden Fall der Prozess unterbrochen, weil beispielsweise die Speicherkarte 2 zwangsweise von der Datenverarbeitungsvorrichtung 1 entfernt wird, werden beim Ausführen eines Neustarts im ersten Urladeblock gespeicherte Urladedaten (das heißt in dem Urladeblock mit der größeren Identifikationszahl gespeicherte Urladedaten) gelesen. Infolgedessen wird die Speicherkarte 2 urgeladen. Zu diesem Zeitpunkt werden in dem Urladeblock mit der den kleineren Wert aufweisenden Identifikationszahl (das heißt dem zweiten Urladeblock) gespeicherte Urladedaten entsprechend den im Urladeblock mit der den größeren Wert aufweisenden Identifikationszahl (das heißt dem ersten Urladeblock) gespeicherten Urladedaten aktualisiert.
  • Ist der Prozess des Aktualisierens des ersten Urladeblocks vollendet, wird, wie in Fig. 8D gezeigt, der Urladeblock, der die größere physikalische Adresse aufweist, das heißt der zweite Urladeblock, aktualisiert. Zu diesem Zeitpunkt wird der zweite Urladeblock in den "NG"-Zustand gebracht, in welchem er nicht als der Urladeblock verwendet werden kann, da Urladedaten neu geschrieben werden.
  • Wird zu diesem Zeitpunkt der Prozess unterbrochen, beispielsweise weil die Speicherkarte 2 zwangsweise aus der Datenverarbeitungsvorrichtung 1 entfernt wird, werden Urladedaten im ersten Urladeblock verwendet, so dass der Neustart zum Urladen der Speicherkarte 2 ausgeführt wird. Es wird jedoch ein Zustand realisiert, bei dem kein Reserve-Urladeblock existiert. Deshalb wird zu diesem Zeitpunkt der zweite Urladeblock, welcher der Reserve-Urladeblock ist, entsprechend Urladedaten, die aus dem ersten Urladeblock gelesen werden, wiederhergestellt.
  • Ist der zweite Urladeblock aktualisiert, wird, wie in Fig. 8E gezeigt, die Identifikationszahl des zweiten Urladeblocks um eins erhöht. Bei dieser Ausführungsform wird der Wert der Identifikationszahl zu "11" gemacht. Dies hat zur Folge, dass die Identifikationszahl des ersten Urladeblocks und die des zweiten Urladeblocks den gleichen Wert haben. Als Folge des oben erwähnten Prozesses sind sowohl der erste als auch zweite Urladeblock in den Zustand gebracht, in welchem ein neuer Urladeblock gespeichert worden ist.
  • 3) Prozedur des Lesens eines Urladeblocks beim Urladen der Speicherkarte
  • Im Urladeblock gespeicherte Urladedaten werden von der Datenverarbeitungsvorrichtung 1 zuerst gelesen, wenn die Speicherkarte 2 mit der Datenverarbeitungsvorrichtung 1 verbunden ist und dieselbe urgeladen worden ist. Es wird nun eine Prozedur zum Lesen des Urladeblocks durch die Datenverarbeitungsvorrichtung 1, wenn die Speicherkarte urgeladen ist, beschrieben.
  • In einem normalen Zustand existieren zwei Urladeblöcke, welche die gleiche Identifikationszahl und die gleichen Inhalte aufweisen. Deshalb wird immer ein Prozess zur Feststellung bzw. Bestätigung der oben erwähnten Tatsache ausgeführt, wenn die Speicherkarte urgeladen ist. Insbesondere wird startend beim Block am voreilenden Ende in sequentieller Ordnung der folgende Prozess ausgeführt, um den Urladeblock zu prüfen.
  • - Es wird festgestellt, ob verteilte Verwaltungsinformation der Seite am voreilenden Ende normal gelesen werden kann oder nicht.
  • - Es wird festgestellt, ob das Erlaubnis/Sperrung- Kennzeichen auf "Benutzung erlaubt" gebracht ist oder nicht.
  • - Es wird festgestellt, ob das Blockkennzeichen auf "Benutzung am voreilenden Ende" gebracht ist oder nicht.
  • - Es wird der Urlade-Identifizierer detektiert, um festzustellen ob gespeicherte Daten Urladedaten sind oder nicht.
  • - Es wird festgestellt, ob auf der letzten Seite gespeicherte zusätzliche Verwaltungsinformation normal gelesen werden kann oder nicht.
  • - Es wird die Identifikationszahl gelesen. Im Fall des ersten Urladeblocks wird der Wert der Identifikationszahl des ersten Urladeblocks gespeichert. Im Fall des zweiten Urladeblocks wird festgestellt, ob die Identifikationszahl des zweiten Urladeblocks mit der des ersten Urladeblocks koinzidiert oder nicht.
  • - Es werden Daten im Urladeblock gelesen. Im Fall des ersten Urladeblocks werden gelesene Daten gespeichert. Im Fall des zweiten Urladeblocks wird festgestellt, ob gelesene Daten und gespeicherte Daten des ersten Urladeblocks miteinander koinzidieren oder nicht.
  • Der oben erwähnte Prozess wird so ausgeführt, dass der Prozess beim Block am voreilenden Ende startet. Werden zwei die gleiche Identifikationszahl und die gleichen Inhalte aufweisende Urladeblöcke festgestellt, wird die Operation des Lesens der Urladeblöcke beendet. Wie oben beschrieben werden beim Urladen der Speicherkarte 2 zwei Urladeblöcke festgestellt, so dass die Zuverlässigkeit der Speicherkarte 2 signifikant verbessert ist.
  • Existiert nur ein einziger Urladeblock, nachdem die Prüfung fortgesetzt worden ist, bis die physikalische Adresse den vorbestimmten Wert M erreicht, werden im Urladeblock gespeicherte Urladedaten zum Urladen der Speicherkarte 2 benutzt. Existiert zwischen dem Block am voreilenden Ende bis zum M-ten Block ein benutzbarer Block, werden Urladedaten auf den benutzbaren Block geschrieben. So wird ein neuer Reserve- Urladeblock erzeugt. Existiert vom Block am voreilenden Ende bis zum M-ten Block kein benutzbarer Block, wird die Speicherkarte 2 in dem Zustand betrieben, bei dem nur ein Urladeblock existiert. Existiert nach Fortsetzung der Prüfung bis zum M-ten Block kein Urladeblock, stellt die Datenverarbeitungsvorrichtung 1 fest, dass die Media abnorm sind. Infolgedessen nimmt die Datenverarbeitungsvorrichtung 1 die Speicherkarte 2 nicht an.
  • Sind die Identifikationszahlen auch in einem Zustand, in welchem Urladedaten normal auf die zwei Blöcke geschrieben sind, voneinander verschieden, wird der die große Identifikationszahl aufweisende Block als der gültige Urladeblock gewählt. Beim Urladen der Speicherkarte 2 werden die in dem die größere Identifikationszahl aufweisenden Block gespeicherten Urladedaten benutzt. Ist die Identifikationszahl eines der zwei Blöcke gleich "255" und die des anderen. Blocks gleich "0" wird der die Identifikationszahl "0" aufweisende Block als gültiger Block gewählt. Infolgedessen werden die Urladedaten im gültigen Urladeblock benutzt. Sind Urladedaten auf nur einen Block normal geschrieben, wird der vorstehende Block als der Urladeblock verwendet.
  • Es wird nun unter Bezugnahme auf das in den Fig. 9 bis 12 gezeigte Flussdiagramm eine weitere detaillierte Prozedur zum Lesen des Urladeblocks, wenn die Speicherkarte urgeladen wird, beschrieben. Bei diesem Ausführungsbeispiel sind die Variablen I, WB, IDA und IDB verwendet. In die Variablen I und WB ist jeweils die physikalische Adresse eingegeben, während in die Variablen IDA und IDB jeweils der Wert der Identifikationszahl eingegeben ist.
  • Wird die Speicherkarte urgeladen, wird beim Schritt S1 "0" in die Variable I eingegeben. Außerdem wird in jede der Variablen IDA und IDB "0" eingegeben. Dann geht die Operation zum Schritt S2 vor.
  • Beim Schritt S2 wird der zu verarbeitende Block zu einem Block gemacht, der die durch die Variable I angezeigte physikalische Adresse aufweist. Dann geht die Operation zum Schritt S3 vor.
  • Beim Schritt S3 wird festgestellt, ob die verteilte Verwaltungsinformation aus dem Block gelesen werden kann oder nicht. Kann die verteilte Verwaltungsinformation gelesen werden, geht die Operation zum Schritt S4 vor. Kann die verteilte Verwaltungsinformation nicht gelesen werden, geht die Operation zum Schritt S25 vor.
  • Beim Schritt S4 wird festgestellt, ob das Erlaubnis/Sperrung-Kennzeichen des zu verarbeitenden Blocks in den Zustand "Benutzung erlaubt" gebracht ist oder nicht. Ist der Zustand der Zustand "Benutzung erlaubt" geht die Operation zum Schritt S5 vor. Ist der Zustand nicht der Zustand "Benutzung erlaubt", geht die Operation zum Schritt S22 vor.
  • Beim Schritt S5 wird festgestellt, ob das Blockkennzeichen des zu verarbeitenden Blocks "Benutzung am voreilenden Ende" ist oder nicht. Ist der Zustand der Zustand "Benutzung am voreilenden Ende", geht die Operation zum Schritt S6 vor.
  • Ist der Zustand nicht der Zustand "Benutzung am voreilenden Ende", geht die Operation zum Schritt S24 vor.
  • Beim Schritt S6 wird festgestellt, ob bei im Block zu speichernden Daten ein Urlade-Identifizierer vorgesehen ist oder nicht. Das heißt es wird festgestellt, ob obige Daten Urladedaten sind oder nicht. Sind obige Daten Urladedaten, geht die Operation zum Schritt S7 vor. Sind obige Daten nicht Urladedaten, geht die Operation zum Schritt S28 vor.
  • Beim Schritt S7 wird festgestellt, ob von dem zu verarbeitenden Block zusätzliche Verwaltungsinformation gelesen werden kann oder nicht. Kann zusätzliche Verwaltungsinformation gelesen werden, geht die Operation zum Schritt S8 vor. Kann zusätzliche Verwaltungsinformation nicht gelesen werden, geht die Operation zum Schritt S25 vor.
  • Beim Schritt S8 wird der Wert der Identifikationszahl des zu verarbeitenden Blocks in die Variable IDA eingesetzt. Dann geht die Operation zum Schritt S9 vor.
  • Beim Schritt S9 wird festgestellt, ob von dem zu verarbeitenden Block Urladedaten gelesen werden können oder nicht. Können Urladedaten gelesen werden, geht die Operation zum Schritt S20 vor. Können Urladedaten nicht gelesen werden, geht die Operation zum Schritt S25 vor.
  • Beim Schritt S10 werden von dem zu verarbeitenden Block Urladedaten gelesen, um gelesene Urladedaten zu speichern. Dann geht die Operation zum Schritt S22 vor.
  • Beim Schritt S11 wird der Wert der Variablen I in die Variable WB eingesetzt, und der Wert der Variablen ID wird um eins erhöht. Dann geht die Operation, wie in Fig. 10 gezeigt, zum Schritt S12 vor.
  • Beim Schritt S12 wird der zu verarbeitende Block zu dem Block gemacht, der die durch die Variable I angezeigte physikalische Adresse aufweist. Dann geht die Operation zum Schritt S13 vor.
  • Beim Schritt S13 wird festgestellt, ob von dem zu verarbeitenden Block verteilte Verwaltungsinformation gelesen werden kann oder nicht. Kann verteilte Verwaltungsinformation gelesen werden, geht die Operation zum Schritt S24 vor. Kann verteilte Verwaltungsinformation nicht gelesen werden, geht die Operation zum Schritt S32 vor.
  • Beim Schritt S14 wird festgestellt, ob das Erlaubnis/Sperrung-Kennzeichen des zu verarbeitenden Blocks im Zustand "Benutzung erlaubt" ist oder nicht. Ist der Zustand der Zustand "Benutzung erlaubt", geht die Operation zum Schritt S15 vor. Ist der Zustand nicht der Zustand "Benutzung erlaubt", geht die Operation zum Schritt S29 vor.
  • Beim Schritt S15 wird festgestellt, ob das Blockkennzeichen des zu verarbeitenden Blocks im Zustand "Benutzung am voreilenden Ende" ist oder nicht. Ist der Zustand der Zustand "Benutzung am voreilenden Ende", geht die Operation zum Schritt S16 vor. Ist der Zustand nicht der Zustand "Benutzung am voreilenden Ende", geht die Operation zum Schritt S31 vor.
  • Beim Schritt S16 wird festgestellt, ob für in dem zu verarbeitenden Block gespeicherte Daten ein Urlade-Identifizierer vorgesehen ist oder nicht. Das heißt, es wird festgestellt, ob obige Daten Urladedaten sind oder nicht. Sind obige Daten Urladedaten, geht die Operation zum Schritt S17 vor. Sind obige Daten nicht Urladedaten, geht die Operation zum Schritt S35 vor.
  • Beim Schritt S17 wird festgestellt, ob von dem zu verarbeitenden Block zusätzliche Verwaltungsinformation gelesen werden kann oder nicht. Kann zusätzliche Verwaltungsinformation gelesen werden, geht die Operation zum Schritt S18 vor. Kann zusätzliche Verwaltungsinformation nicht gelesen werden, geht die Operation zum Schritt S32 vor.
  • Beim Schritt S18 wird der Wert der Identifikationszahl des zu verarbeitenden Blocks in die Variable IDB eingesetzt. Dann geht die Operation zum Schritt S19 vor.
  • Beim Schritt S19 werden die Werte der Variablen IDA und IDB miteinander verglichen. Sind die Werte der Variablen IDA und IDB gleich, geht die Operation zum Schritt S20 vor. Sind die Werte der Variablen IDA und IDB nicht gleich, geht die Operation zum Schritt S32 vor.
  • Beim Schritt S20 wird festgestellt, ob von dem zu verarbeitenden Block Urladedaten gelesen werden können oder nicht.
  • Können Urladedaten gelesen werden, geht die Operation zum Schritt S21 vor. Können Urladedaten nicht gelesen werden, geht die Operation zum Schritt S32 vor.
  • Beim Schritt S21 werden von dem zu verarbeitenden Block Urladedaten gelesen. Dann wird festgestellt, ob gelesene Urladedaten und gelesene und gespeicherte Urladedaten miteinander koinzidieren oder nicht. Die Urladedatengegenstände koinzidieren miteinander, wenn das Lesen von Urladedaten aus den zwei Urladeblöcken normal ausgeführt worden ist. Deshalb wird hier der Prozess beendet. Koinzidieren Urladedatengegenstände nicht miteinander, geht die Operation zum Schritt S32 vor.
  • Ist das Erlaubnis/Sperrung-Kennzeichen bei dem in Fig. 9 gezeigten Schritt S4 nicht im Zustand "Benutzung erlaubt", geht die Operation wie oben beschrieben zum Schritt S22 vor.
  • Beim Schritt S22 werden der Wert der Variablen I und der vorbestimmte Wert M miteinander verglichen. Ist der Wert der Variablen I kleiner als der vorbestimmte Wert M, geht die Operation zum Schritt S23 vor. Beim Schritt S22 ist der Wert der Variablen I nicht kleiner als der vorbestimmte Wert M, wenn nach Ausführung einer Prüfung am M-ten Block keine Urladedaten erhalten werden können. In diesem Fall wird festgestellt, dass ein Fehler gemacht ist, und der Prozess wird beendet.
  • Beim Schritt S23 wird der Wert der Variablen I um 1 erhöht. Dann kehrt die Operation zum Schritt S2 zurück und der Prozess wird wiederholt.
  • Wird beim Schritt S5 das Blockkennzeichen nicht in den Zustand "Benutzung am voreilenden Ende" gebracht, geht, wie oben beschrieben, die Operation zum Schritt S24 vor. Beim Schritt S24 wird festgestellt, ob das vorstehende Blockkennzeichen in den Zustand "Nichtbenutzung" gebracht ist oder nicht. Ist der Zustand der Zustand "Nichtbenutzung" geht die Operation zu dem in Fig. 11 gezeigten Schritt S36 vor. Ist der Zustand der Zustand "Nichtbenutzung", geht die Operation zum Schritt S25 vor.
  • Beim Schritt S25 wird der zu verarbeitende Block dem Löschprozess unterworfen. Dann geht die Operation zum Schritt S26 vor.
  • Beim Schritt S26 wird festgestellt, ob der Löschprozess beim Schritt S25 normal beendet worden ist oder nicht. Ist der Löschprozess normal beendet worden, geht die Operation zu dem in Fig. 11 gezeigten Schritt S36 vor. Ist det Löschprozess nicht normal beendet worden, geht die Operation zum Schritt S27 vor.
  • Beim Schritt S27 wird das Erlaubnis/Sperrung-Kennzeichen des zu verarbeitenden Blocks in den Zustand "Benutzung gesperrt" gesetzt. Dann geht die Operation zum Schritt S22 vor, so dass der vorstehende Prozess ausgeführt wird.
  • Sind beim Schritt S6 Daten keine Urladedaten, geht die Operation wie oben beschrieben zum Schritt S28 vor.
  • Beim Schritt S28 wird der zu verarbeitende Block zu einem anderen Block verschoben. Dann geht die Verarbeitung zum Schritt S25 vor, so dass der vorstehende Prozess ausgeführt wird.
  • Kann beim Schritt S3 verteilte Verwaltungsinformation nicht gelesen werden, wenn beim Schritt S7 zusätzliche Verwaltungsinformation nicht gelesen werden kann oder wenn beim Schritt S9 Urladedaten nicht gelesen werden können, geht die Operation auch zum Schritt S25 vor, so dass der oben erwähnte Prozess ausgeführt wird.
  • Ist das Erlaubnis/Sperrung-Kennzeichen bei dem in Fig. 10 gezeigten Schritt S14 nicht in den Zustand "Benutzung erlaubt" gebracht, geht die Operation wie oben beschrieben zum Schritt S29 vor. Beim Schritt S29 werden der Wert der Variablen I und der vorbestimmte Wert M miteinander verglichen. Ist der Wert der Variablen I kleiner als der vorbestimmte Wert M, geht die Operation zum Schritt S30 vor. Beim Schritt S29 ist der Wert der Variablen I nicht kleiner als der vorbestimmte Wert M, wenn nach Ausführung einer Prüfung am M-ten Block zweite Urladedaten nicht erhalten werden können. In diesem Fall wird der Prozess des Lesens von Urladedaten unterbrochen. Gelesene und gespeicherte Urladedaten werden zum Urladen der Speicherkarte 2 verwendet.
  • Beim Schritt S30 wird der Wert der Variablen I um eins erhöht. Dann kehrt die Operation zum Schritt S12 zurück, so dass der Prozess wiederholt wird.
  • Ist beim Schritt S15 das Blockkennzeichen nicht im Zustand "Benutzung am voreilenden Ende", geht die Operation wie oben beschrieben zum Schritt S31 vor. Beim Schritt S31 wird festgestellt, ob das vorstehende Blockkennzeichen im Zustand "Nichtbenutzung" ist oder nicht. Ist der Zustand der Zustand "Nichtbenutzung", geht die Operation zu dem in Fig. 12 gezeigten Schritt S47 vor. Ist der Zustand nicht der Zustand "Nichtbenutzung", geht die Operation zum Schritt S32 vor.
  • Beim Schritt S32 wird der zu verarbeitende Block dem Löschprozess unterworfen. Dann geht die Operation zum Schritt S33 vor.
  • Beim Schritt S33 wird festgestellt, ob beim Schritt S32 der Löschprozess normal beendet worden ist oder nicht. Ist der Löschprozess normal beendet worden, geht die Operation zu dem in Fig. 12 gezeigten Schritt S47 vor. Ist der Löschprozess nicht normal beendet worden, geht die Operation zum Schritt S34 vor.
  • Beim Schritt S34 wird das Erlaubnis/Sperrung-Kennzeichen des zu verarbeitenden Blocks in den Zustand "Benutzung gesperrt" gesetzt. Dann geht die Operation zum Schritt S29 vor, so dass der vorstehende Prozess ausgeführt wird.
  • Sind beim Schritt S16 Daten nicht Urladedaten, geht die Operation wie oben beschrieben zum Schritt S35 vor. Beim Schritt S35 wird der zu verarbeitende Block zu einem anderen Block verschoben. Dann geht die Operation zum Schritt S32 vor, so dass der vorstehende Prozess ausgeführt wird.
  • Wenn beim Schritt S13 verteilte Verwaltungsinformation nicht gelesen werden kann, wenn beim Schritt S17 zusätzliche Verwaltungsinformation nicht gelesen werden kann, wenn beim Schritt S19 der Wert der Variablen IDA und der der Variablen IDB nicht miteinander koinzidieren, wenn beim Schritt S20 Urladedaten nicht gelesen werden können und/oder wenn beim Schritt S21 Urladedatengegenstände nicht miteinander koinzidieren, geht die Operation wie oben beschrieben zum Schritt S32 vor, so dass der vorstehende Prozess ausgeführt wird.
  • Wie in der Fig. 11 gezeigt wird beim Schritt S36 der Wert der Variablen I in die Variable WB eingesetzt. Außerdem wird der Wert der Variablen I erhöht. Dann geht die Operation zum Schritt S37 vor.
  • Beim Schritt S37 wird der zu verarbeitende Block zu dem Block gemacht, der die mit der Variablen I angezeigte physikalische Adresse aufweist. Dann geht die Operation zum Schritt S38 vor.
  • Beim Schritt S38 wird festgestellt, ob von dem zu verarbeitenden Block verteilte Verwaltungsinformation gelesen werden kann oder nicht. Kann verteilte Verwaltungsinformation gelesen werden, geht die Operation zum Schritt S39 vor. Kann verteilte Verwaltungsinformation nicht gelesen werden, geht die Operation zum Schritt S45 vor.
  • Beim Schritt S39 wird festgestellt, ob das Erlaubnis/Sperrung-Kennzeichen des zu verarbeitenden Blocks im Zustand "Benutzung erlaubt" ist oder nicht. Ist der Zustand der Zustand "Benutzung erlaubt", geht die Operation zum Schritt S40 vor. Ist der Zustand nicht der Zustand "Benutzung erlaubt", geht die Operation zum Schritt S45 vor.
  • Beim Schritt S40 wird festgestellt, ob für in dem zu verarbeitenden Block gespeicherte Daten ein Block-Identifizierer vorgesehen ist oder nicht. Das heißt es wird festgestellt, ob obige Daten Urladedaten sind oder nicht. Sind obige Daten Urladedaten, geht die Operation zum Schritt S41 vor.
  • Beim Schritt S41 wird festgestellt, ob von dem zu verarbeitenden Block zusätzliche Verwaltungsinformation gelesen werden kann oder nicht. Kann zusätzliche Verwaltungsinformation gelesen werden, geht die Operation zum Schritt S42 vor.
  • Beim Schritt S42 wird festgestellt, ob von dem zu verarbeitenden Block Urladedaten gelesen werden können oder nicht. Können Urladedaten gelesen werden, geht die Operation zum Schritt S43 vor.
  • Beim Schritt S43 werden von dem zu verarbeitenden Block Urladedaten gelesen, so dass gelesene Urladedaten gespeichert werden. Dann geht die Operation zum Schritt S44 vor.
  • Beim Schritt S44 werden beim Schritt S43 gelesene und gespeicherte Urladedaten auf den Block geschrieben, der die mit der Variablen WB angezeigte physikalische Adresse aufweist. Zu diesem Zeitpunkt wird der Prozess zum Lesen von Urladedaten unterbrochen. Dann werden beim Schritt S43 gelesene und gespeicherte Urladedaten zum Urladen der Speicherkarte 2 verwendet.
  • Kann beim Schritt S38 verteilte Verwaltungsinformation nicht gelesen werden und/oder ist beim Schritt S39 das Erlaubnis/Sperrung-Kennzeichen im Zustand "Benutzung erlaubt", geht wie oben beschrieben die Operation zum Schritt S45 vor. Beim Schritt S45 werden der Wert der Variablen T und der vorbestimmte Wert M miteinander verglichen. Ist der Wert der Variablen I kleiner als der vorbestimmte Wert M geht die Operation zum Schritt S46 vor. Der Wert der Variablen I ist nicht kleiner als der vorbestimmte Wert M gemacht, wenn nach Ausführung einer Prüfung am M-ten Block Urladedaten nicht erhalten werden können. In diesem Fall wird eine Feststellung eines Fehlers ausgeführt, und der Prozess wird beendet.
  • Beim Schritt S46 wird der Wert der Variablen I um eins erhöht. Dann wird die Operation zum Schritt S37 zurück gebracht, so dass der Prozess wiederholt wird.
  • Wenn beim Schritt S40 Daten nicht Urladedaten sind, wenn beim Schritt S41 zusätzliche Verwaltungsinformation nicht gelesen werden kann und/oder wenn beim Schritt S42 Urladedaten nicht gelesen werden können, wird eine Feststellung eines Fehlers ausgeführt, und der Prozess wird beendet. Der vorstehende Fall tritt auf, wenn Urladedaten nicht von jedem der zwei Urladeblöcke gelesen werden können.
  • Wie in der Fig. 12 gezeigt wird beim Schritt S47 festgestellt, ob der Wert der Variablen IDB gleich "0xffff" ist oder nicht. Ist der Wert der Variablen LDB nicht gleich "0xffff", geht die Operation zum Schritt S48 vor. Ist der Wert der Variablen IDB gleich "0xffff", geht die Operation zum Schritt S49 vor.
  • Beim Schritt S48 werden der Wert der Variablen IDA und ein durch Addieren von "1" zum Wert der Variablen IDB erhaltener Wert miteinander verglichen. Sind die zwei Werte gleich, geht die Operation zum Schritt S49 vor. Sind die zwei Werte nicht gleich, geht die Operation zum Schritt S51 vor.
  • Beim Schritt S49 wird der Wert der Variablen I in die Variable WB eingesetzt. Dann geht die Operation zum Schritt S50 vor.
  • Beim Schritt S50 werden gelesene und gespeicherte Urladedaten auf den Block geschrieben, der die mit der Variablen WB angezeigte physikalische Adresse aufweist. Zu diesem Zeitpunkt ist der Prozess zum Lesen von Urladedaten beendet, und gelesene und gespeicherte Urladedaten werden zum Urladen der Speicherkarte 2 verwendet.
  • Beim Schritt S51 werden der Wert der Variablen IDB und ein durch Addieren von "1" zum Wert der Variablen IDA erhaltener Wert miteinander verglichen. Sind die zwei Werte gleich, geht die Operation zum Schritt S50 vor, so dass der vorstehende Prozess ausgeführt wird.
  • Beim Schritt S51 sind der Wert der Variablen IDB und der durch Addieren von "1" zum Wert der Variablen IDA erhaltene Wert nicht gleich, wenn die Identifikationszahlen der zwei Urladeblöcke nicht gleich sind und wenn die Identifikationszahlen nicht sequentielle Zahlen sind. Da ein Lesen von Urladedaten ausgeführt werden kann, wird ein manueller Wiederherstellungsmodus derart verwendet, dass die Datenverarbeitungsvorrichtung 1 einen geeigneten Prozess ausführt.
  • Infolgedessen wird der Prozess zum Lesen der Urladedaten ausgeführt, wenn die Speicherkarte urgeladen wird. Durch Ausführen des oben erwähnten Prozesses werden zwei Blöcke bestätigt, wenn die Speicherkarte 2 urgeladen wird. Deshalb kann die Zuverlässigkeit der Speicherkarte 2 signifikant verbessert werden.
  • Wie oben beschrieben werden gemäß der vorliegenden Erfindung Urladedaten in jedem von mehreren verschiedenen Blöcken gespeichert. Deshalb können selbst wenn ein Block, in welchem Urladedaten gespeichert worden sind, nicht benutzt werden kann, in einem anderen Block gespeicherte Urladedaten zum Urladen der externen Speichervorrichtung verwendet werden.
  • Da im Block die neue oder alte Urladedaten anzeigende Identifikationszahl gespeichert ist, können immer neueste Urladedaten verwendet werden. Das heißt gemäß der vorliegenden Erfindung können selbst wenn ein Zustand, in welchem neue Urladedaten in gemischter Weise existieren, realisiert ist, immer neueste Urladedaten verwendet werden. Deshalb kann die Konsistenz von Daten aufrechterhalten werden.
  • Deshalb kann gemäß der vorliegenden Erfindung das Auftreten eines Fehlers hinreichend verhindert werden, wenn Urladedaten gelesen werden. Infolgedessen kann eine zuverlässige externe Speichervorrichtung bereitgestellt werden.

Claims (12)

1. Externe Speichervorrichtung, mit:
einem Speicherarray (12), das aufweist:
mehrere löschbare Blöcke,
einen ersten ("1") und einen zweiten ("2") Urladeblock zum Speichern von Urladedaten, die bei einem Urladen der externen Speichervorrichtung (2) zuerst gelesen werden, und eine Identifikationszahl ("10", "11"), die anzeigt, ob die Urladedaten neu oder alt sind,
dadurch gekennzeichnet, dass
die Identifikationszahl ("10", "11") sowohl im ersten ("1") als auch zweiten Urladeblock ("2") gespeichert ist,
die Identifikationszahl ("10", "11") einen ersten Wert aufweist, wenn die Urladedaten im jeweiligen Urladeblock neue Urladedaten ("11") sind, und einen zweiten Wert ("10"), wenn die Urladedaten im jeweiligen Urladeblock alte Urladedaten sind, und
die Identifikationszahl ("10", "11") im ersten ("1") und zweiten Urladeblock ("2") den gleichen Wert aufweist, nachdem die Urladedaten sowohl im ersten ("1") als auch zweiten Urladeblock ("2") vollkommen aktualisiert sind.
2. Externe Speichervorrichtung nach Anspruch 1, wobei beim Urladen der externen Speichervorrichtung (2) die neuesten Urladedaten unter im ersten ("1") und zweiten Urladeblock ("2") gespeicherten Urladedaten entsprechend der Identifikationszahl ("10", "11") gelesen werden, so dass die externe Speichervorrichtung durch Verwendung der neuesten Urladedaten urgeladen wird.
3. Externe Speichervorrichtung nach Anspruch 1 oder 2, wobei beim Urladen der externen Speichervorrichtung (2) entsprechend der Identifikationszahl ("10", "11") bestimmt wird, ob in mehreren der verschiedenen Blöcke jeweils gespeicherte Urladedaten neu oder alt sind, und in dem Fall, dass alte Urladedaten existieren, Urladedaten zu den neuesten. Urladedaten neu geschrieben werden.
4. Externe Speichervorrichtung nach Anspruch 1 bis 3, wobei das Speicherarray (12) ein Flash-Speicher ist.
5. Externe Speichervorrichtung nach einem der Ansprüche 1 bis 4, wobei die externe Speichervorrichtung (2) außerdem aufweist:
einen Konfigurationsspeicher (18) zum Speichern von Daten, die Charakteristiken des Speicherarrays (12) definieren, und
einen Puffer (15) zum Bereitstellen der Urladedaten im Urladeblock als ein Ausgangssignal, wobei die Urladedaten entsprechend den im Konfigurationsspeicher (18) gespeicherten Daten erzeugt werden.
6. Externe Speichervorrichtung nach einem der Ansprüche 1 bis 5, wobei die externe Speichervorrichtung (2) eine Speicherkarte ist, die in eine Daten zu und von der Speicherkarte übertragende Datenverarbeitungsvorrichtung (1) entfernbar einsetzbar ist.
7. Datenverarbeitungsverfahren zur Verwendung bei einer Daten in löschbaren Blöcken speichernden Speichervorrichtung (2), bei dem beim Urladen der Speichervorrichtung (2) zuerst Urladedaten aus einem Urladeblock der Speichervorrichtung (2) gelesen werden, wobei das Datenverarbeitungsverfahren die Schritte aufweist:
Speichern von Urladedaten in einem ersten Urladeblock ("1"),
Speichern von Urladedaten in einem zweiten Urladeblock ("2"), und
Speichern einer Identifikationszahl ("10", "11"), die anzeigt, ob die Urladedaten neu oder alt sind,
dadurch gekennzeichnet, dass
die Identifikationszahl ("10", "11") sowohl im ersten ("1") als auch zweiten Urladeblock ("2") gespeichert wird,
die Identifikationszahl ("10", "11"), einen ersten Wert aufweist, wenn die Urladedaten im jeweiligen Urladeblock neue Urladedaten ("11") sind, und einen zweiten Wert ("10"), wenn die Urladedaten im jeweiligen Urladeblock alte Urladedaten sind, und
die Identifikationszahl ("10", "11") im ersten ("1") und zweiten Urladeblock ("2") den gleichen Wert aufweist, nachdem die Urladedaten sowohl im ersten ("1") als auch zweiten Urladeblock ("2") vollkommen aktualisiert sind.
8. Datenverarbeitungsverfahren nach Anspruch 7, wobei beim Urladen der externen Speichervorrichtung (2) die neuesten Urladedaten unter im ersten ("1") und zweiten Urladeblock ("2") gespeicherten Urladedaten entsprechend der Identifikationszahl ("10", "11") gelesen werden, so dass die externe Speichervorrichtung durch Verwendung der neuesten Urladedaten urgeladen wird.
9. Datenverarbeitungsverfahren nach Anspruch 7 oder 8, wobei beim Urladen der externe Speichervorrichtung (2) entsprechend der Identifikationszahl ("10", "11") bestimmt wird, ob in mehreren der verschiedenen Blöcke jeweils gespeicherte Urladedaten neu oder alt sind, und in dem Fall, dass alte Urladedaten existieren, Urladedaten zu den neuesten Urladedaten neu geschrieben werden.
10. Datenverarbeitungsverfahren nach einem der Ansprüche 7 bis 9, wobei das Verarbeitungsverfahren außerdem die Schritte aufweist:
Speichern von Daten, die Charakteristiken der in den löschbaren Blöcken gespeicherten Daten definieren, in einem Konfigurationsspeicher (18),
Bereitstellen der Urladedaten (15) im Urladeblock als ein Ausgangssignal, wobei die Urladedaten entsprechend den im Konfigurationsspeicher (18) gespeicherten Daten erzeugt werden.
11. Datenverarbeitungsverfahren nach einem der Ansprüche 7 bis 10, wobei die externe Speichervorrichtung (2) eine Speicherkarte ist, die in eine Daten zu und von der Speicherkarte übertragende Datenverarbeitungsvorrichtung (1) entfernbar einsetzbar ist.
12. Computersystem, mit:
einer zentralen Verarbeitungseinheit (3),
einem Hauptspeicher (4, 5),
einem Bus, der Komponenten (7) des Computersystems (1) mit der zentralen Verarbeitungseinheit (3) und dem Hauptspeicher (4, 5) verbindet, und
einer mit dem Bus verbundenen Einrichtung (6, 2), die aufweist:
ein Speicherarray (12) mit:
mehreren löschbaren Blöcken,
einem ersten ("1") und zweiten Urladeblock ("2") zum Speichern von Urladedaten, die bei einem Urladen der externen Speichervorrichtung (2) zuerst gelesen werden, und
einer Identifikationszahl ("10", "11"), die anzeigt, ob die Urladedaten neu oder alt sind,
einem Konfigurationsspeicher (14) zum Speichern von Daten, die Charakteristiken des Speicherarrays (12) definieren, und
einem Puffer (15) zum Bereitstellen der Urladedaten im Urladeblock als ein Ausgangssignal, wobei die Urladedaten entsprechend den im Konfigurationsspeicher (14) gespeicherten Daten erzeugt werden,
dadurch gekennzeichnet, dass die Identifikationszahl ("10", "11") sowohl im ersten ("1") als auch zweiten Urladeblock ("2") gespeichert ist,
die Identifikationszahl ("10", "11") einen erster Wert aufweist, wenn die Urladedaten im jeweiligen Urladeblock neue Urladedaten ("11") sind, und einen zweiten Wert ("10"), wenn die Urladedaten im jeweiligen Urladeblock alte Urladedaten sind, und
die Identifikationszahl ("10", "11") im ersten ("1") und zweiten Urladeblock ("2") den gleichen Wert aufweist, nachdem die Urladedaten sowohl im ersten ("1") als auch zweiten Urladeblock ("2") vollkommen aktualisiert sind.
DE69809527T 1997-09-30 1998-09-29 Externe Speichervorrichtung und Datenverarbeitungsverfahren Expired - Lifetime DE69809527T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26717797A JP2914360B2 (ja) 1997-09-30 1997-09-30 外部記憶装置及びデータ処理方法

Publications (2)

Publication Number Publication Date
DE69809527D1 DE69809527D1 (de) 2003-01-02
DE69809527T2 true DE69809527T2 (de) 2003-10-02

Family

ID=17441184

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69809527T Expired - Lifetime DE69809527T2 (de) 1997-09-30 1998-09-29 Externe Speichervorrichtung und Datenverarbeitungsverfahren

Country Status (9)

Country Link
US (2) US6330634B1 (de)
EP (1) EP0910020B1 (de)
JP (1) JP2914360B2 (de)
KR (1) KR100642529B1 (de)
CN (1) CN1229724C (de)
AU (1) AU753121B2 (de)
DE (1) DE69809527T2 (de)
MY (1) MY121756A (de)
SG (1) SG71848A1 (de)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6786417B1 (en) * 1997-06-04 2004-09-07 Sony Corporation Memory card with write protection switch
JP2914360B2 (ja) * 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
US6601140B1 (en) * 1999-04-07 2003-07-29 Sony Corporation Memory unit, data processing unit, and data processing method using memory unit type
US6704865B1 (en) * 1999-12-23 2004-03-09 Delphi Technologies, Inc. Microprocessor conditional deterministic reset vector method
JP3838840B2 (ja) * 2000-01-06 2006-10-25 Necエレクトロニクス株式会社 コンピュータ
JP2001209543A (ja) * 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
JP2001306543A (ja) * 2000-04-19 2001-11-02 Nec Corp マイクロコンピュータ及びフラッシュメモリのデータ書換え方法
JP3627915B2 (ja) * 2000-05-30 2005-03-09 シャープ株式会社 ブートブロックフラッシュメモリ制御回路、およびそれを備えたicメモリカードと半導体記憶装置、並びにブートブロックフラッシュメモリの消去方法
JP2002091494A (ja) * 2000-09-13 2002-03-27 Tdk Corp ディジタル式記録再生装置
US6859876B2 (en) * 2000-12-29 2005-02-22 Hewlett-Packard Development Company, L.P. System and method for detecting and using a replacement boot block during initialization by an original boot block
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP4731020B2 (ja) * 2001-01-24 2011-07-20 富士通セミコンダクター株式会社 半導体記憶装置、セクタアドレス変換回路、アドレス変換方法及び半導体記憶装置の使用方法
JP4763223B2 (ja) * 2001-01-26 2011-08-31 ソニー株式会社 Icカード
EP1403814B1 (de) * 2001-06-28 2012-03-21 Sony Corporation Elektronische vorrichtung, informationsverarbeitungsvorrichtung, adaptervorrichtung und informationsaustauschsystem
CN1122281C (zh) * 2001-06-30 2003-09-24 深圳市朗科科技有限公司 一种多功能半导体存储装置
TW539946B (en) * 2001-08-07 2003-07-01 Solid State System Company Ltd Window-based flash memory storage system, and the management method and the access method thereof
TW516000B (en) * 2001-09-12 2003-01-01 Winbond Electronics Corp Method for security protection of digital processing device and apparatus thereof
US20030109252A1 (en) * 2001-12-10 2003-06-12 Koninklijke Philips Electronics N.V. System and method of codec employment in a cellular telephone
US7562208B1 (en) * 2002-02-07 2009-07-14 Network Appliance, Inc. Method and system to quarantine system software and configuration
EP1372068A3 (de) * 2002-06-11 2006-02-08 Seiko Epson Corporation System, Verfahren und Programm zum Wiederbeschreiben eines Flash-Speichers
CN1300707C (zh) * 2002-07-23 2007-02-14 华为技术有限公司 外部sdram读写处理方法
DE10319778A1 (de) * 2002-12-30 2004-07-15 Databay Ag Tragbare Speicherkarte mit einer Schnittstelle, System aus Datenverarbeitungsgerät und entsprechender Speicherkarte sowie Verfahren zum Betrieb eines derartigen Systems
TW200428284A (en) * 2003-06-03 2004-12-16 Hon Hai Prec Ind Co Ltd System and method for bootstrap with backup boot-code in single flash ROM
JP2005190288A (ja) * 2003-12-26 2005-07-14 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
US7197634B2 (en) * 2004-01-16 2007-03-27 Dell Products L.P. System and method for updating device firmware
JP4534498B2 (ja) * 2004-01-28 2010-09-01 ソニー株式会社 半導体装置およびその起動処理方法
JP2005275907A (ja) * 2004-03-25 2005-10-06 Toshiba Corp 電子機器および同機器の記憶媒体ユニット制御方法
EP1607865B1 (de) * 2004-06-14 2013-08-14 Micron Technology, Inc. Datenverwaltungseinheit fähig Startfehler zu korrigieren und entsprechendes Verfahren
KR100684876B1 (ko) * 2005-01-03 2007-02-20 삼성전자주식회사 독출 시간을 단축시킬 수 있는 플래시 메모리 장치 및 방법
KR100698655B1 (ko) 2005-01-04 2007-03-23 주식회사 팬택앤큐리텔 이동통신 단말기의 파일 업데이트 시스템과, efs 영역헤더 손실로 인한 치명적인 에러를 방지하는 이동통신단말기의 부팅 관리 시스템과, 이동통신 단말기의 파일업데이트 방법 및 efs 영역 헤더 손실로 인한 치명적인에러를 방지하는 이동통신 단말기의 부팅 방법
JP4245585B2 (ja) 2005-06-13 2009-03-25 Tdk株式会社 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
TWI267861B (en) * 2005-09-06 2006-12-01 Alcor Micro Corp Method and device for loading configuration values of nonvolatile memory
CN1937083B (zh) * 2005-09-23 2010-05-05 安国国际科技股份有限公司 非挥发性存储器设定值加载方法与其存储器装置
JP4999325B2 (ja) * 2005-12-21 2012-08-15 ルネサスエレクトロニクス株式会社 フラッシュメモリ
US7831854B2 (en) * 2006-03-21 2010-11-09 Mediatek, Inc. Embedded system for compensating setup time violation and method thereof
US20080040544A1 (en) * 2006-08-08 2008-02-14 Jason Caulkins Computer System For Reading And Writing Data
US8086791B2 (en) * 2006-08-08 2011-12-27 Dataram, Inc. Solid state memory device with PCI controller
JP4791286B2 (ja) * 2006-08-09 2011-10-12 富士通株式会社 ディスク装置および電子装置
JP4883570B2 (ja) * 2006-09-27 2012-02-22 ルネサスエレクトロニクス株式会社 半導体記憶装置、不揮発性半導体記憶装置、及びそれらの動作方法
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
US8351290B1 (en) 2008-09-12 2013-01-08 Marvell International Ltd. Erased page detection
US8151101B2 (en) * 2008-11-06 2012-04-03 Lenovo (Singapore) Pte. Ltd. Method, apparatus, and system for quiescing a boot environment
CN101710253B (zh) * 2009-11-25 2012-06-13 安凯(广州)微电子技术有限公司 嵌入式系统的深度休眠方法
JP5707695B2 (ja) * 2009-12-08 2015-04-30 沖電気工業株式会社 フラッシュディスク装置
JP5728982B2 (ja) * 2010-02-26 2015-06-03 株式会社Jvcケンウッド 処理装置および書込方法
TWI449414B (zh) 2010-12-29 2014-08-11 Altek Corp 影像擷取裝置及其開機方法
EP3338180B1 (de) * 2015-08-20 2024-05-08 Micron Technology, Inc. Festkörperspeichervorrichtung mit schnellstart für nand-medien
US11288181B2 (en) * 2019-03-07 2022-03-29 Silicon Motion, Inc. Flash memory initialization scheme for writing boot up information into selected pages averagely and randomly distributed over more pages and correspondingly method for reading boot up information from selected pages

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2776929B2 (ja) 1989-03-29 1998-07-16 株式会社日立製作所 カードデータ処理システム及びカードデータの処理方法
IT1254937B (it) * 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
US5410703A (en) 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
EP0596198B1 (de) 1992-07-10 2000-03-29 Sony Corporation Flash-EPROM mit Löschprüfung und Architektur zum Adresszerhacken
KR970008188B1 (ko) 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5522076A (en) * 1993-05-13 1996-05-28 Kabushiki Kaisha Toshiba Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function
JPH0764795A (ja) * 1993-08-30 1995-03-10 Toshiba Corp コンピュータシステム
JP3011035B2 (ja) * 1994-12-08 2000-02-21 株式会社日立製作所 計算機システム
GB2295908A (en) 1994-12-09 1996-06-12 Plessey Telecomm Updating EPROMs
US5568641A (en) * 1995-01-18 1996-10-22 Hewlett-Packard Company Powerfail durable flash EEPROM upgrade
DE19501707C1 (de) * 1995-01-20 1996-06-05 Texas Instruments Deutschland Elektrisches Bauelement und Verfahren zum Abgleichen der inneren Laufzeit eines solchen elektrischen Bauelements
JP3583829B2 (ja) 1995-04-13 2004-11-04 株式会社日立製作所 外部記憶サブシステムの制御方法および制御装置
JPH08328845A (ja) * 1995-06-02 1996-12-13 Hioki Ee Corp Romの制御プログラム書替え方法
KR100281869B1 (ko) * 1995-07-28 2001-02-15 윤종용 보안 기능을 갖는 개인용 컴퓨터, 그의 보안 방법 및 그 보안 장치의 설치 및 제거방법
US5701492A (en) * 1996-03-29 1997-12-23 Canon Kabushiki Kaisha Fail-safe flashing of EPROM
US5822582A (en) * 1996-07-19 1998-10-13 Compaq Computer Corporation Boot drive selection and hibernation file detection
US6282675B1 (en) * 1997-08-06 2001-08-28 Macronix International Co., Ltd. Fault-tolerant architecture for in-circuit programming
US6560701B1 (en) * 1997-02-10 2003-05-06 International Business Machines Corporation Alternate boot record
JP2914360B2 (ja) * 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
JP3884839B2 (ja) * 1997-10-17 2007-02-21 株式会社ルネサステクノロジ 半導体記憶装置
US6275931B1 (en) * 1998-06-22 2001-08-14 Elsag International N.V. Method and apparatus for upgrading firmware boot and main codes in a programmable memory
US6205548B1 (en) * 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory

Also Published As

Publication number Publication date
DE69809527D1 (de) 2003-01-02
KR100642529B1 (ko) 2008-01-30
EP0910020B1 (de) 2002-11-20
JP2914360B2 (ja) 1999-06-28
US6981136B2 (en) 2005-12-27
EP0910020A1 (de) 1999-04-21
AU753121B2 (en) 2002-10-10
MY121756A (en) 2006-02-28
CN1220424A (zh) 1999-06-23
AU8713898A (en) 1999-04-22
SG71848A1 (en) 2000-04-18
KR19990030334A (ko) 1999-04-26
CN1229724C (zh) 2005-11-30
US20040093487A1 (en) 2004-05-13
JPH11110141A (ja) 1999-04-23
US6330634B1 (en) 2001-12-11

Similar Documents

Publication Publication Date Title
DE69809527T2 (de) Externe Speichervorrichtung und Datenverarbeitungsverfahren
DE602004005939T2 (de) Vorrichtung und Verfahren zur Datenverwaltung nichtflüchtiger Speicher
DE69821426T2 (de) Speicheranordung, und Datenverarbeitungssystem und -Verfahren
DE60318477T2 (de) Vorrichtung zur dateiaktualisierung
DE69521113T2 (de) Vorrichtung und Verfahren zur Stromversorgungsausfallbeständige Aktualisierung eines Flash-EEPROM-Speichers
DE69622238T2 (de) Verfahren und Vorrichtung zur Sicherungsablaufplanung mit verstellbarem Niveau
DE60032531T2 (de) Aufzeichnungsverfahren, Verwaltungsverfahren und Aufzeichnungsgerät
DE69223799T2 (de) Einstellung der systemkonfiguration in einem datenverarbeitungssystem
DE69334149T2 (de) Speicherkarte
DE10159901B4 (de) Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE3743639A1 (de) Ic-karte und system zur ueberpruefung ihrer funktionstuechtigkeit
DE10297281T5 (de) Verfahren zum elementaren Aktualisieren einer Vielzahl von Dateien
DE69820164T2 (de) Speichervorrichtung sowie Datenlese- und Schreibverfahren
DE3640238A1 (de) Tragbare elektronische vorrichtung
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE102004014227A1 (de) Steuervorrichtung für einen nicht flüchtigen Speicher
DE68927361T4 (de) Chipkarte und Verfahren zum Wiedereinschreiben ihres Programmes
DE60211987T2 (de) Halbleiterspeichervorrichtung mit nichtflüchtigem Speicher, in den Daten zirkulär geschrieben werden
DE60035298T2 (de) Unterhaltungssystem, Informationsverarbeitungseinheit und tragbarer Datenspeicher
DE102017104698A1 (de) Elektroniksteuervorrichtung und Informationsspeicherverfahren dafür
DE10140780A1 (de) Programmodul-Managementsystem und Verfahren davon und Speichermedium von Managementprogrammen des Systems
DE102016202684B4 (de) Datenmanagementvorrichtung und datenmanagementprogramm
EP1197854B1 (de) Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
DE10059006A1 (de) Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)