-
Die
Erfindung bezieht sich auf eine Speicherkartenvorrichtung mit einem
EEPROM (EEPROM = Electrically Erasable and Programmable Read-Only Memory)
als ein Halbleiterspeicher in einem kartenförmigen Gehäuse und genauer gesagt auf
eine Speicherkartenvorrichtung, die geeignet auf eine elektronische
Fotokameravorrichtung oder dergleichen anwendbar ist, wobei ein
optisches Bild eines fotografierten Objekts in digital Bilddaten
umgewandelt und die digitalen Bilddaten in einem Halbleiterspeicher
aufgezeichnet werden.
-
Wie
bekannt ist, ist neuerdings eine elektronische Fotokameravorrichtung
entwickelt worden, bei der ein optisches Bild eines fotografierten
Objekts in ein elektrisches Bildsignal durch ein Festkörper-Aufnahmeelement,
wie beispielsweise eine ladungsgekoppelte Vorrichtung (CCD = Charge-Coupled
Device), umgewandelt wird, und das Bildsignal in digitale Bilddaten
umgewandelt wird, die dann in einem Halbleiterspeicher aufgezeichnet
werden. Bei dieser Art von elektronischer Fotokameravorrichtung wird
eine Speicherkarte, die einen Halbleiterspeicher in einem kartenförmigen Gehäuse enthält, entfernbar an
einem Kamerakörper
befestigt, wodurch es ermöglicht
wird, dass die Speicherkarte wie ein regulärer Film in einer herkömmlichen
Kamera gehandhabt werden kann.
-
Ein
Standard für
Speicherkarten, die bei elektronischen Fotokameravorrichtungen verwendet werden,
wurde entwickelt. Ein in der Speicherkarte enthaltener Halbleiterspeicher
muss eine große Speicherkapazität zum Speichern
von Daten von mehreren digitalen Bildern aufweisen. Beispielsweise
können ein
SRAM (Statischer Direktzugriffsspeicher), ein Masken-ROM oder ein
Nur-Lese-Speicher mit elektrischer Lösch- und Programmierbarkeit
(EEPROM) als Halbleiterspeicher verwendet werden. Insbesondere wird
eine Speicherkarte mit dem SRAM bei einer elektronischen Fotokameravorrichtung
verwendet, die bereits auf den Markt gebracht wurde.
-
Die
Speicherkarte mit dem SRAM kann sich an jede Art von Datenformat
anpassen und weist eine hohe Datenschreibgeschwindigkeit und eine
hohe Datenlesegeschwindigkeit auf. Da jedoch eine Backup-Batterie
bzw. Zelle in der Speicherkarte angebracht werden muss, um geschriebene
Daten aufrechtzuerhalten, wird die Speicherkapazität durch
die Bereitstellung des Platzes für
die Installation der Zelle verringert. Außerdem ist, da der SRAM selbst
kostspielig ist, die Verwendung des SRAM hinsichtlich Kostenwirksamkeit
nicht vorteilhaft.
-
Um
die Probleme des SRAM zu lösen,
wurde neuerdings der Verwendung des EEPROM als in der Speicherkarte
zu verwendender Halbleiterspeicher Aufmerksamkeit geschenkt. Der
EEPROM wird als ein vielversprechendes neues Aufzeichnungsmedium
betrachtet, das Magnetplatten ersetzen kann. Der EEPROM erfordert
keine Backup-Batterie zum Aufrechterhalten von Daten, und die Kosten
des Chip selbst können
verringert werden. Aufgrund derartiger besonderer Vorteile, die
der SRAM nicht aufweist, werden Forschungen und Entwicklungen vielfach
für die
Verwendung des EEPROM in Speicherkarten durchgeführt. Eine derartige Karte wird
in dem Dokument
EP-A-0477503 offenbart.
-
1 zeigt
die Vorteile und Nachteile der Speicherkarte (SRAM-Karte) mit dem
SRAM und der Speicherkarte (EEPROM-Karte) mit dem EEPROM. Wie oben
angegeben wurde, erfordert der SRAM die Bereitstellung der Backup-Batterie
(Element 1 des Vergleichs), und dessen Herstellungskosten (Element
2) sind hoch. Im Gegensatz dazu erfordert die EEPROM-Karte keine
Backup-Batterie, und die Kosten sind relativ niedrig.
-
Hinsichtlich
der Schreibgeschwindigkeit (Element 3) und Lesegeschwindigkeit (Element
4) wird nun der Direktzugriffsmodus (dem SRAM und EEPROM gemeinsam)
berücksichtigt,
bei dem Daten in Einheiten eines durch eine Adresse frei bestimmten
Byte oder Bit geschrieben und gelesen werden, und dem Seitenmodus
(bezeichnend für
den EEPROM), bei dem Daten in Einheiten einer Seite, die aus aufeinanderfolgenden
Bytes (mehreren hundert Bytes) besteht, durch Kennzeichnen einer
Seite geschrieben und gelesen werden.
-
Im
Direktzugriffsmodus weist der SRAM eine hohe Schreibgeschwindigkeit
und eine hohe Lesegeschwindigkeit auf, wohingegen der EEPROM eine niedrige
Schreibgeschwindigkeit und eine niedrige Lesegeschwindigkeit aufweist.
Andererseits sind im Seitenmodus, da der EEPROM imstande ist, eine große Datenmenge
von einer Seite auf einmal zu schreiben und zu lesen, die Datenschreibgeschwindigkeit
und Datenlesegeschwindigkeit im Seitenmodus geringfügig höher als
im Direktzugriffsmodus.
-
Der
Löschmodus
(Element 5) ist typisch für den
EEPROM, und der SRAM weist ihn nicht auf. Bei dem EEPROM müssen, wenn
neue Daten auf eine Region geschrieben werden, in der Daten bereits
geschrieben wurden ("Datenneuschreiben"), die bereits geschriebenen
Daten gelöscht
werden, bevor neue Daten geschrieben werden. Somit wird der Löschmodus
beim Neuschreiben von Daten ausgeführt.
-
Der
Löschmodus
umfasst einen Stapellöschmodus,
bei dem alle im EEPROM aufgezeichneten Daten auf einmal gelöscht werden,
und einen Blocklöschmodus,
bei dem Daten in Einheiten eines Blocks, der aus aufeinanderfolgenden
Seiten besteht, durch Kennzeichnen des Blocks gelöscht werden.
-
Der
Schreibverifiziermodus (Element 6) ist ebenfalls typisch für den EEPROM
und wird im SRAM nicht bereitgestellt. Genauer gesagt können Daten
normalerweise nicht vollständig
in den EEPROM in einem einzigen Schreibvorgang geschrieben werden.
Somit werden jedes Mal, wenn ein Schreibvorgang durchgeführt wird,
die geschriebenen Daten von dem EEPROM ausgelesen, um zu prüfen, ob
die Daten genau geschrieben wurden. Dieser Modus wird "Schreibverifizieren" genannt Genauer
gesagt werden beim Schreibverifizieren in den EEPROM zu schreibenden
Daten in einem Pufferspeicher aufgezeichnet, und die Daten werden
von dem Pufferspeicher zu dem EEPROM transferiert, und so werden
die Daten in den EEPROM geschrieben. Die geschriebenen Daten werden
von dem EEPROM ausgelesen und mit dem Inhalt im Pufferspeicher verglichen.
Wenn der Inhalt des EEPROM mit demjenigen des Pufferspeichers nicht
identisch ist ("Fehler"), wird der Inhalt
des Pufferspeichers erneut in den EEPROM geschrieben, und der geschriebene Inhalt
wird ausgelesen und mit dem Inhalt des Pufferspeichers verglichen.
Dieser Vorgang wird wiederholt.
-
Wie
aus den obigen Vergleichsdaten offensichtlich ist, weist der EEPROM
besondere Vorteile auf, die der SRAM nicht aufweist: z.B. wird keine Backup-Batterie
bereitgestellt, die Kosten des Chip selbst sind niedrig und Daten
können
in Einheiten einer Seite geschrieben und gelesen werden. Andererseits
weist der EEPROM Nachteile auf: die Datenschreib- und Lesegeschwindigkeiten
im Direktzugriffsmodus sind niedrig, und der Löschmodus und Schreibverifiziermodus,
die bei dem SRAM nicht erforderlich sind, werden bereitgestellt.
-
Wenn
der EEPROM für
den aktuell verwendeten SRAM als Halbleiterspeicher substituiert
wird, der in der Speicherkarte verwendet wird, ist es notwendig,
die der Datenschreibgeschwindigkeit und Datenlesegeschwindigkeit
so wie auch dem Löschmodus
und Schreibverifizieren zugeordneten Probleme zu lösen. Das
heißt,
es ist notwendig, verschiedene Verbesserungen durchzuführen, wodurch es
ermöglicht
wird, dass die EEPROM-Karte wie die SRAM-Karte gehandhabt werden
kann.
-
In
diesem Fall besteht ein bedeutendes Problem unter anderem darin,
dass die Anzahl von Malen von Datenschreibvorgängen und die Datenaufbewahrungszeit
in dem EEPROM im Gegensatz zu dem SRAM oder DRAM begrenzt ist. Die
garantierte Anzahl von Malen von Schreibvorgängen in dem EEPROM ist normalerweise
104, und die garantierte Datenaufbewahrungszeit
ist 10 Jahre. Somit ist wahrscheinlich, dass ein Defekt in der Speicherzelle
des EEPROM selbst auftritt, der über
die garantierte Anzahl von Malen von Schreibvorgängen oder der garantierten
Datenaufbewahrungszeit verwendet wird, der zu einer fehlerhaften
Speicherregion führt,
die unfähig
ist, Daten normal zu speichern und aufzubewahren.
-
Da
dies der Fall ist, wird die EEPROM-Speicherkarte mit einer Defekt-Kompensationsfunktion zum
Schützen
von Daten augestattet, die aufgrund der fehlerhaften Speicherregion
nicht in den EEPROM geschrieben werden können. In dem Fall, in dem eine
fehlerhafte Speicherregion in der EEPROM-Speicherkarte einer extern gekennzeichneten Datenschreibadresse
entspricht, wird eine andere normale Speicherregion in der Speicherkarte
gesucht, und Daten werden in diese normale Speicherregion geschrieben.
Die Adresse dieser normalen Speicherregion ist der extern gekennzeichneten Adresse
durch eine Verknüpfungstabelle zugeordnet, und
die Korrespondenz der Adressen wird bewerkstelligt. Diese komplexe
interne Verarbeitung macht die Systemstruktur sehr komplex.
-
2 zeigt
die Struktur einer Speicherkarte mit einer Defekt-Kompensationsfunktion
zum Kompensieren einer fehlerhaften Speicherregion in einem EEPROM.
Eine externe Datenschreibadresse wird an eine Speicherkarte 11 geliefert.
Genauer gesagt wird die externe Adresse an eine Steuerschaltung 12 in
der Speicherkarte 11 geliefert. Die Steuerschaltung 12 sucht
nach einer tatsächlichen
Adresse in einem EEPROM (Hauptspeicher) 13, die der eingegebenen
externen Adresse entspricht, durch Bezug auf eine Verknüpfungstabelle 14.
-
Die
Steuerschaltung 12 weist dem EEPROM 13 eine tatsächliche
Adresse zu, die durch Bezug auf die Verknüpfungstabelle 14 erhalten
wurde, und schreibt Daten in eine der tatsächlichen Adresse zugeordneten
Region. Dann schreibt die Steuerschaltung 12 Daten in die
Verknüpfungstabelle 14,
die die Menge der in den EEPROM 13 geschriebenen Daten darstellt,
d.h. Daten, die die Adresse in dem EEPROM 13 darstellen,
bis zu der Daten geschrieben wurden. Somit ist der Datenschreibprozess
abgeschlossen.
-
In
dem Fall, in dem die Speicherkarte mit dem oben beschriebenen internen
Verarbeitungssystem auf ein handelsüblich verfügbares Produkt angewendet wird,
wobei die Speicherkarte beispielsweise in einer elektronischen Fotokameravorrichtung
angebracht ist, können
die folgenden Probleme entstehen: die Speicherkarte kann von dem
Vorrichtungskörper
entfernt werden, während
eine gewisse interne Verarbeitung in der Speicherkarte durchgeführt wird
("Kartenentfernung
während
des Betriebs"), oder
ein Leistungsausfall kann auftreten, wobei in diesem Fall der aufgezeichnete
Inhalt in der Speicherkarte beschädigt werden kann, weil die
interne Verarbeitung sehr komplex ist.
-
Wenn
die Kartenentfernung während
des Betriebs beispielsweise während
Datenschreibens in den EEPROM 13 stattfindet, ist das Neuschreiben
in die Verknüpfungstabelle 14 nach
dem Datenschreiben in den EEPROM 13 nicht möglich, und
daher wird der in dem EEPROM 13 aufgezeichnete Inhalt mit
dem Inhalt in der Verknüpfungstabelle 14 inkonsistent.
Danach wird das Datenschreiben und -lesen des EEPROM 13 nicht
normal ausgeführt.
-
Tatsächlich müssen in
dem EEPROM 13, wenn neue Daten in eine Region geschrieben
werden, die bereits gespeicherte Daten aufweist, die vorherigen
Daten gelöscht
werden, um neue Daten zu schreiben. Der Löschvorgang braucht eine beträchtliche
Zeit. Somit ist es notwendig, um die Speicherkarte in einem System
zu verwenden, das für
Hochgeschwindigkeitsbetrieb ausgestaltet wurde, die Anzahl von Malen
von Löschvorgängen soweit
wie möglich
zu verringern. Das Speicherkartensystem muss aufgebaut sein, um
einen Löschvorgang
lediglich zu der Zeit des Überschreiben
neuer Daten in einer Region durchzuführen, die vorherige Daten speichert. Zu
diesem Zweck wird durch Bezug auf die Verknüpfungstabelle 13 bestimmt,
ob eine Region, in die neue Daten zu schreiben sind, eine Region
ist, die bereits gewisse Daten gespeichert hat.
-
Wenn
die Kartenentfernung während
des Betriebs stattfindet, während
die Verknüpfungstabelle 14 neu
geschrieben wird, wurden die neuen Daten in den EEPROM 13 trotz
der Tatsache geschrieben, dass die Verknüpfungstabelle 14 keine
Angabe von "bereits
geschrieben" aufweist.
In diesem Fall werden, wenn eine Datenschreibanforderung eingegeben
wird, um neue Daten in eine "bereits
geschrieben" Region
in dem EEPROM 13 zu schreiben, die Daten in der "bereits geschriebenen" Region nicht gelöscht, und
neue Daten werden geschrieben. Folglich gehen Daten durch einen
fehlerhaften Schreibvorgang verloren.
-
Ferner
ist es sehr schwierig, da die Kartenentfernung während des Betriebs oder ein
Leistungsausfall zufällig
stattfindet, das Auftreten der Kartenentfernung während des
Betriebs oder die Region in dem EEPROM 13 zu kennen, die
mit dem Inhalt der Verknüpfungstabelle 14 inkonsistent
ist.
-
Wie
oben beschrieben wurde, wird bei einer Speicherkarte mit einem EEPROM
als Halbleiterspeicher der aufgezeichnete Inhalt in dem EEPROM mit
dem Inhalt der Verknüpfungstabelle
im Fall einer Kartenentfernung während
des Betriebs oder eines Leistungsausfalls inkonsistent, und ein
anschließender
Daten-Schreib/Lese-Vorgang wird nicht normal durchgeführt werden.
-
Die
Erfindung wurde angesichts der obigen Umstände gemacht, und eine Aufgabe
der Erfindung besteht darin, eine sehr gute Speicherkartenvorrichtung
bereitzustellen, die in der Lage ist, Daten in Einheiten von Schreibdaten
neu zu schreiben, sogar wenn sich eine Löschdateneinheit von einer Schreibdateneinheit
unterscheidet.
-
Die
Aufgabe wird mit den Merkmalen von Anspruch 1 erreicht.
-
Diese
Erfindung kann vollständiger
aus der folgenden ausführlichen
Beschreibung in Verbindung mit den begleitenden Zeichnungen verstanden
werden, in denen zeigen:
-
1 Vergleichsdaten über Vorteile/Nachteile
zwischen einer SRAM-Karte und einer EEPROM-Karte;
-
2 ein
Blockdiagramm, das die Struktur einer Speicherkarte zeigt, die eine
Defekt-Kompensationsfunktion zum Kompensieren einer fehlerhaften
Speicherregion in einem EEPROM aufweist;
-
3 ein
Blockdiagramm, das die Struktur einer weiteren Speicherkartenvorrichtung
zeigt;
-
4A und 4B Ansichten
zum Erläutern
von Modifikationen der Speicherkartenvorrichtung von 3;
-
5 eine
Ansicht zum Erläutern
noch einer weiteren Modifikation der Speicherkartenvorrichtung von 3;
-
6 ein
Blockdiagramm zum Erläutern noch
eine weitere Modifikation der Speicherkartenvorrichtung von 3;
-
7 ein
Blockdiagramm, das eine weitere Speicherkartenvorrichtung zeigt;
-
8 eine
Ansicht zum Erläutern
eines Vorgangs zum Ausgeben von Kartenstatusinformation bei der
Speicherkartenvorrichtung von 7;
-
9 eine
Ansicht zum Erläutern
eines Vorgangs zum Ausgeben von Flag-Bytes bei der Speicherkartenvorrichtung
von 7;
-
10 ein
Ablaufdiagramm zum Beschreiben eines Datenneuschreibvorgangs in
einem EEPROM;
-
11A bis 11C Ansichten
zum Erläutern
eines Problems bei dem mit Bezug 10 beschriebenen
Datenneuschreibvorgangs;
-
12 ein
Blockdiagramm, das eine Ausführungsform
der Erfindung zeigt;
-
13 ein
Ablaufdiagramm zum Beschreiben des Betriebs der Ausführungsform;
und
-
14A und 14B Ansichten
zum spezifischen Erläutern
des Betriebs der Ausführungsform.
-
Eine
Speicherkartenvorrichtung wird nun mit Bezug auf die begleitenden
Zeichnungen beschrieben.
-
In 3 wird
eine externe Adresse zum Schreiben von Daten an eine Speicherkarte 15 geliefert.
Genauer gesagt wird die Adresse an eine Steuerschaltung 16 in
der Speicherkarte 15 geliefert. Die Steuerschaltung 16 sucht
nach einer tatsächlichen Adresse
in einem EEPROM (Hauptspeicher) 17, die der eingegebenen
externen Adresse entspricht, durch Bezug auf eine Verknüpfungstabelle 18,
die durch einen EEPROM gebildet wird.
-
Die
Steuerschaltung 16 liefert an den EEPROM 17 eine
tatsächliche
Adresse, die durch Bezug auf die Verknüpfungstabelle 18 erhalten
wurde. Zu schreibende Daten werden in der tatsächlichen Adresse geschrieben.
Danach schreibt die Steuerschaltung 16 in die Verknüpfungstabelle 18 Daten, die
die Menge von in den EEPROM 17 geschriebenen Daten darstellen,
d.h. Daten, die die Adresse in dem EEPROM 17 darstellen,
bis zu der Daten geschrieben wurden. Somit ist der Datenschreibprozess
abgeschlossen.
-
Ein
Mikrocomputer 19 wird in der Speicherkarte 15 bereitgestellt.
Der Mikrocomputer 19 setzt ein Flag in einer 1-Bit-Flag-Region
F, die in der Verknüpfungstabelle 18 vorgesehen
ist, wenn er erfasst, dass eine externe Datenschreibadresse eingegeben und
Datenschreiben angefordert wurde. Dann führt der Mikrocomputer 19 eine
Folge von dem EEPROM 17 zugeordneter Datenschreibvorgänge durch. Wenn
der Mikrocomputer 19 den Abschluss eines Neuschreibvorgangs
in der Verknüpfungstabelle 18 erfasst,
setzt er das in der Flag-Region
F gesetzte Flag zurück.
-
Gemäß der obigen
Struktur wird, wenn die Speicherkarte während des Datenschreibvorgangs entfernt
wird ("Kartenentfernung
während
des Betriebs") oder
ein Leistungsausfall auftritt, das in der Flag-Region F der Verknüpfungstabelle 18 gesetzte Flag
nicht zurückgesetzt
und bleibt bestehen. Somit kann das Auftreten der Kartenentfernung
während des
Betriebs oder ein Leistungsausfall durch Prüfen der Flag-Region F in der
Verknüpfungstabelle 18 erfasst
werden, und verschiedene Gegenmaßnahmen können durchgeführt werden.
Daher kann die Übereinstimmung
zwischen dem in dem EEPROM 17 aufgezeichneten Inhalt und
dem Inhalt in der Verknüpfungstabelle 18 soweit
wie möglich
aufrechterhalten werden.
-
4A und 4B zeigen
Modifikationen der Vorrichtung von 3.
-
In 4A wird
die Verknüpfungstabelle 18 mit
Verknüpfungsdatenbereichen 181, 182, 183,
... zum Speichern Verknüpfungsdaten
ausgestattet, die sich auf die Übereinstimmung
zwischen den Datenspeicherregionen in dem EEPROM 17 und
extern eingegebener Adressen beziehen. Die Verknüpfungsdatenbereiche 181, 182, 183,
... weisen jeweils 1-Bit-Flagbereiche 181a, 182a, 183a,
... auf.
-
Wenn
der Mikrocomputer 19 eine Anforderung zum Datenschreiben
erfasst hat, setzt er Flags in den Flagbereichen 181a, 182a, 183a,
... in Bereichen 181, 182, 183, ... der
Verknüpfungstabelle 18, die
den Datenspeicherregionen in dem EEPROM 17 zugeordnet sind.
Dann führt
der Mikrocomputer 19 eine Folge von Datenschreibvorgängen durch,
die dem EEPROM 17 zugeordnet sind. Wenn der Mikrocomputer 19 den
Abschluss des Verknüpfungsdatenschreibens
in die zugeordneten Bereiche 181, 182, 183,
... in der Verknüpfungstabelle 18 erfasst
hat, setzt er die in den Flagbereichen 181a, 182a, 183a, ...
gesetzten Flags zurück.
-
Mit
der obigen Struktur werden im Fall der Kartenentfernung während des
Betriebs oder eines Leistungsausfalls die in den Flagbereichen 181a, 182a, 183a,
... in den Bereichen 181, 182, 183, ...
der Verknüpfungstabelle 18 gesetzten
Flags nicht zurückgesetzt
und bleiben bestehen. Somit können durch
Prüfen
der Flagbereiche 181a, 182a, 183a, ... in
den Bereichen 181, 182, 183, ... der
Verknüpfungstabelle 18 die
Bereiche 181, 182, 183, ..., die mit dem
aufgezeichneten Inhalt in dem EEPROM 17 nicht konsistent
sind, ohne Weiteres gefunden werden, und die Defekt-Kompensationsverarbeitung kann
durchgeführt
werden. Daher kann die Übereinstimmung
zwischen dem aufgezeichneten Inhalt in dem EEPROM 17 und
dem Inhalt in der Verknüpfungstabelle 18 soweit
wie möglich
aufrechterhalten werden.
-
Gemäß der in 4B gezeigten
Modifikation werden die Flagbereiche 181a, 182a, 183a,
..., die den Bereichen 181, 182, 183,
... in der Verknüpfungstabelle 18 zugeordnet
sind, in einer leeren Region 18a in der Verknüpfungstabelle 18 gemeinsam
bereitgestellt. Der gleiche Vorteil wie bei der Modifikation von 4A kann
erhalten werden, und die Bereiche 181, 182, 183,
..., die dem aufgezeichneten Inhalt in dem EEPROM 17 nicht
zugeordnet sind, können
ohne Weiteres gefunden werden.
-
5 zeigt
eine weitere Modifikation der Vorrichtung von 3.
Es sei angenommen, dass durch die Mittel der obigen Vorrichtung
erfasst wurde, dass der Inhalt der Datenspeicherregionen 171, 172, ..., 17n in
dem EEPROM 17 den Verknüpfungsdaten normal
entspricht, die in den Bereichen 181, 182, ... 18n der
Verknüpfungstabelle 18 aufgezeichnet
wurden, und die Übereinstimmung
zwischen dem Inhalt in einer Speicherregion 17m in dem
EEPROM 17 und den Verknüpfungsdaten
in einem Bereich 18m der Verknüpfungstabelle 18 aufgrund
der Kartenentfernung während
des Betriebs oder eines Leistungsausfalls verloren geht.
-
In
diesem Fall werden der Inhalt der Speicherregionen 171, 172,
..., 17n und der Inhalt der Bereiche 181, 182,
..., 18n einmal in einem anderen Speicher z.B. durch einen
Personalcomputer gesichert, und dann werden der EEPROM 17 und
die Verknüpfungstabelle 18 vollständig initialisiert
(alle Speicherregionen werden gelöscht). Danach werden die gesicherten
Daten erneut in den EEPROM 17 und die Verknüpfungstabelle 18 geschrieben.
-
Genauer
gesagt verbleibt die Speicherregion 17m, die nicht der
Verknüpfungstabelle 18 entspricht, als
ein Defekt in dem EEPROM 17, und ein Problem wird im Fall
eines Überschreibens
auftreten, wie oben angegeben ist. Um dieses Problem zu lösen, wird
der gegenseitig entsprechende Inhalt der Speicherregionen 171, 172,
..., 17n und der Bereiche 181, 182, ..., 18n in
einem anderen Speicher gesichert, und dann werden alle Speicherregionen
in dem EEPROM 17 und die Verknüpfungstabelle 18 initialisiert. Danach
werden die gesicherten Daten erneut in den EEPROM 17 und
die Verknüpfungstabelle 18 geschrieben,
wodurch der Inhalt der Speicherkarte in dem Zustand gerade vor der
Kartenentfernung während
des Betriebs oder einem Leistungsausfall wiedergewonnen wird.
-
6 zeigt
noch eine weitere Modifikation der Vorrichtung. Zwei Verknüpfungstabellen 20 und 21 werden
in der Speicherkarte 15 bereitgestellt. Normalerweise steuert
ein Mikrocomputer 22 Schalter 23 und 24,
wodurch Verknüpfungsdaten-Schreib/Lesevorgänge für die Verknüpfungstabelle 20 durchgeführt werden.
Im Fall des Ausführens
des Verknüpfungsdatenneuschreibens
in der Verknüpfungstabelle 20 wird,
wenn der Neuschreibvorgang normal abgeschlossen ist, der Inhalt
der Verknüpfungstabelle 20 automatisch
in die Verknüpfungstabelle 21 kopiert.
-
Wenn
der Mikrocomputer 22 bestimmt, dass die Kartenentfernung
während
des Betriebs oder ein Leistungsausfall aufgetreten ist, vergleicht
eine Vergleichsschaltung 25 den Inhalt der beiden Verknüpfungstabellen 20 und 21.
Wenn der Inhalt der beiden Verknüpfungstabellen 20 und 21 nicht
koinzidiert, wird der Inhalt der Verknüpfungstabelle 21 auf
der Grundlage des Inhalts der Verknüpfungstabelle 20 berichtigt,
wodurch der Inhalt der Speicherkarte 15 in dem Zustand
gerade vor der Kartenentfernung während des Betriebs oder vor
einem Leistungsausfall wiedergewonnen wird.
-
Zusätzlich können natürlich verschiedene Verfahren
zum Schützen
der Verknüpfungsdaten durchgeführt werden,
wobei von den beiden Verknüpfungstabellen 20 und 21 Gebrauch
gemacht wird.
-
Gemäß der obigen
Vorrichtung und den obigen Modifikationen kann, sogar wenn die Kartenentfernung
während
des Betriebs oder ein Leistungsausfall aufgetreten ist, die Übereinstimmung
zwischen dem aufgezeichneten Inhalt in dem EEPROM 17 und
dem Inhalt in der. Verknüpfungstabelle 18 soweit
wie möglich
aufrechterhalten werden.
-
Das
System der Speicherkarte mit dem EEPROM als Halbleiterspeicher neigt
im Gegensatz zu Speicherkarten mit dem SRAM oder DRAM dazu, komplex
zu sein. Aufgrund derartiger Komplexität ist es erwünscht, den
internen Zustand der Speicherkarte von außen zu überwachen. Hinsichtlich der
aktuellen EEPROM-Speicherkarte ist es jedoch nicht standardisiert,
dass die Karte einen Kartenstatusinformations-Ausgabemodus aufweist,
durch den Kartenstatusinformation bezogen auf das Karteerfassungsbit und/oder
der Anzahl von Bytes von eingegebenen Adressen nach außen ausgegeben
wird. Außerdem gibt
es ein Problem, dass der interne Zustand der Karte nicht allein
durch die Kartenstatusinformation erfasst werden kann.
-
Somit
ist es notwendig, den internen Zustand der Karte von außen genau
zu überwachen,
ohne von den standardisierten Zuständen abzuweichen.
-
7 zeigt
ausführlich
eine Struktur einer weiteren Speicherkarte 26. Die Speicherkarte 26 ist mit
einer elektronischen Fotokamera oder dergleichen (nicht gezeigt) über einen
Verbinder 27 verbunden, der an einem Endabschnitt der Speicherkarte 26 bereitgestellt
wird. Der Verbinder 27 empfängt von der elektronischen
Fotokamera Digitaldaten DA, die in die Speicherkarte 26 zu
schreiben sind, und Adressdaten AD, die einen Ort zum Datenschreiben darstellen.
Die Digitaldaten DA und Adressdaten AD werden an eine Daten-Eingabe/Ausgabe(E/A)-Steuerschaltung 28 mit
einer CPU über
Busleitungen D0 bis D7 geliefert.
-
Außerdem empfängt der
Verbinder 27 von der elektronischen Fotokamera ein Kartenfreigabesignal
CE mit einem H-Pegel (High-Pegel), wenn die Speicherkarte 26 ausgewählt wird,
ein Adressen/Daten-Umschaltsignal A/D mit einem L-Pegel (Low-Pegel),
wenn die an die Busleitungen D0 bis D7 gelieferten Daten Adressdaten
AD sind, und mit einem H-Pegel, wenn diese Daten Digitaldaten DA
sind, ein Lesen/Schreiben-Umschaltsignal R/W mit einem L-Pegel,
wenn Datenschreiben in den EEPROM angefordert wird, und mit einem
H-Pegel, wenn Datenlesen von dem EEPROM angefordert wird, und einen mit
den Adressdaten AD synchronisierten Bustakt BCK.
-
Das
Kartenfreigabesignal CE, das Adressen/Daten-Umschaltsignal A/D, das Lesen/Schreiben-Umschaltsignal
R/W und der Bustakt BCK werden ebenfalls an die Daten-E/A-Steuerschaltung 28 geliefert.
Ein Datenlöschbefehl,
um Daten in dem EEPROM 29 zu löschen, wird ebenfalls von der
elektronischen Fotokamera an die Daten-E/A-Steuerschaltung 28 über den
Verbinder 27 geliefert. Die Daten-E/A-Steuerschaltung 28 erzeugt
ein Bereit/Belegt-Umschaltsignal RDY/BSY mit einem H-Pegel, wenn
eine Eingabe von Digitaldaten DA von der elektronischen Fotokamera
zulässig
ist, und mit einem L-Pegel, wenn die Eingabe von Digitaldaten DA
nicht zulässig
ist.
-
Der
Betrieb der obigen Vorrichtung wird nun in groben Zügen beschrieben.
Die an den Verbinder 12 gelieferten Digitaldaten DA werden
einmal in einem Pufferspeicher 30 durch die Steuerung der
Daten-E/A-Steuerschaltung 28 bei einem Timing gespeichert,
dass durch von einer Adressenerzeugungsschaltung 31 ausgegebene
Adressdaten gesteuert wird. Die Adressenerzeugungsschaltung 31 zählt durch
einen Selektor 32 ausgewählte Takte CK, wodurch Adressdaten
erzeugt werden, die an den Pufferspeicher 30 zu liefern
sind. Der Selektor 32 empfängt den Bustakt BCK und einen
von der Daten-E/A-Steuerschaltung 28 ausgegebenen Takt YCK.
-
Wenn
die Digitaldaten DA in dem Pufferspeicher 30 gespeichert
sind, wird der Selektor 32 durch ein von der Daten-E/A-Steuerschaltung 28 ausgegebenes
Auswahlsignal SEL betätigt,
wodurch der Bustakt BCK ausgewählt
und an die Adressenerzeugungsschaltung 31 als der Takt
CK geliefert wird. Somit werden die an den Verbinder 27 von
der elektronischen Fotokamera gespeisten Digitaldaten DA in den
Pufferspeicher 30 in Übereinstimmung
mit den auf der Grundlage des Bustakts BCK erzeugten Adressdaten
geschrieben.
-
Wenn
das Schreiben von Digitaldaten DA in den Pufferspeicher 30 abgeschlossen
ist, steuert die Daten-E/A-Steuerschaltung 28 das
Auswahlsignal SEL und schaltet den Selektor 32 um, um den
durch den Controller 28 erzeugten Takt YCK selbst an die Adressenerzeugungsschaltung 31 zu
liefern. Somit werden die Digitaldaten DA von dem Pufferspeicher 30 als
Antwort auf die Adressdaten ausgelesen, die von der Adressenerzeugungsschaltung 31 auf
der Grundlage des Taktes YCK erzeugt wurden.
-
Zu
dieser Zeit gibt die Daten-E/A-Steuerschaltung 28 ein Chipfreigabesignal
CEN und ein Schreibfreigabesignal WE sowie auch Adressdaten AD an
den EEPROM 29 aus, der eine Mehrzahl von Chips umfasst.
Dadurch werden die von dem Pufferspeicher 30 ausgelesenen
Digitaldaten DA in den EEPROM 29 in Einheiten einer Seite
geschrieben, die z.B. aus 512 Bytes besteht. In dem Zustand, in dem
die Digitaldaten DA in den EEPROM 29 geschrieben wurden,
liefert die Daten-E/A-Steuerschaltung 28 ein Ausgabe-Freigabesignal
OE und die Adressdaten AD, die zuvor die Datenschreib-Adresse bestimmte,
an den EEPROM 29, um dadurch die Digitaldaten DA von dem
EEPROM 29 auszulesen und die ausgelesenen Digitaldaten
DA mit den in dem Pufferspeicher 30 aufgezeichneten Digitaldaten DA
zu vergleichen. Das heißt,
ein Schreibverifizieren wird ausgeführt.
-
Wenn
die von dem EEPROM 29 ausgelesenen Digitaldaten DA nicht
mit den im Pufferspeicher 30 aufgezeichneten Digitaldaten
DA übereinstimmen,
transferiert die Daten-E/A-Steuerschaltung 28 erneut
die Digitaldaten DA von dem Pufferspeicher 30 zu dem EEPROM 29,
um sie in den EEPROM 29 zu schreiben. Dieser Vorgang wird
wiederholt, bis die von dem EEPROM 29 ausgelesenen Digitaldaten
DA perfekt mit den in dem Pufferspeicher 30 aufgezeichneten
Digitaldaten DA koinzidieren. Somit werden die Digitaldaten DA in
den EEPROM 29 geschrieben.
-
Wenn
ein Datenlöschbefehl
von der elektronischen Fotokamera eingegeben wird, um Daten in dem
EEPROM 29 zu löschen,
treibt die Daten-E/A-Steuerschaltung 28 eine Löschschaltung 33 in Übereinstimmung
mit dem Löschbefehl.
Die Löschschaltung 33 wird
durch die Daten-E/A-Steuerschaltung 28 gesteuert, um Löschsignale
an eine Adressenleitung und eine Datenleitung in dem EEPROM 29 auszugeben,
wodurch der EEPROM 29 elektrisch Chip-gelöscht oder
Seiten-gelöscht
wird. Die Löschschaltung 33 kann
in dem EEPROM 29 bereitgestellt werden. In diesem Fall
wird der Löschbefehl
von der Daten-E/A-Steuerschaltung 28 zu
dem EEPROM 29 erzeugt, und die Löschschaltung in dem EEPROM 29 empfängt den
Löschbefehl
und führt den
Löschvorgang
durch.
-
Als
nächstes
wird nun der Vorgang zum Auslesen der Digitaldaten DA von dem EEPROM 29 nach
außen
von der Speicherkarte 26 beschrieben. Ein Befehl zum Auslesen
und eine den auszulesenden Daten zugeordnete Adresse werden von
der elektronischen Fotokamera über
den Verbinder 27 eingegeben. Dann gibt die Daten-E/A-Steuerschaltung 28 das
Chipfreigabesignal CEN, Ausgabe-Freigabedaten OE und Adressdaten
AD an den EEPROM 29 aus, wodurch die Digitaldaten DA von
dem EEPROM 29 in Einheiten einer Seite ausgelesen werden.
Außerdem
schaltet die Steuerschaltung 28 den Selektor 32 um,
um den von der Steuerschaltung 28 selbst erzeugten Takt
YCK an die Adressenerzeugungsschaltung 31 zu liefern. Somit
werden die ausgelesenen Digitaldaten DA in den Pufferspeicher 30 geschrieben.
-
Danach
schaltet die Daten-E/A-Steuerschaltung 28 den Selektor 32 um,
um den von der elektronischen Fotokamera gelieferten Bustakt BCK über den
Verbinder 27 an die Adressenerzeugungsschaltung 31 zu
liefern. Die Daten in dem Pufferspeicher 30 werden in Übereinstimmung
mit den von der Adressenerzeugungsschaltung 31 erzeugten Adressdaten
auf der Grundlage des Bustaktes BCK ausgelesen, und die ausgelesenen
Digitaldaten DA werden an die elektronische Fotokamera über den Verbinder 27 geliefert.
-
Ein
standardisierter Modus zum Auslesen von Kartenstatusinformation
wird nun beschrieben. Die oben beschriebenen Schreib/Lese-Vorgänge von Digitaldaten
DA, die dem EEPROM 29 zugeordnet sind, werden nun von dem
Blickpunkt außerhalb
der Speicherkarte, d.h. von dem Blickpunkt von durch den Verbinder 27 fließenden Eingangs/Ausgangs-Signalen
analysiert. Wenn die Digitaldaten DA in die Speicherkarte 26 eingeschrieben
oder von dieser ausgelesen werden, wird das Kartenfreigabesignal CE
auf den H-Pegel gesetzt, um die Speicherkarte 26 auszuwählen, und
sowohl das Adressen/Daten- Umschaltsignal
A/D als auch das Lesen/Schreiben-Umschaltsignal
R/W werden auf den L-Pegel gesetzt (den Adresseneingabezustand/den
Schreibzustand). Außerdem
werden die Adressdaten AD an die Busleitungen D0 bis D7 geliefert,
um die Adresse einzustellen. Dann wird das Adressen/Daten-Umschaltsignal A/D
auf den H-Pegel (den Dateneingabezustand) gesetzt, wodurch Digitaldaten
DA in die/von der Speicherkarte 26 gelesen/geschrieben
werden.
-
Somit
werden bei den normalen Schreib/Lesevorgängen, wenn die Adresse eingestellt
ist, sowohl das Adressen/Daten-Umschaltsignal
A/D als auch das Lesen/Schreiben-Umschaltsignal
R/W auf den L-Pegel gesetzt. Wie in 8 gezeigt
ist, ist die Daten-E/A-Steuerschaltung ausgestaltet, wenn das Adressen/Daten-Umschaltsignal
A/D auf den L-Pegel gesetzt und das Lesen/Schreiben-Umschaltsignal
R/W auf den H-Pegel
gesetzt wird (dieser Zustand ist bei einem Adresseneinstellvorgang
im gewöhnlichen
Schreib/Lese-Betrieb nicht möglich),
Kartenstatusinformation als Digitaldaten DA an die Busleitungen
D0 bis D7 zu liefern. Bei diesem standardisierten Ausgabemodus von
Kartenstatusinformation wird der Bustakt BCK nicht verwendet.
-
Bei
dem oben erwähnten
Kartenstatusinformations-Ausgabezustand
stoppt, wenn der Bustakt BCK geliefert wird, wie in 9 gezeigt
ist, die Daten-E/A-Steuerschaltung 28 das Liefern der Kartenstatusinformation
an die Busleitungen D0 bis D7 synchron mit dem ersten Bustakt BCK
und beginnt Flag-Bytes 1, 2, ... an die Busleitungen D0 bis D7 synchron
mit dem zweiten und anschließenden
Bustakten BCK zu liefern. Die Flag-Bytes 1, 2, ... geben beispielsweise
das Auftreten eines Fehlers bei "10000000", ein Ende der Lebensdauer
der Karte bei "11000000", eine Kartenentfernung
während
des Betriebs (Speicherkarte 26 wird während des Datentransfers zwischen
der Karte und der elektronische Fotokamera entfernt) bei "10010000", eine Notwendigkeit,
einen Service-Mann wegen eines Fehlers in der Karte zu rufen, bei "10001000", eine fehlerhafte Adressenkennzeichnung
bei "10000100" und Schreibschutz
bei "10000010" an.
-
Wenn
der Bustakt BCK in dem Kartenstatusinformations-Ausgabezustand geliefert wird, setzt
die Daten-E/A-Steuerschaltung 28 das
Bereit/Belegt-Umschaltsignal RDY/BSY synchron mit dem ersten Bustakt
BCK, um die Eingabe von außen
zu verhindern, und die Steuerschaltung 28 setzt die Flag-Bytes 1, 2, ... in
einem Ausgangsregister (nicht gezeigt) in der Karte. Nachdem die
Flag-Bytes 1, 2, ... in dem Ausgangsregister gesetzt sind, setzt
die Daten-E/A-Steuerschaltung 28 das
Bereit/Belegt-Umschaltsignal RDY/BSY auf den H-Pegel und liefert
die Flag-Bytes 1, 2, ... an die Busleitungen D0 bis D7 synchron
mit dem zweiten und nachfolgenden Bustakten BCK.
-
Gemäß der obigen
Struktur werden, wenn der Bustakt BCK in dem Kartenstatusinformations-Ausgabezustand
geliefert wird, die Flag-Bytes 1, 2, ... ausgegeben, die den internen
Zustand der Speicherkarte 26 darstellen. Somit kann ohne
Abweichen von dem standardisierten Zustand für die Ausgabe der Kartenstatusinformation
der interne Zustand der Speicherkarte 26 von außen durch
die Flag-Bytes 1, 2, ... genau überwacht
werden.
-
Bei
dem EEPROM wird das Datenlöschen
in Einheiten eines Blocks durchgeführt, und das Datenschreiben
wird in Einheiten einer Seite durchgeführt. Da die Löschdateneinheit
mehrere Male größer als die
Schreibdateneinheit ist, ist es schwierig, die bereits in dem EEPROM
aufgezeichnete Daten mit neuen Daten in Einheiten von Schreibdaten
zu ersetzen.
-
10 ist
ein Ablaufdiagramm zum Erläutern
eines gewöhnlichen
Datenneuschreibvorgangs für
eine Seite. Wenn der Neuschreibvorgang beginnt (Schritt S1), wird
eine Blockeinheit gelöscht
(Schritt S2), wobei im Anschluss daran Daten für 1-Seite geschrieben werden
(Schritt S3). Bei dem anschließenden
Schritt S4 werden Schreibverifiziervorgänge eine vorbestimmte Anzahl
von Malen durchgeführt,
wodurch bestimmt wird, ob das Datenschreiben korrekt durchgeführt wurde.
Wenn das Datenschreiben korrekt ist (JA), ist der Neuschreibvorgang
abgeschlossen (Schritt S5). Falls das Datenschreiben nicht korrekt
ist (NEIN), wird die dem Datenschreiben zugeordnete Seite bestimmt,
eine fehlerhafte Seite zu sein, und eine Defekt-Kompensationsverarbeitung wird
durchgeführt.
Bei der Defekt-Kompensationsverarbeitung wird eine alternative leere
Seite gefunden, und die Daten werden in die leere Seite geschrieben.
-
Bei
dem obigen Datenneuschreibvorgang tritt jedoch das folgende Problem
auf. Es sei angenommen, dass ein Block aus zwei Seiten besteht,
wie 11A gezeigt ist, und Daten A,
B, C, D, E und F in den Seiten in drei Blöcken aufgezeichnet werden. Wenn
Daten A durch Daten Z ersetzt werden, wird der gesamte Block einschließlich der
Region der Daten A gelöscht,
wie 11B gezeigt ist, und dann werden
die Daten Z in die Region der Daten A geschrieben. Folglich gehen
die Daten B verloren, die sich nicht auf das Datenneuschreiben beziehen,
wie 11C gezeigt ist.
-
Es
ist daher notwendig, Daten frei in Einheiten von Schreibdaten neu
zu schreiben, sogar wenn sich die Löschdateneinheit von der Schreibdateneinheit
unterscheidet.
-
12 zeigt
eine Ausführungsform
der Erfindung, bei der eine Speicherkarte 34 mit einer
elektronischen Fotokamera (nicht gezeigt) über einen Verbinder 35 verbunden
ist, der an einem Ende der Karte 34 bereitgestellt wird.
Der Verbinder 35 empfängt
von der elektronischen Fotokamera Daten, die in die Speicherkarte 34 zu
schreiben sind, Adressdaten, die eine Schreibposition darstellen,
etc.
-
Die
an den Verbinder 35 gelieferten Daten werden in eine Daten-E/A-Steuerschaltung 37 über eine
Busleitung 36 eingegeben. Die Daten-E/A-Steuerschaltung 37 ist über eine
Busleitung 38 mit einem Pufferspeicher 39 verbunden,
der für
ein Schreiben und Lesen von Daten mit hoher Geschwindigkeit geeignet
ist. Die eingegebenen Daten werden einmal in dem Pufferspeicher 39 gespeichert.
Dann liest die Steuerschaltung 37 die Daten von dem Pufferspeicher 39 aus
und schreibt die ausgelesenen Daten in eine Mehrzahl von EEPROMs 41 (vier
EEPROMs in 12) mit einem Timing, das dem
Schreibzyklus der EEPROMs 41 entspricht.
-
In
diesem Fall führt
jedes Mal, wenn beispielsweise die Daten von einer Seiteneinheit
in den EEPROM 41 geschrieben werden, die Daten-E/A-Steuerschaltung 37 einen
Schreibverifiziervorgang durch. Bei dem Schreibverifiziervorgang werden
die in den EEPROM 41 geschriebenen Seiten-Einheitsdaten
ausgelesen und mit den in dem Pufferspeicher 39 aufgezeichneten
Daten verglichen. Wenn die von dem EEPROM 41 ausgelesenen
Daten nicht mit den in dem Pufferspeicher 39 aufgezeichneten
Daten koinzidieren, transferiert die Daten-E/A-Steuerschaltung 37 erneut
die Daten von dem Pufferspeicher 39 zu dem EEPROM 41 und schreibt
sie in den EEPROM 41. Dieser Vorgang wird eine vorbestimmte
Anzahl von Malen wiederholt, und wenn die von dem EEPROM 41 ausgelesenen
Daten mit den in dem Pufferspeicher 39 aufgezeichneten Daten
perfekt übereinstimmen,
ist das Datenschreiben abgeschlossen.
-
Wenn
die Daten von dem EEPROM 41 nach außen von der Speicherkarte 34 ausgelesen
werden, wird eine Adresse zum Kennzeichnen der auszulesenden Daten
von der elektronischen Fotokamera an die Daten-E/A-Steuerschaltung 37 über den
Verbinder 35 geliefert. Auf der Grundlage der eingegebenen Adresse
liest die Daten-E/A-Steuerschaltung 37 die Daten von dem
EEPROM 41 aus und zeichnet sie vorübergehend in dem Pufferspeicher 39 auf.
Dann liest die Steuerschaltung 37 die Daten von dem Pufferspeicher 39 aus
und liefert nach außen über den
Verbinder 35. Somit ist der Datenauslesevorgang abgeschlossen.
-
Gemäß der obigen
Struktur wird der Datentransfer zwischen der elektronischen Fotokamera und
der Speicherkarte 34 immer über den Pufferspeicher 39 durchgeführt. Somit
kann die Daten-Schreib/Lesegeschwindigkeit bei der Speicherkarte 34,
wie von der elektrischen Fotokameraseite aus betrachtet, erhöht werden.
Außerdem
wird die Schreibverifizierverarbeitung, die für den EEPROM 41 typisch
ist, in der Speicherkarte 34 durch den Pufferspeicher 39 automatisch
durchgeführt.
Somit kann die Speicherkarte 34 auf ähnliche Weise wie die SRAM-Karte
gehandhabt werden.
-
13 ist
ein Ablaufdiagramm, das den Datenschreibvorgang für eine Seite
darstellt. Wenn der Schreibvorgang beginnt (Schritt S7), sucht die
Daten-E/A-Steuerschaltung 37 nach
einem gelöschten leeren
Block ("Ersatzzielblock") innerhalb des EEPROM 41 (Schritt
S8). Neue Daten werden in eine Seite des Ersatzzielblocks geschrieben
(Schritt S9). Bei Schritt S10 führt
die Daten-E/A-Steuerschaltung 37 den
Schreibverifiziervorgang eine vorbestimmte Anzahl von Malen durch
und prüft,
ob die Daten korrekt geschrieben sind. Falls das Datenschreiben nicht
korrekt ist (NEIN), wird die Seite in dem Ersatzzielblock bestimmt,
eine fehlerhaften Seite zu sein, und die Steuerroutine kehrt zu
Schritt S8 zurück,
um nach einem weiteren Ersatzzielblock zu suchen.
-
Falls
das Datenschreiben korrekt ist, (JA) bei Schritt S10, bestimmt die
Daten-E/A-Steuerschaltung 37, ob der Block ("ursprünglich gekennzeichnete
Block") mit der
dem Datenneuschreiben zugeordneten Seite eine weitere Seite mit aufgezeichneten Daten
enthält
(Schritt S11). Falls JA bei Schritt S11, werden die Daten der Seite
ausgelesen, die dem Datenneuschreiben nicht zugeordnet ist (Schritt
S12), und die Verarbeitung bei Schritt S9 wird erneut durchgeführt. Die
ausgelesenen Daten werden in eine Seite eines neu gefundenen Ersatzzielblocks
geschrieben. Wenn der ursprünglich
gekennzeichnete Block keine andere Seite aufweist, die Daten enthält, jedoch
dem Datenneuschreiben nicht zugeordnet ist (NEIN), ist der Neuschreibvorgang
abgeschlossen (Schritt S13).
-
Genauer
gesagt sei angenommen, dass ein Block aus zwei Seiten besteht und
die Seiten die Daten A, B, C, D, E und F von drei Blöcken speichern, wie
in 14A gezeigt ist. Wenn die Daten A durch Daten
Z ersetzt werden, sucht die Daten-E/A-Steuerschaltung 37 nach
einem Ersatzzielblock in dem EEPROM 41. Wie in 14B gezeigt ist, werden die neuen Daten Z in eine
Seite des Ersatzzielblocks geschrieben. Danach bestimmt die Daten-E/A-Steuerschaltung 37,
dass die Daten Z korrekt geschrieben wurden, und prüft in diesem
Zustand, ob der ursprünglich
gekennzeichnete Block eine weitere Seite enthält, die Daten enthält, jedoch
dem Datenneuschreiben nicht zugeordnet ist. Da der ursprünglich gekennzeichnete
Block die Seite mit den Daten B enthält, werden die Daten B von
dieser Seite ausgelesen und in die andere Seite des Ersatzzielblocks geschrieben.
Die Daten-E/A-Steuerschaltung 37 schreibt
beispielsweise in ein internes Register Aufzeichnungsdaten mit der
Wirkung, dass, wenn die Adresse des Blocks der Daten A und B (des
ursprünglich
gekennzeichneten Blocks) von der elektronischen Fotokamera bestimmt
wird, diese Adresse in die Adresse des Ersatzzielblocks geändert wird. Somit
ist das Datenneuschreiben von Daten A in Daten Z abgeschlossen.
-
Gemäß der obigen
Struktur der Erfindung wird der Ersatzzielblock gesucht, der zum
Datenschreiben geeignet ist, und neue Daten Z werden in eine Seite
des Ersatzzielblocks geschrieben. Dann werden die Daten B in dem
ursprünglich
gekennzeichneten Block in die andere Seite des Ersatzzielblocks
geschrieben. Die Adresse des ursprünglich gekennzeichneten Blocks
wird der Adresse des Ersatzzielblocks zugeordnet, wenn das Speicherkartensystem
von außerhalb
der Karte betrachtet wird. Somit werden im Gegensatz zum Stand der
Technik die Daten B des ursprünglich
bestimmten Blocks nicht unnötigerweise
gelöscht,
und die Daten A werden durch die neuen Daten Z ersetzt.
-
Bei
der obigen Ausführungsform
werden die Daten A und B in dem ursprünglich bestimmten Block gelassen.
Der ursprünglich
bestimmte Block kann jedoch in Einheiten eines Blocks gelöscht und
für den nächsten Schreibvorgang
verwendet werden. Ferner werden, wenn der ursprünglich bestimmte Block auf der
Grundlage einer Block-Einheit gelöscht wird und dann die Daten
Z und B zu dem ursprünglich
bestimmten Block transferiert werden, die Daten A durch die Daten
Z an der gleichen Stelle auf dem Speicherplan des EEPROM 41 ersetzt.
In diesem Fall ist es nicht notwendig, die Adresse des ursprünglich gekennzeichneten
Blocks der Adresse des Ersatzzielblocks zuzuordnen, und dies ist
sehr zweckmäßig. Es
ist ebenfalls möglich,
eine vorbestimmte Menge eines leeren Blocks als einen Ersatzzielblock in
dem EEPROM 41 einzustellen.
-
Die
Erfindung ist nicht auf die obige Ausführungsformn begrenzt, und verschiedene
Modifikationen und Änderungen
können
ohne Abweichen von dem Schutzumfang der Ansprüche durchgeführt werden.