-
Die
Erfindung bezieht sich auf ein Aufzeichnungsverfahren, ein Verwaltungsverfahren
und eine Aufzeichnungsvorrichtung, die für eine Datenaufzeichnung mit
hoher Geschwindigkeit geeignet sind, indem lediglich Aufzeichnungsdaten
in bzw. auf einem Aufzeichnungsträger während einer Datenaufzeichnung
aufgezeichnet und Dateiverwaltungsdaten kollektiv nach der Beendigung
der Datenaufzeichnung in der Aufzeichnungsvorrichtung aktualisiert werden,
um einem nicht flüchtigen
Speicher kontinuierlich zugeführte
Daten aufzuzeichnen, die entsprechend Dateiverwaltungsdaten verwaltet
werden und die in einer Vielzahl von Blöcken diskret aufgezeichnet
werden können.
-
Es
ist bekannt, dass ein Aufzeichnungsträger kleiner Größe, der über ein
Halbleiterspeicherelement, wie einen Flash-Speicher verfügt, in eine Treibervorrichtung
einbezogen werden kann, die ausschließlich für ein derartiges Halbleiterspeicherelement
als eingebautem Speicher verwendet wird; alternativ kann die Treibervorrichtung
in eine Audio-/Videovorrichtung oder in eine Informationsvorrichtung als
eingebaute Treibervorrichtung einbezogen sein. Derartige Vorrichtungen,
wie sie oben beschrieben worden sind, sind kürzlich für die Speicherung von Computerdaten,
stationären
Bilddaten, Bewegtbilddaten und Audiodaten entwickelt worden.
-
In
einem Aufzeichnungssystem, welches ein derartiges Halbleiterspeicherelement
verwendet, werden mit Rücksicht
darauf, dass der Inhalt der Bewegtbilddaten und von Audiodaten im
Wesentlichen temporär
kontinuierlich auftritt, wenn so genannte Stromdaten, die kontinuierlich
zugeführt
werden, als Auf zeichnungsdaten aufgezeichnet werden, in einigen
Fällen
die Daten nicht richtig aufgezeichnet, und zwar wegen der unbequemen
Beziehung zwischen der Datenmenge, die pro Zeiteinheit aufgezeichnet werden
kann, und der Bitrate der Stromdaten.
-
Mit
anderen Worten ausgedrückt
heißt
dies, dass in dem Fall, dass die Bitrate oder die Datenmenge der
pro Zeiteinheit kontinuierlich zugeführten Stromdaten die Bitrate
der Datenmenge überschreitet,
die aufgezeichnet werden kann, die Stromdaten überlaufen. Die Bitrate der
Stromdaten, die aufgezeichnet werden können, ist folglich daher beschränkt. Mit
anderen Worten ausgedrückt
heißt dies,
dass ferner die Stromdaten, deren Bitrate höher ist als ein bestimmter
Wert, nicht in Echtzeit aufgezeichnet werden können.
-
Der
Datenschreibprozess, der durch ein System ausgeführt wird, welches die Adresse
von geschriebenen Daten mittels einer Datei-Zuweisungstabelle (FAT-Tabelle)
in bzw. auf einem Aufzeichnungsträger verwaltet, der über einen
Flash-Speicher verfügt
und der eine Adressenumsetztabelle verwendet, ist in 22 der
beigefügten
Zeichnungen veranschaulicht.
-
Obwohl
die FAT-Tabelle und die Adressenumsetztabelle nachstehend im Einzelnen
beschrieben werden, liefert die FAT-Tabelle die Information zur
Verwaltung der Kettung von Clustern als Datei durch Adressenkettung,
wenn die Daten in eine bestimmte Dateneinheit geschrieben werden,
einem Cluster, wie nachstehend beschrieben, eins zu eins.
-
Die
Adressenumsetztabelle stellt die Information zum Umsetzen der für die FAT-Tabelle
zu benutzenden logischen Adresse in die physikalische Adresse zur
Verfügung,
nämlich
in die echte Adresse auf einem tatsächlichen Aufzeichnungsträger.
-
Im
Einzelnen werden Dateidaten üblicherweise
in bzw. auf einem Aufzeichnungsträger über eine Vielzahl von Clustern
aufgezeichnet, wobei zu der betreffenden Zeit die FAT-Tabelle die
Kettung von Clustern für
die Verwaltung der Aufzeichnung als eine Datendatei, die Adresse
bzw. Adressen und die Reihenfolge der Cluster aufzeichnet. Die FAT-Tabelle führt den
Prozess mittels einer Adresse aus, die den Daten als logische Adresse
entspricht, wobei die logische Adresse auf der Grundlage der Adressenumsetztabelle
in die physikalische Adresse umgesetzt wird und der Aufzeichnung-/Wiedergabezugriff
auf den Aufzeichnungsträger
bzw. das Aufzeichnungsmedium ausgeführt wird.
-
In
dem Fall, dass die Stromdaten aufgezeichnet werden, öffnet die
Steuereinrichtung einer Aufzeichnungsvorrichtung eine Datei, um
die Aufzeichnungsoperation beim Schritt F301 zu beginnen, wie dies
in 22 veranschaulicht ist.
-
Jedes
Mal dann, wenn einem Cluster gemäße Daten
als abgegebene Stromdaten herangezogen werden, werden einem Cluster
gemäße Daten beim
Schritt F302 in bzw. auf den Aufzeichnungsträger geschrieben, und die Adressenumsetztabelle
sowie die FAT-Tabelle
werden in Übereinstimmung
mit dem Schreiben des Clusters bei den Schritten F303 und F304 aktualisiert.
Mit anderen Worten ausgedrückt
heißt
dies, dass die FAT-Tabelle und die Adressenumsetztabelle in bzw.
auf den Aufzeichnungsträger
neu geschrieben werden.
-
Der
Grund für
die Forderung nach Aktualisierung der FAT-Tabelle und der Adressen-Umsetzungstabelle
besteht darin, dass eine nicht benutzte logische Adresse in der
FAT-Tabelle Schreib-/Clusterdaten zugewiesen und für diese
verwendet wird, und dass die der logischen Adresse entsprechende
physikalische Adresse auf bzw. in dem Aufzeichnungsträger verwendet
wird. Mit anderen Worten ausgedrückt
heißt
dies, dass ein gewisser nicht benutzter Bereich in der FAT-Tabelle
entsprechend der Aufzeichnung eines Clusters zugewiesen wird bzw.
ist und dass eine nicht benutzte physikalische Adresse in der Adressenumsetztabelle
entsprechend der logischen Adresse zugewiesen ist.
-
Jedes
Mal dann, wenn ein Clusterstrom von Daten aufgenommen wird, werden
die Schritte F302 bis F304 wiederholt; wenn die Aufzeichnung sämtlicher
Stromdaten, die als Aufzeichnungsdaten geliefert sind, abgeschlossen
ist, geht die Ablauffolge sodann weiter zu den Schritten F305 bis
F306, und die Datei ist abgeschlossen und der Prozess ist zu einem Ende
gebracht.
-
Bei
Ausführung
des oben beschriebenen Falles ist es in diesem Falle erforderlich,
dass die aktualisierten Daten der FAT-Tabelle und die aktualisierten Daten
der Adressenumsetztabelle jedes Mal geschrieben werden, wenn Clusterdaten
geschrieben werden. Mit anderen Worten ausgedrückt heißt dies, dass die einschreibbare
Menge der Stromdaten etwa 1/3 der einschreibbaren Datenmenge pro
Zeiteinheit beträgt,
da es erforderlich ist, die Daten im Verhältnis der Verwaltungsdaten-Aktualisierungsdatenmenge
von 2 zur Stromdatenmenge von 1 zu schreiben.
-
Die
Situation, gemäß der der
Datenstrom, der eine Bitrate aufweist, welche die schreibbare Datenmenge
pro Zeiteinheit überschreitet,
nicht aufgenommen werden kann, wird widerwillig hingenommen, da
die schreibbare Datenmenge pro Zeiteinheit in bzw. auf einem Aufzeichnungsträger durch
die Spezifikation der System-Hardware bestimmt ist und es indessen
bevorzugt wird, die Situation zu vermeiden, bei der die obere Grenze
weit tiefer liegt als die obere Grenze aufgrund der Spezifikation
der Hardware, nämlich
etwa 1/3 der schreibbaren Datenmenge pro Zeiteinheit.
-
In
Bezug auf das oben erwähnte
Problem ist es erwünscht,
das Problem zu eliminieren, gemäß dem die
Stromdaten hoher Bitrate unter dem Gesichtspunkt der Hardware aufnehmbar
sind, jedoch infolge der mit der Software verbundenen Restriktion nicht
aufgenommen werden können.
Mit anderen Worten ausgedrückt
heißt
dies, dass es erwünscht ist,
die Stromdaten hoher Bitrate bis zu der hohen Bitrate einschreiben
zu können, die
durch die Spezifikation der Hardware so hoch wie möglich festgelegt ist.
-
Die
Erfindung stellt ein Aufzeichnungsverfahren gemäß dem Anspruch 1 bereit.
-
Die
Erfindung stellt außerdem
ein Verwaltungsverfahren gemäß dem Anspruch
10 bereit.
-
Die
Erfindung stellt ferner eine Aufzeichnungsvorrichtung gemäß dem Anspruch
13 bereit.
-
Unter
Bezugnahme auf die beigefügten Zeichnungen
wird die Erfindung nachstehend an einem nicht beschränkenden
Beispiel weiter beschrieben. In den Zeichnungen zeigen
-
1A eine
Vorderansicht eines Stab-Speichers gemäß einer Ausführungsform
der vorliegenden Erfindung,
-
1B eine
Seitenansicht des Stab-Speichers gemäß einer Ausführungsform
der vorliegenden Erfindung,
-
1C eine
Draufsicht des Stab-Speichers gemäß einer Ausführungsform
der vorliegenden Erfindung,
-
1D eine
Unteransicht des Stab-Speichers gemäß einer Ausführungsform
der vorliegenden Erfindung,
-
2 eine
Darstellung zur der Erläuterung von
Dateisystem-Prozessschichten bei der vorliegenden Ausführungsform,
-
3A eine
Darstellung zur Erläuterung
eines Segments in der physikalischen Datenstruktur des Stab-Speichers
gemäß der vorliegenden
Ausführungsform,
-
3B eine
Darstellung zur Erläuterung
eines Boot-Blockes
in der physikalischen Datenstruktur des Stab-Speichers gemäß der vorliegenden
Ausführungsform,
-
3C eine
Darstellung zur Erläuterung
eines Sicherungs-Boot-Blocks
in der physikalischen Datenstruktur des Stab-Speichers gemäß der vorliegenden
Ausführungsform,
-
3D eine
Darstellung zur Erläuterung
eines Benutzerblockes in der physikalischen Datenstruktur des Stab-Speichers
gemäß der vorliegenden Ausführungsform,
-
3E eine
Darstellung zur Erläuterung
einer Seite in der physikalischen Datenstruktur des Stab-Speichers
gemäß der vorliegenden
Ausführungsform,
-
3F eine
Darstellung zur Erläuterung
eines redundanten Bereiches in der physikalischen Datenstruktur
des Stab-Speichers gemäß der vorliegenden
Ausführungsform,
-
4 eine
Darstellung zur Erläuterung
des Inhalts eines Verwaltungs- bzw. Management-Flags des Stab-Speichers
gemäß der vorliegenden
Ausführungsform,
-
5A eine
Darstellung, die den Status der Stab-Speicher-Blöcke vor Datenaktualisierungsprozessen
unter den Darstellungen veranschaulicht, die das Konzept von Aktualisierungsprozessen
und von physikalischen und logischen Adressen in dem Stab-Speicher gemäß der vorliegenden
Erfindung veranschaulichen,
-
5B eine
Darstellung, die den Status der Stab-Speicher-Blöcke nach Datenaktualisierungsprozessen
unter den Darstellungen veranschaulicht, welche das Konzept von
Aktualisierungsprozessen und von physikalischen und logischen Adressen
in dem Stab-Speicher
gemäß der vorliegenden
Erfindung veranschaulichen,
-
6 das
Verwaltungsformat der Adressenumsetztabelle für eine logische-physikalische Adressenumsetzung
gemäß der vorliegenden
Ausführungsform,
-
7A den
Aufbau der Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung gemäß der vorliegenden
Ausführungsform,
-
7B ein
Segment des Aufbaus der Adressenumsetztabelle für eine logische-physikalische Adressenumsetzung
gemäß der vorliegenden
Ausführungsform,
-
8A das
Verwaltungsformat eines nicht benutzten Blockes in der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung gemäß der Ausführungsform der vorliegenden
Erfindung,
-
8B das
Verwaltungsformat eines nicht benutzten Blockes in der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung gemäß der verwandten Technik,
-
9 eine
Tabelle, welche die Beziehung zwischen der Kapazität eines
Flash-Speichers, einer Anzahl von Blöcken, einer Kapazität eines
Blockes, einer Kapazität
einer Seite, der Größe der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung in dem Stab-Speicher gemäß der vorliegenden
Erfindung veranschaulicht,
-
10 ein
Blockdiagramm der Treibervorrichtung gemäß der vorliegenden Ausführungsform,
-
11 konzeptionell
das Interface zwischen einem Mikrocomputer eines Gerätekörpers und
dem Stab-Speicher gemäß der vorliegenden
Ausführungsform,
-
12 die
FAT-Struktur,
-
13 die
Form einer Cluster-Verwaltung durch die FAT-Tabelle,
-
14 den
Inhalt eines Verzeichnisses,
-
15 ein
Unterverzeichnis und ein Datei-Speicherformat,
-
16 ein
Ablaufdiagramm eines mit hoher Geschwindigkeit arbeitenden Schreibprozesses
gemäß der vorliegenden
Ausführungsform,
-
17 ein
Ablaufdiagramm eines Clusterdaten-Schreibvorgangs bei dem mit hoher
Geschwindigkeit erfolgenden Schreibprozess gemäß der vorliegenden Ausführungsform,
-
18A ein erstes Diagramm, welches ein Beispiel
einer mit hoher Geschwindigkeit erfolgenden Schreibope ration gemäß der vorliegenden
Ausführungsform
veranschaulicht,
-
18B ein zweites Diagramm, welches ein Beispiel
einer mit hoher Geschwindigkeit erfolgenden Schreiboperation gemäß der vorliegenden
Ausführungsform
veranschaulicht,
-
19 die
FAT-Tabelle vor einem mit hoher Geschwindigkeit erfolgenden Schreibprozess
gemäß der vorliegenden
Ausführungsform,
-
20 die
FAT-Tabelle nach einem mit hoher Geschwindigkeit erfolgenden Schreibprozess
gemäß der vorliegenden
Erfindung,
-
21 ein
Ablaufdiagramm eines Wiederaufnahmeprozesses gemäß der vorliegenden Ausführungsform,
-
22 ein
Ablaufdiagramm eines Schreibprozesses gemäß der verwandten Technik,
-
23 eine
Verzeichnisstruktur,
-
24 ein
erstes Diagramm, welches eine Verzeichnisänderung bei dem Hochgeschwindigkeitsprozess
gemäß der vorliegenden
Ausführungsform
veranschaulicht,
-
25 ein
zweites Diagramm, welches eine Verzeichnisänderung bei dem Hochgeschwindigkeits-Prozess
gemäß der vorliegenden
Ausführungsform
veranschaulicht,
-
26 ein
drittes Diagramm, welches eine Verzeichnisänderung bei dem Hochgeschwindigkeitsprozess
gemäß der vorliegenden
Ausführungsform
veranschaulicht,
-
27 ein
erstes Diagramm, in welchem eine Verzeichnisstrukturänderung
bei dem Hochgeschwindigkeitsprozess gemäß der vorliegenden Ausführungsform
veranschaulicht ist,
-
28 ein
zweites Diagramm, in welchem eine Verzeichnisstrukturänderung
bei dem Hochgeschwindigkeitsprozess gemäß der vorliegenden Ausführungsform
veranschaulicht ist,
-
29 ein drittes Diagramm, welches eine Verzeichnisstrukturänderung
bei dem Hochgeschwindigkeitspro zess gemäß der vorliegenden Ausführungsform
veranschaulicht,
-
30 ein viertes Diagramm, welches eine Verzeichnisstrukturänderung
bei dem Hochgeschwindigkeitsprozess gemäß der vorliegenden Ausführungsform
veranschaulicht,
-
31 ein fünftes
Diagramm, welches eine Verzeichnisstrukturänderung bei dem Hochgeschwindigkeitsprozess
gemäß der vorliegenden
Erfindung veranschaulicht,
-
32 eine Hochgeschwindigkeits-Dateiöffnung gemäß der vorliegenden
Ausführungsform.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsformen
-
Nachstehend
wird eine Ausführungsform
der vorliegenden Erfindung beschrieben. Bei dieser Ausführungsform
werden eine Treibervorrichtung und ein Aufzeichnungsverfahren, welches
die Treibervorrichtung nutzt, beschrieben; die betreffende Vorrichtung und
das Verfahren werden zur Aufzeichnung/Wiedergabe von Daten in bzw.
von einem Stabspeicher mit einem plattenartigen Aussehen als beispielhaftem Aufzeichnungsträger herangezogen.
-
Die
Ausführungsform
wird in der nachstehend angegebenen Reihenfolge beschrieben.
- 1. Offensichtlicher Aufbau eines Stab-Speichers
- 2. Format eines Stab-Speichers
- 2-1. Schichtstruktur des Speicherdatei-Systemprozesses,
- 2-2. physikalische Datenstruktur
- 2-3. Konzept von physikalischer Adresse und logischer Adresse
- 2-4. Adressenumsetztabelle für
eine logische-physika lische Adressenumsetzung
- 3. Struktur bzw. Aufbau der Treibervorrichtung
- 4. FAT-Struktur
- 5. Schreibprozess von Stromdaten,
- 6. Wiederaufnahmeprozess
-
1. Offensichtlicher
Aufbau des Stab-Speichers
-
Zunächst wird
der offensichtliche Aufbau eines Stab-Speichers 1, nämlich des
bei der vorliegenden Erfindung verwendeten Aufzeichnungsträgers bzw.
-mediums unter Bezugnahme auf die 1A bis 1D beschrieben.
Der Stab-Speicher 1 ist mit einem Speicherelement versehen,
welches beispielsweise eine bestimmte Kapazität in einem plattenartigen Behältnis aufweist,
wie dies in 1A bis 1D veranschaulicht
ist. Bei diesem Beispiel wird ein Flash-Speicher als Speicherelement
verwendet.
-
Eine
Draufsicht (1C), eine Vorderansicht (1A),
eine Seitenansicht (1B) und eine Unteransicht (1D)
des Behältnisses,
welches beispielsweise aus einer Kunststoffform gebildet ist, sind dargestellt,
wobei die detaillierten beispielhaften Größen in den Breiten W11, W12,
W13, die in 1C veranschaulicht, gegeben
sind mit W11 = 60 mm, mit W12 = 20 mm bzw. W13 = 2,8 mm.
-
Ein
Anschluss 2 mit beispielsweise 9 Elektroden ist in dem
Bereich von unterhalb der Vorderseite bis zur Unterseite des Behältnisses
gebildet; die Daten werden mittels des Anschlusses 2 aus
dem internen Speicherelement gelesen oder in dieses eingeschrieben.
Der obere linke Bereich des Behältnisses ist
in Richtung der Ebene zur Bildung eines Ausschnitts 3 ausgeschnitten.
Der Ausschnitt 3 dient der Verhinderung einer fehlerhaften
Einführung
des Stab-Speichers 1, beispielsweise in fehlerhafter Richtung,
wenn der Stab-Speicher 1 in einen Anbringungs-/Lösungsmechanismus
der Treibervorrichtungs-Körperseite
eingeführt
wird.
-
Ein
Aufrauh- bzw. Griffbereich 4, der zur Verhinderung eines
Gleitens zur Verbesserung der Anwendbarkeit dient, ist auf der unteren
Seite des Behältnisses
gebildet.
-
Ferner
ist ein Schiebeschaltglied 5 vorgesehen, das zur Verhinderung
eines fehlerhaften Löschens
des Speicherinhalts dient.
-
2. Format
des Stab-Speichers
-
2-1. Schichtstruktur des
Speicherdatei-Systemprozesses
-
Anschließend wird
das Format in dem System beschrieben, welches den Stab-Speicher 1 als Aufzeichnungsträger bzw.
-medium verwendet.
-
2 zeigt
eine Dateisystemprozess-Schichtstruktur des Systems, welches den Stab-Speicher 1 als
Aufzeichnungsträger
verwendet.
-
Wie
in 2 veranschaulicht, sind in der Dateisystemprozess-Schichtstruktur
eine Dateiverwaltungs-Prozessschicht, eine Schicht für die logische
Adresse, eine Schicht für
die physikalische Adresse und ein Flash-Speicherzugriff unter der
Anwendungs-Prozessschicht aufeinanderfolgend angeordnet.
-
Bei
diesem Schichtaufbau ist die Dateiverwaltungs-Prozessschicht für die sogenannte
FAT-Tabelle (Datei-Zuweisungstabelle) relevant.
-
Wie
aus 2 zu verstehen ist, wird in das Dateisystem des
vorliegenden Beispiels das Konzept der logischen Adresse und der
physikalischen Adresse eingeführt,
und das betreffende Konzept wird nachstehend beschrieben.
-
2-2. Physikalische Datenstruktur
-
3A bis 3F zeigen
eine physikalische Datenstruktur des Flash-Speichers, nämlich des
Speicherelements in dem Stab-Speicher 1.
-
Der
als Flash-Speicher genutzte Speicherbereich ist in Dateneinheiten
fester Länge
unterteilt, die als Segment bezeichnet werden. Das Segment weist
eine mit 4 MB (Megabyte) oder 8 MB pro 1 Segment spezifizierte Größe auf,
und die Anzahl der Segmente in einem Flash-Speicher unterscheidet sich
in Abhängigkeit
von der Kapazität
des Flash-Speichers.
-
Wie
in 3A veranschaulicht, ist ein Segment in eine als
Block vorgesehene bzw. bezeichnete Dateneinheit fester Länge unterteilt.
Die Dateneinheit ist mit 8 KB oder 16 KB spezifiziert. Als Regel
gilt, dass in dem Fall, dass ein Segment in 512 Blöcke unterteilt
ist, für
den Block n, wie in 3A veranschaulicht, n = 511
gilt. Beim Flash-Speicher ist jedoch mit Rücksicht darauf, dass die Anzahl
der Blöcke,
die als defekter Bereich (das ist ein hinsichtlich des Schreibens
gesperrter beschädigter
Bereich) vorhanden sind, in einem Bereich einer vorgeschriebenen
Zahl zugelassen ist, und zwar in dem Fall, dass die Anzahl der echten
Blöcke,
die für
das Schreiben von Daten effektiv erzielt werden, die oben erwähnte Größe n kleiner
als 511.
-
Die
vorderen zwei Blöcke
0 und 1 der Blöcke 0
bis n, welche in der in 3A gezeigten
Weise gebildet sind, werden als Boot-Block bezeichnet, und der Boot-Block
ist nicht notwendigerweise durch die Blöcke 0 und 1 gebildet.
-
Die
restlichen Blöcke
sind der Benutzerblock, in welchem die Benutzerdaten zu speichern sind.
-
Ein
Block ist in Seiten 0 bis m unterteilt, wie dies in 3D veranschaulicht
ist. Die Kapazität
einer Seite weist eine feste Länge
von 528 (= 512 + 16) Bytes auf, die aus einem 512 Byte umfassenden
Datenbereich und einem 16 Byte umfassenden redundanten Bereich bestehen,
wie dies in 3E veranschaulicht ist. Die
Struktur des redundanten Bereiches wird nachstehend unter Bezugnahme
auf 3F beschrieben.
-
Die
Anzahl der Seiten in einem Block beträgt 16 Seiten im Falle einer
Blockkapazität
von 8 KB, und sie beträgt
32 Seiten im Falle einer Blockkapazität von 16 KB.
-
Die
Seitenstruktur in dem Block, wie er in 3D und 3E veranschaulicht
und oben beschrieben worden ist, ist für den oben erwähnten Boot-Block
und den Benutzer-Block gemeinsam vorgesehen.
-
In
dem Flash-Speicher werden die Daten in einer Seiteneinheit gelesen
und geschrieben, und die Daten werden in einer Blockeinheit gelöscht. Die
Daten werden lediglich in eine gelöschte Seite geschrieben. Demgemäß wird das
tatsächliche
Lesen/Schreiben der Daten in einer Blockeinheit ausgeführt.
-
Wie
in 3B veranschaulicht, wird ein Header in der Seite
0 gespeichert, und die Information an der durch die Adresse von
von Anfang an fehlerhaften Daten wird in der Seite 1 gespeichert. Überdies wird
die Information, auf die als SIS/IDS Bezug genommen wird, in der
Seite 2 gespeichert.
-
Der
zweite Boot-Block stellt einen Bereich für eine Sicherung als Boot-Block
dar, wie dies in 3C veranschaulicht ist.
-
16
Bytes des in 3E dargestellten redundanten
Bereiches weisen die in 3F gezeigte Struktur
auf. In dem redundanten Bereich stellen die vorderen drei Bytes
vom 0-ten Byte bis zum zweiten Byte den Überschreibbereich dar, in den
entsprechend neu einschreibbar ist, um den Dateninhalt des Datenbereiches
zu aktualisieren. Aus dem Überschreibbereich
wird der Blockstatus in dem 0-ten Byte gespeichert, und die Block-Flag-Daten
(Datenstatus) werden in dem ersten Byte gespeichert. Der Seiten-Datenstatus
1 als Umsetztabellen-Flag wird durch die Heranziehung eines oberen
bestimmten Bits des zweiten Bytes gespeichert.
-
Als
Regel gilt, dass Bytes vom dritten Byte bis zum 15-ten Byte als
der Bereich festgelegt sind, in welchem die Information den Inhalt
aufweist, der in Abhängigkeit
von dem Dateninhalt der aktuellen Seite festliegt, und in den nicht
neu einschreibbar ist. Eine Block-Information wie das Verwaltungs-
bzw. Management-Flag ist in dem dritten Byte gespeichert, und die
nachstehend beschriebene logische Adresse ist in dem 2-Byte-Bereich
gespeichert, der aus dem vierten Byte und dem fünften Byte besteht.
-
Der
Bereich, der aus 5 Bytes vom sechsten Byte bis zum 10-ten Byte besteht,
ist als Format-Reservebereich festgelegt, und der Bereich, der aus den
folgenden zwei Bytes besteht, das sind das 11-te Byte und das 12-te
Byte, ist als der Bereich festgelegt, in welchem die verteilte Information
ECC für eine
Korrektur eines Fehlers der oben erwähnten Formatreserve gespeichert
ist.
-
In
den restlichen Bytes vom 13-ten Byte bis zum 15-ten Byte sind die
Daten ECC für
eine Korrektur eines Fehlers der Daten des in 3E dargestellten
Datenbereiches gespeichert.
-
Der
Inhalt des in dem dritten Byte des in 3F dargestellten
redundanten Bereiches gespeicherten Verwaltungs-Flags ist, wie in 4 veranschaulicht,
in Bits vom Bit 7 bis zum Bit 0 festgelegt.
-
Die
Bits 7 und 6 sowie die Bits 1 und 0 sind als Reserve (nicht festgelegt)
bestimmt.
-
Ein
Flag ist für
eine Anzeige einer Zugriffszulassung auf den gegenwärtigen Block,
die wirksam ist (l:frei) oder die nicht wirksam ist (0:geschütztes Lesen)
ist im Bit 5 gespeichert.
-
Ein
Flag zur Anzeige einer Kopiersperre (1:OK, 0:NG) des gegenwärtigen Blocks
ist in Bit 4 gespeichert.
-
Das
Bit 3 ist als Umsetztabellen-Flag festgelegt. Das Umsetztabellen-Flag
stellt eine Identifizierungsgröße dar,
mit der angezeigt wird, ob der gegenwärtige Block eine Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung betrifft, wie sie nachstehend
beschrieben wird, oder nicht. Falls der Wert des Bits 3 gegeben
ist mit 1, dann ist der gegenwärtige
Block als Adressenumsetztabelle für eine logische physikalische
Adressenumsetzung identifiziert. Wenn andererseits der Wert des
Bits 3 gegeben ist mit 0, ist der gegenwärtige Block sodann als nicht
wirksam identifiziert. Im Einzelnen ist der gegenwärtige Block
als keine Adressenumsetztabelle für eine logische-physikalische Adressenumsetzung
identifiziert.
-
Im
Bit 2 ist ein System-Flag gespeichert; mit 1 wird bzw. ist angegeben,
dass der gegenwärtige Block
ein Benutzerblock ist, und mit 0 wird bzw. ist angegeben, dass der
gegenwärtige
Block ein Boot-Block ist.
-
Die
Beziehung zwischen dem Segment und dem Block sowie der Flash-Speicherkapazität wird unter
Bezugnahme auf 9 beschrieben. Die Flash-Speicherkapazität des Stab-Speichers 1 ist
als irgendeine Speicherkapazität
von 4 MB, 8 MB, 16 MB, 32 MB, 64 MB und 128 MB spezifiziert.
-
Im
Falle von 4 MB, die die kleinste Kapazität darstellt, ist ein Block
als 8 KB spezifiziert, und die Anzahl der Blöcke beträgt 512. Mit anderen Worten ausgedrückt heißt dies,
dass ein 4-MB-Speicher gerade eine Segmentkapazität aufweist.
Im Falle einer 8-MB-Kapazität
ist ein Block in entsprechender Weise mit einer 8-KB-Kapazität spezifiziert,
und die Anzahl der Blöcke
beträgt
2 Segmente = 1024. Wie hier oben beschrieben, beträgt in dem
Fall, dass 1 Block = 8 KB beträgt,
die Anzahl der Seiten in einem Block sodann 16. Im Falle einer Ka pazität von 16
MB können
die beiden Kapazitäten
von 8 KB und 16 KB gemischt werden bzw. sein. Demgemäß können zwei Arten
möglich
sein, nämlich
2048 Blöcke
= 4 Segmente (1 Block = 8 KB) und 1024 Blöcke = 2 Segmente (1 Block =
16 KB). In dem Fall, dass 1 Block = 16 KB vorliegt, ist die Anzahl
der Seiten in einem Block gegeben mit 32.
-
Im
Falle einer Kapazität
von 32 MB, 64 MB und 128 MB ist die Kapazität pro Block mit lediglich 16
KB spezifiziert. Im Falle einer Kapazität von 32 MB ist demgemäß ein Block
spezifiziert mit 2048 Blöcke =
4 Segmente; im Falle einer Kapazität von 64 MB ist ein Block spezifiziert
mit 4096 Blöcken
= 8 Segmente, und im Falle einer Kapazität von 128 MB ist ein Block
spezifiziert mit 8192 Blöcken
= 16 Segmente.
-
2-3. Konzept der physikalischen
Adresse und der logischen Adresse
-
Anschließend wird
auf der Grundlage der physikalischen Datenstruktur des Flash-Speichers, wie
sie oben beschrieben worden ist, das Konzept der physikalischen
Adresse und der logischen Adresse in dem Dateisystem bei dem vorliegenden
Beispiel entsprechend der in 5A und 5B veranschaulichten
Operation des erneuten Schreibens von Daten beschrieben.
-
5A zeigt
ein schematisches Diagramm von vier Blöcken, die aus einem bestimmten
Segment ausgewählt
sind.
-
Jedem
Block ist eine physikalische Adresse zugeordnet. Die physikalische
Adresse wird bzw. ist entsprechend der physikalischen Anordnungsreihenfolge
von Blöcken
in dem Speicher festgelegt, und die Beziehung zwischen einem bestimmten
Block und der entsprechenden physikalischen Adresse ist permanent.
Hier sind die physikalischen Adressenwerte 105, 106, 107 und 108 den
vier in 5A von oben aus dargestellten
Blöcken
zugewiesen. Die echte physikalische Adresse wird durch zwei Bytes dargestellt.
-
Wie
in 5A veranschaulicht, ist angenommen, dass Blöcke, die
durch die physikalischen Adressen 105 und 106 dargestellt bzw. bezeichnet sind,
die verwendeten Blöcke
sind, in welchen Daten gespeichert werden bzw. sind, und dass die
durch die physikalischen Adressen 107 und 108 bezeichneten Blöcke nicht
benutzte Blöcke
sind, in welchen die Daten gelöscht
sind und bei denen es sich mit anderen Worten um einen Bereich handelt,
in welchem keine Aufzeichnung vorliegt.
-
Die
logische Adresse ist die Adresse, die begleitend den in den Block
geschriebenen Daten zugeordnet ist. Die logische Adresse stellt
die Adresse dar, die in dem FAT-Dateisystem verwendet wird, wie dies
nachstehend beschrieben wird.
-
In 5A sind
die logischen Adressenwerte 102, 103, 104 und 105 den vier
Blöcken
von oben aus zugewiesen. Die logische Adresse wird außerdem durch
zwei Bytes dargestellt.
-
Es
wird angenommen, dass die beispielsweise unter der physikalischen
Adresse 105 gespeicherten Daten von dem in 5A dargestellten
Status ausgehend aktualisiert werden und dass der Inhalt teilweise
neu geschrieben oder gelöscht
wird.
-
In
diesem Fall werden in dem Dateisystem des Flash-Speichers die Aktualisierungsdaten
nicht wieder in denselben Block geschrieben, sondern die Aktualisierungsdaten
werden in den nicht benutzten Block geschrieben. Im Einzelnen werden
beispielsweise, wie in 5B veranschaulicht, die Daten
unter der physikalischen Adresse 105 gelöscht, und die Aktualisierungsdaten
werden in den Block geschrieben, der durch die physikalische Adresse
107 repräsentiert
ist, der bis zu dem betreffenden Zeitpunkt (Prozess ➀)
nicht benutzt worden ist.
-
Wie
beim Prozess ➁ veranschaulicht, wird die logische Adresse
derart geändert,
dass die logische Adresse 102, die der physikalischen Adresse 105
im Zustand vor der Datenaktualisie rung in 5A entspricht,
der physikalischen Adresse 107 des Blockes entspricht, in den die
Aktualisierungsdaten geschrieben sind. In Verbindung mit dem oben
erwähnten
Prozess wird die logische Adresse 104, welche der physikalischen
Adresse 107 vor einer Datenaktualisierung entspricht, derart geändert, dass
sie der physikalischen Adresse 105 entspricht.
-
Im
Einzelnen stellt die physikalische Adresse die Adresse dar, die
dem Block immanent zugewiesen ist, und die physikalische Adresse
stellt die Adresse dar, die in Verbindung mit den einmal in den Block
eingeschriebenen Daten verbunden ist und die den in die Blockeinheit
geschriebenen Daten zugehörig
ist.
-
Als
Ergebnis des Wechsel- bzw. Austauschprozesses des Blockes erhält ein bestimmter Speicherbereich
(Block) nicht konzentriert den Zugriff, und es ist möglich, die
Lebensdauer des Flash-Speichers zu verlängern, in den mit einer oberen
begrenzten Anzahl von Wiedereinschreib-Wiederholungen erneut eingeschrieben
werden kann.
-
Die
logische Adresse wird, wie bei dem oben erwähnten Prozess ➁ zu
dem betreffenden Zeitpunkt verarbeitet. Der Block, in den Daten
einzuschreiben sind, wird dadurch zwischen vor der Aktualisierung und
nach der Aktualisierung während
des Wechsel- bzw. Austauschprozesses des Blockes verschoben, wobei
dieselbe Adresse im Hinblick auf die FAT-Tabelle ermittelt werden
kann und wobei der folgende Zugriff richtig ausgeführt werden
kann.
-
Um
die Verwaltung bezüglich
der Aktualisierung der oben beschriebenen Umsetztabelle für eine logische-physikalische
Umsetzung zu vereinfachen, ist der Änderungsprozess bezüglich des
Blockes als ein Prozess spezifiziert, der in einem Segment abzuschließen ist.
Mit anderen Worten ausgedrückt
heißt dies,
dass der Änderungsprozess
bezüglich
des Blockes sich nicht über
zwei oder mehr Segmente erstreckt.
-
2-4. Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung
-
Wie
aus der Beschreibung unter Bezugnahme auf die 5A und 5B verständlich ist,
wird bei dem Änderungsprozess
bezüglich
des Blockes die entsprechende Beziehung zwischen der physikalischen
Adresse und der logischen Adresse geändert. Um den Zugriff für das Lesen/Schreiben
der Daten aus dem/in den Flash-Speicher zu realisieren, ist daher
eine Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung erforderlich, die
die entsprechende Beziehung zwischen der physikalischen Adresse
und der logischen Adresse angibt. Im Einzelnen bezieht sich die
FAT-Tabelle auf die Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung. Dabei wird die physikalische Adresse, die der
logischen Adresse entspricht, welche durch die FRT-Tabelle zugeteilt
wird, spezifiziert, und auf den durch die spezifizierte physikalische
Adresse bezeichneten Block kann zugegriffen werden. Mit anderen
Worten ausgedrückt
heißt dies,
dass der Zugriff auf den Flash-Speicher durch die FAT-Tabelle ohne
die Umsetztabelle für
die logische-physikalische Umsetzung unmöglicht ist.
-
Wenn
in konventioneller Weise beispielsweise ein Stab-Speicher 1 an
einem als Steuer- bzw. Treibervorrichtung dienenden Gerätekörper angebracht
ist, überprüft der Mikrocomputer
auf der Gerätekörperseite
den Speicherinhalt des Stab-Speichers 1, um dadurch die
Adressenumsetztabelle für
eine logische-physikalische
Adressenumsetzung auf der Gerätekörperseite
zu bilden, und die gebildete Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung wird im RAM-Speicher der Gerätekörperseite gespeichert. Mit
anderen Worten ausgedrückt
heißt
dies, dass die Information der Adressenumsetztabelle für einen
logische-physikalische Adressenumsetzung nicht in dem Stab-Speicher 1 gespeichert
wird.
-
Andererseits
ist das vorliegende Beispiel so aufgebaut, dass die Adressenumsetztabelle
für eine logische-physikalische
Adressenumsetzung in dem Stab-Speicher 1 gespeichert wird
bzw. ist, wie dies nachstehend beschrieben wird.
-
6 veranschaulicht
in konzeptioneller Weise den Aufbau der in dem Stab-Speicher 1 des vorliegenden
Beispiels zu speichernden Adressenumsetztabelle für eine logische-physikalische Adressenumsetzung.
Im Einzelnen ist bei dem vorliegenden Beispiel eine Tabelleninformation,
in der beispielsweise eine der logischen Adresse entsprechende physikalische
2-Byte-Adresse in steigender Reihenfolge der logischen Adresse gespeichert
ist, aufgebaut. Eine physikalische Adresse und eine logische Adresse
sind, wie zuvor beschrieben, jeweils durch zwei Byte dargestellt.
Der Grund dafür
liegt darin, dass mit Rücksicht
darauf, dass 8192 Blöcke
im Falle des Flash-Speichers die maximale Kapazität von 128
MB aufweisen, die Anzahl der Bits, die zur Abdeckung von 8192 Blöcken ausreichend
ist, höchstens
benötigt
werden. Aus diesem Grunde sind die physikalische Adresse und die
logische Adresse in 6 beispielhaft durch zwei Bytes
entsprechend der Realität
dargestellt. Hierbei wird die 2-Byte-Zahl durch hexadezimale Zifferndarstellung
beschrieben. 0x gibt an, dass der folgende Wert eine Zahl ist, die durch
hexadezimale Schreibweise beschrieben ist. Die Schreibweise, bei
der 0x eine hexadezimale Zahl bzw. Ziffer angibt, wird in der folgenden
Beschreibung zur Bezeichnung einer hexadezimalen Ziffer herangezogen.
In einigen Fällen
wird 0x in den Zeichnungen weggelassen, um eine komplexe Schreibweise
zu vermeiden.
-
Ein
beispielhafter Aufbau einer für
eine logische-physikalische Adressenumsetzung dienenden Adressenumsetztabelle,
die entsprechend dem vorstehend unter Bezugnahme auf 6 beschriebenen
Konzept aufgebaut ist, ist in 7A und 7B veranschaulicht.
Die Adressenumsetztabelle für
eine logische-physikalische
Adressenumsetzung ist in einem bestimmten Block des Flash-Speichers
gespeichert, wie dies in 7A und 7B dargestellt
ist. Der Block ist als im letzten Segment befindlich spezifiziert.
Zunächst
besteht, wie in 7A veranschaulicht, ein 2-Seiten-Bereich
aus Seiten 0 und 1 von den Seiten, in die Blöcke zu unterteilen sind; dem
betreffenden 2-Seiten-Bereich wird die Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung zugewiesen, die für das Segment 0 dient. Wenn beispielsweise,
wie dies unter Bezugnahme auf 9 beschrieben
wird, die Kapazität
des Flash-Speichers gegeben ist mit 4 MB, dann stellt der Bereich
der Seiten 0 und 1 mit Rücksicht
darauf, dass lediglich ein Segment vorliegt, den Bereich der Adressenumsetztabelle
für die
logische-physikalische Adressenumsetzung dar. Falls beispielsweise die
Kapazität
des Flash-Speichers gegeben ist mit 8 MB, dann werden mit Rücksicht
darauf, dass zwei Segmente vorliegen, nicht nur die Seiten 0 und
1 der Adressenumsetztabelle für
die logische-physikalische Adressenumsetzung für das Segment 0 zugewiesen,
sondern es werden auch die folgenden zwei Seiten, nämlich die
Seiten 2 und 3 zusätzlich
als Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung für das Segment 1 zugewiesen.
-
Mit
weiterer Steigerung der Kapazität
des Flash-Speichers wird der Bereich, der als Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung für das Segment zugewiesen wird,
alle folgenden zwei Seiten festgelegt. Falls die Kapazität des Flash-Speichers
128 MB beträgt,
welches den Maximalwert darstellt, da dabei 16 Segmente vorhanden
sind, wird der Bereich der Seiten bis zum Segment 15 höchstens
als Bereich der Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung zugewiesen. Demgemäß werden im Falle eines Flash-Speichers
mit einer Kapazität
von 128 MB, nämlich
mit der maximalen Kapazität,
32 Seiten herangezogen, wobei die Seite N, wie dies in 7A veranschaulicht
ist, die Seite 31 ist, was der Maximalwert ist. Wie aus der obigen
Beschreibung verständlich
sein dürfte,
wird die Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung in Segmenteinheiten
verwaltet.
-
7B zeigt
ein Diagramm zur Veranschaulichung eines ausgewählten 2-Seiten-Datenbereiches,
anhand dessen der Aufbau der Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung für
ein Segment beschrieben wird. Mit anderen Worten ausgedrückt heißt dies,
dass, wie dies in 3E veranschaulicht, der Datenbereich
einer Seite aus 512 Bytes besteht; 7B zeigt
1024 (= 512 × 2)
Bytes, die auf den Bereich ausgedehnt sind.
-
Wie
in 7B gezeigt, ist der Bereich von 1024 Bytes, bei
dem es sich um den Datenbereich für zwei Seiten handelt, in 2-Byte-Unterbereiche
unterteilt, und die 2-Byte-Unterbereiche sind als Unterbereich für die logische
Adresse 0 und als Unterbereich für
die logische Adresse 1, ... zugeteilt, und zwar aufeinanderfolgend
vom vorderen Ende aus. Der letzte 2-Byte-Unterbereich, der das 991-te Byte
und das 992-te Byte von vorn umfasst, ist als Unterbereich für die logische
Adresse 495 zugewiesen. Die physikalische Adresse, die der jeweiligen
logischen Adresse entspricht, wird in den 2-Byte-Unterbereich eingeschrieben. Demgemäß wird in
der Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung beim vorliegenden
Beispiel in dem Fall, dass die entsprechende Beziehung zwischen
der physikalischen Adresse und der logischen Adresse in Verbindung
mit einem Austauschprozess des Blockes aufgrund einer tatsächlichen
Datenaktualisierung geändert
wird, die Tabelleninformation neu geschrieben, so dass die Speicherung
der physikalischen Adresse unter Bezugnahme auf die logische Adresse
aktualisiert ist.
-
Der
restliche Bereich, der aus 32 Bytes vom 993-ten Byte bis zum letzten
1024-ten Byte besteht, ist dem Bereich zugewiesen, in welchem die
physikalische Adresse der verbleibenden Blöcke gespeichert wird bzw. ist.
Mit anderen Worten ausgedrückt
heißt dies,
dass die physikalische Adresse der 16 verbleibenden Blöcke verwaltet
werden kann. Der hier beschriebene übrige Block wird als sogenannter
Arbeitsblock be trachtet, der als der Bereich festgelegt ist, aus
welchem neu zu schreibende Daten vorübergehend entleert werden,
wenn beispielsweise die Daten in einer Blockeinheit aktualisiert
werden.
-
Obwohl
ein Segment entsprechend der obigen Beschreibung in 512 Blöcke aufgeteilt
bzw. unterteilt ist, ist die Anzahl der verwaltbaren Blöcke gegeben
mit 496, und diese Blöcke
umfassen Blöcke vom
Block für
die logische Adresse 0 bis zum Block für die logische Adresse 495
in der in 7B dargestellten Tabellestruktur.
Der Grund dafür
liegt darin, dass die oben erwähnte übrige Adresse
tatsächlich festgelegt
ist und dass der Mangel (ein nicht verfügbarer Bereich) einer bestimmten
Anzahl von Blöcken in
dem Flash-Speicher zugelassen ist und eine beträchtliche Anzahl von fehlerhaften
Blöcken
tatsächlich
vorhanden ist. Demgemäß genügt die Struktur, die
für die
Verwaltung von 496 Blöcken
dient, für
die Verwaltung von Blöcken,
die für
ein Schreiben oder Löschen
wirksam sind.
-
Im
Falle des Blockes, bezüglich
dessen die Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung in der oben beschriebenen Weise gespeichert ist,
wie dies in 4 veranschaulicht ist, ist eine
0 im Bit 3 des Verwaltungs-Flags als Dateninhalt des Verwaltungs-Flags
in dem redundanten Bereich der jeweiligen Seite festgelegt, die
einen Block bildet. Infolgedessen gibt das Verwaltungs-Flag an,
dass es sich bei diesem Block um einen Block handelt, in welchem
die Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung gespeichert ist.
-
Der
Block, in welchem die Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung gespeichert ist, wird einem Austausch- bzw. Wechselprozess
unterzogen, der oben unter Bezugnahme auf 5A und 5B beschrieben
worden ist, und zwar ohne Ausnahme in dem Fall, dass der Inhalt
der Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung neu geschrieben wird.
Daher ist es in dem Fall, dass der Block, in welchem die Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung aufgezeichnet ist, instabil
ist, unmöglich
eine Bestimmung vorzunehmen, so dass die Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung in einem spezifizierten Block gespeichert ist. Die
FAT-Tabelle greift auf den Flash-Speicher zu, um den Block mit dem
oben erwähnten
Verwaltungs-Flag-Bit 3 von "0" zu suchen und um
dadurch den Block zu identifizieren, in welchem die Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung gespeichert ist. Der Block,
in welchem die Adressenumsetztabelle für die logische-physikalische
Adressenumsetzung gespeichert ist, wird als in dem Segment mit der
letzten Nummer in dem Flash-Speicher beim vorliegenden Beispiel liegend
spezifiziert, so dass die FAT-Tabelle leicht den Block ermittelt,
in welchem die Adressenumsetztabelle für die logische-physikalische
Adressenumsetzung gespeichert ist. Die FAT-Tabelle kann die Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung lediglich durch Ermitteln des
Blockes des Segments mit der letzten Nummer suchen. Es ist nicht
notwendig, sämtliche
Segmente des Flash-Speichers abzusuchen, um die Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung zu ermitteln. Die in 7A und 7B dargestellte
Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung wird beispielsweise
dann gespeichert, wenn der Stab-Speicher 1 hergestellt
wird.
-
Die
Beziehung zwischen der Kapazität
des Flash-Speichers und der Größe der Adressenumsetztabelle
für eine
logische-phy sikalische Adressenumsetzung wird unter Bezugnahme
auf 9 erneut beschrieben. Wie oben unter Bezugnahme
auf 7A und 7B beschrieben,
beträgt
die Größe der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung zur Verwaltung eines Segments
1024 Bytes, was zwei Seiten äquivalent ist,
nämlich
1 KB. Demgemäß beträgt die Größe der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung, wie bei der in 9 gezeigten
Umsetztabelle für eine
logische-physikalische Adressenumsetzung gezeigt, 1 KB in dem Fall, dass
die Kapazität
des Flash-Speichers gegeben ist mit 4 MB (1 Segment). Die Größe der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung beträgt 2 KB (4 Seiten) in dem Fall,
dass die Kapazität
des Flash-Speichers gegeben ist mit 8 MB (2 Segmente). In dem Fall,
dass die Kapazität des
Flash-Speichers gegeben ist mit 16 MB, beträgt die Größe der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung 4 KB (8 Seiten) für 2048 Blöcke = 4
Segmente, und die Größe der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung beträgt 2 KB (4 Seiten) für 1024 Blöcke = 2
Segmente. In dem Fall, dass die Kapazität des Flash-Speichers gegeben
ist mit 32 MB (4 Segmente), beträgt
die Größe der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung 4 KB (8 Seiten); in dem
Fall, dass die Kapazität
des Flash-Speichers gegeben ist mit 64 MB (4 Segmente) beträgt die Größe der Adressenumsetztabelle
für einen
logische-physikalische Adressenumsetzung 8 KB (16 Seiten), und in dem
Fall, dass die Kapazität
des Flash-Speichers gegeben ist mit 128 MB (16 Segmente), nämlich mit
der maximalen Kapazität,
beträgt
die Größe der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung 16 KB (32 Seiten).
-
In
der Struktur eines Dateisystems, beispielsweise eines konventionellen
Flash-Speichers, wird der wesentliche Adressenwert nicht in dem
physikalischen Adressenbereich entsprechend der logischen Adresse
gespeichert, um in der Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung ungenutzt zu sein, da dies unbestimmt ist.
-
Nachstehend
wird ein Beispiel veranschaulicht. Es sei angenommen, dass beispielsweise
die logischen Adressen 0x0000, 0x0001, 0x0002, 0x0003 bereits in
der in 8B dargestellten Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung benutzt sind; sodann sind
die physikalischen Adressenwerte, bezüglich der Daten, beispielsweise
0x0002, 0x0006, 0x0007 und 0x0008 entsprechend den logischen Adressen
(0x0000 bis 0x0003) eingeschrieben worden sind, in dem Speicherbereich
der entsprechenden physikalischen Adresse gespeichert.
-
Wenn
andererseits die logische Adresse 0x0004 nicht benutzt wird, dann
wird ein Null-Wert (nämlich
der Wert zur Identifizierung, dass die betreffende Adresse nicht
benutzt ist), nämlich
0xFFFF in dem Speicherbereich der physikalischen Adresse festgelegt,
der die logische Adresse 0x0004 entspricht.
-
Wenn
es erwünscht
ist, dass die der logischen Adresse 0x0004 entsprechenden Daten
erneut unter Anwendung der Adressenumsetztabelle für einen
logische-physikalische Adressenumsetzung, wie in 8B veranschaulicht,
aufzuzeichnen sind, dann wird der Block, der physikalisch nicht
benutzt ist, in der Schichtstruktur gesucht, die von der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung verschieden ist, und zwar beispielsweise
mittels der FAT-Tabelle, und die Daten werden in den Block eingeschrieben,
der gesucht worden ist. Die physikalische Adresse, die den Block anzeigt,
in den die Daten neu eingeschrieben werden, wird in den Speicherbereich
entsprechend der logischen Adresse 0x0004 der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung eingeschrieben, um dadurch
den Inhalt zu aktualisieren.
-
Eine
derartige Verwaltung der Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung könnte
den nachstehend beschriebenen Nachteil hervorrufen.
-
Es
sei angenommen, dass die auf der Gerätekörperseite zu verarbeitenden
Daten durch Zeitfolgen-Daten gegeben sind (das sind beim vorliegenden
Beispiel die sogenannten Stromdaten), die eine sogenannte Echtzeit-Charakteristik
aufweisen, nämlich
die Bewegtbilddaten oder Audiodaten, wie Musik.
-
Ferner
sei angenommen, dass der Gerätekörper eine
Struktur verwendet, bei der die eingangsseitigen Stromdaten einer
Signalverarbeitung in Echtzeit unterzogen werden und bei der die
Daten in einem Stab-Speicher 1 als Aufzeichnungsdaten aufgezeichnet
werden.
-
Wenn
zu dem betreffenden Zeitpunkt die Verwaltungsausführung der
Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung, wie sie oben unter
Bezugnahme auf 8B beschrieben worden ist, angewandt
wird, wird notwendigerweise nach dem nicht benutzten Block gesucht, wenn
die Daten aufgezeichnet werden. Die Suche nach dem nicht benutzten
Block, wie sie oben beschrieben worden ist, stellt einen sehr schwierigen Prozess
dar, da es erforderlich ist, mit einer geringen mittleren Geschwindigkeit
zu schreiben, so dass die eingangsseitigen Aufzeichnungsdaten nicht überlaufen,
wenn die Stromdaten, wie oben beschrieben, aufgezeichnet werden.
Mit anderen Worten ausgedrückt
heißt
dies, dass es schwierig ist, die Stromdaten mit einer Echtzeit-Charakteristik
aufzuzeichnen, und tatsächlich
können
lediglich die Dokumentendatei oder die Standbilddatei aufgezeichnet
werden, die keine Echtzeit-Charakteristik benötigen.
-
In
der Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung gemäß dem vorliegenden
Beispiel wird die physikalische Adresse des Blockes, der als nicht
benutzter Bereich verwaltet wird, zuvor dem Speicherbereich zugewiesen,
welcher der nicht benutzten logischen Adresse entspricht. Das detaillierte
Beispiel ist in 8A veranschaulicht.
-
In
der in 8A gezeigten Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung sind die logischen Adressen
0x0000, 0x0001, 0x0002 und 0x0003 in Gebrauch; die physikalischen
Adressenwerte, beispielsweise 0x0002, 0x0006, 0x0007 und 0x0008,
bei denen es sich um tatsächliche
Daten handelt, werden in dem Speicherbereich gespeichert, der der
physikalischen Adresse entspricht. Hinsichtlich dieser Bedeu tung
ist dieser Fall derselbe wie der in 8B gezeigte
Fall. Die logische Adresse 0x0004 ist nicht benutzt; hinsichtlich dieser
Bedeutung ist dieser Fall derselbe wie der in 8B gezeigte
Fall.
-
Beim
vorliegenden Beispiel ist jedoch 0xFFFF, nämlich der Null-Wert, nicht
in dem Speicherbereich der physikalischen Adresse gesetzt, der der
nicht benutzten logische Adresse 0x0004 entspricht, sondern es ist
beispielsweise 0x0009 als physikalische Adresse gespeichert, um
den Block im nicht benutzten Bereich anzuzeigen. Lediglich derjenige
Speicherbereich, welcher den logischen Adressen 0x0004 entspricht,
ist als nicht benutzter Bereich dargestellt, wobei jedoch unterschiedliche
physikalische Adressen des nicht benutzten Blockes in derselben
Weise in Speicherbereichen gespeichert werden bzw. sind, die anderen
nicht benutzten logischen Adressen entsprechen.
-
In
dem Fall, dass die Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung in der oben beschriebenen Weise strukturiert ist,
wird die physikalische Adresse, die den freien Bereich in der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung angibt, entsprechend der
logischen Adresse angegeben.
-
Folglich
wird in der FAT-Tabelle die physikalische Adresse des nicht benutzten
Blockes mit der logischen Adresse vorab korreliert, indem auf die Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung Bezug genommen wird. Dabei
ist es nicht notwendig, einen Suchprozess zum Suchen des nicht benutzten
Blockes in unterschiedlicher Weise von dem in 8B gezeigten
Fall auszuführen.
Mit anderen Worten ausgedrückt
heißt
dies, dass die physikalische Adresse, welche der logischen Adresse
entspricht, die als freier Bereich in der FAT-Tabelle verwaltet
wird, dadurch erhalten wird, dass auf die Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung Bezug genommen wird, dass
auf den durch die physikalische Adresse bezeichneten Block zugegriffen
wird und dass die Daten geschrieben werden. Infolgedessen ist die
Prozessbelastung auf den Mikrocomputer des Gerätekörpers signifikant verringert,
und die Aufzeichnung der oben beschriebenen Stromdaten wird beispielsweise
leicht realisiert. Die Daten, wie die der Dokumentendatei oder die
Standbilddaten, bezüglich der
die Echtzeitverarbeitung nicht erforderlich ist, werden selbstverständlich innerhalb
einer kurzen Zeit durch Nutzung des Dateisystems gemäß dem vorliegenden
Beispiel, wie in 8A veranschaulicht, geschrieben.
-
Die
Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung, in der die nicht
benutzte logische Adresse und die physikalische Adresse vorab korreliert
sind, wie dies oben beschrieben worden ist, wird erforderlichenfalls
in dem Stab-Speicher 1 aufgezeichnet oder aktualisiert,
wobei eine solche Aufzeichnung oder Aktualisierung durch Verwendung
einer Treibervorrichtung ausgeführt
wird. Die nicht benutzte logische Adresse und die physikalische
Adresse werden zumindest vor dem Zeitpunkt korreliert, zu dem ein
schneller bzw. Hochgeschwindigkeits-Schreibprozess, wie er nachstehend
beschrieben wird, ausgeführt
wird.
-
Andererseits
bereitet die Treibervorrichtung tatsächlich die Adressenumsetztabelle
für eine
gegenseitige Korrelation sämtlicher
logischer Adressen und sämtlicher
physikalischer Adressen vor und speichert sie in dem Stab-Speicher 1 während des
ersten Formatierungsprozesses, bevor der Stab-Speicher 1 benutzt
wird. Die Aktualisierung wird danach, wie unter Bezugnahme auf 5A und 5B beschrieben,
ausgeführt,
wenn eine Aufzeichnungs- oder Editieroperation ausgeführt wird.
-
3. Struktur bzw. Aufbau
der Treibervorrichtung
-
Anschließend wird
unter Bezugnahme auf 10 der Aufbau bzw. die Struktur
der Treibervorrichtung gemäß dem vorliegenden
Beispiel beschrieben.
-
10 zeigt
den Aufbau des Gerätekörpers oder
der Körpervorrichtung
der Treibervorrichtung, die imstande ist, die Daten aus dem oben
beschriebenen Stab-Speicher 1 entsprechend zu lesen, in
ihn einzuschreiben und zu editieren. Der Gerätekörper 100 und der Stab-Speicher 1,
die in 10 dargestellt sind, bilden
ein Datei-Speichersystem. Die Art der Hauptdaten, die als Schreib-/Leseziel
für den Stab-Speicher 1 durch
den Gerätekörper 100 verarbeitet
werden, ist mannigfaltig. Bei den betreffenden Hauptdaten handelt
es sich beispielsweise um Bewegtbilddaten, um Standbilddaten, um
Sprachdaten, um Audiodaten hoher Klangqualität (auf die nachstehend als
Musikdaten Bezug genommen wird) und um Steuerungsdaten, die verarbeitet
werden können.
-
Bei
dem vorliegenden Beispiel wird der Fall, gemäß dem ein System zur Aufzeichnung
oder Wiedergabe von Sprachdaten vorliegt, bei denen es sich um die
einen Daten der Hauptstromdaten handelt, beschrieben, da der Zweck
des vorliegenden Beispiels darin liegt, die effiziente Aufzeichnung
der Stromdaten hervorzuheben. Überdies
kann das System selbstverständlich
zur Aufzeichnung von anderen Stromdaten oder einer anderen Datendatei
verwendet werden, welche die Daten enthält, die indessen nicht Echtzeit-Charakteristiken
erfordern, indem ein Eingabe-Ausgabesystem oder ein Verarbeitungssystem
für die
Daten bereitgestellt wird, wie für
Bewegtbild-, Standbild oder Musikdaten in dem Gerätekörper 100.
-
Der
Aufbau des Gerätekörpers 100 weist
einen Loslösungsmechanismus 120 auf,
durch den der Gerätekörper lösbar angebracht
ist; der Stab-Speicher 1, der an dem Loslösungsmechanismus 120 angebracht
ist, kommuniziert das Datum bzw. die Daten mit dem Mikrocomputer 109 über ein
Host-Interface-(I/F)-IC 101.
-
Der
Gerätekörper 100 ist
mit einem Mikrofon 103 versehen, durch das beispielsweise
Sprache eingefangen wird. Das Mikrofonsignal des Mikrofons 103 wird
einem digitalen Signalpro zessor (DSP) 102 über einen
Mikrofon-Verstärker 104 als
Sprachsignal zugeführt.
In dem DSP 102 wird das eingangsseitige Sprachsignal in
ein digitales Audiosignal umgesetzt, welches einer erforderlichen
Signalverarbeitung unterzogen wird, einschließlich eines Codierungsprozesses.
Die Sprachdaten werden einem Steuerungs-Mikrocomputer 109 als
Aufzeichnungsdaten zugeführt.
-
Der
Mikrocomputer 109 ist imstande, den Prozess zur Aufzeichnung
dieser Aufzeichnungsdaten in dem Stab-Speicher 1 über das
Host-Interface-IC 101 auszuführen.
-
Der
Mikrocomputer 109 liest die Audiodaten- oder Sprachdatendatei,
die in dem Stab-Speicher 1 aufgezeichnet ist, über das
Host-Interface-IC 101 aus und gibt die ausgelesenen Daten
an den DSP 102 ab. In dem DSP 102 werden die zugeführten Daten
erforderlichen Signalprozessen unterzogen, einschließlich einem
Demodulationsprozess, und sie werden schließlich als analoges Sprachsignal
an einen Lautsprecher-Verstärker 105 abgegeben.
In dem Lautsprecher-Verstärker 105 wird
das eingangsseitige Sprachsignal verstärkt und von diesem an einen Lautsprecher 106 abgegeben.
Infolgedessen wird die wiedergegebene Sprache erzeugt.
-
Der
Mikrocomputer 109 steuert einen Display-Treiber 107,
um dadurch ein gewünschtes
Bild in der Display-Einheit 108 anzuzeigen. Dabei wird beispielsweise
eine Anzeige zur Darstellung eines Menüs oder einer Führungsanzeige
für den
Betrieb durch einen Benutzer oder eines in dem Stab-Speicher 1 gespeicherten
Dateiinhalts ausgeführt.
Falls Bilddaten, wie Bewegtbilddaten oder Standbilddaten, in dem
Stab-Speicher 1 gespeichert sind, ist es möglich, dass
die Bilddaten ausgelesen und in der Display-Einheit 108 angezeigt
werden.
-
Verschiedene
Tasten, die einem Benutzer dazu dienen, verschiedene Prozesse in
dem Gerätekörper 100 zu
bedienen bzw. einzustellen, sind für die bzw. in der Bedienungseinheit 112 vorgesehen.
Der Mikrocomputer 109 empfängt den Befehl, welcher der
durch die Bedienungseinheit 112 betätigten Operation entspricht,
und er führt
den dem Befehl entsprechenden geforderten Steuerungsprozess aus. Der
Operationsinhalt kann ein Datei-Aufzeichnungsbefehl, ein Datei-Auswahlbefehl,
ein Datei-Wiedergabebefehl oder ein Editions-Befehl sein.
-
Um
ein Schreiben oder Lesen von Daten zu realisieren, d.h. eine Aufzeichnung
oder Wiedergabe in dem oder aus dem oben erwähnten Stab-Speicher 1 durch
Heranziehen des Gerätekörpers 100 mit
dem in 10 gezeigten Aufbau, ist die
Adressenumsetztabelle für
einen logische-physikalische Adressenumsetzung, wie sie oben beschrieben
worden ist, erforderlich, auf die die FAT-Tabelle in dem Dateisystem
Bezug nimmt.
-
Die
Schnittstelle bzw. das Interface zwischen dem Mikrocomputer 109 und
dem Gerätekörper 100 basiert
auf dem in 10 gezeigten Aufbau, und die in
dem Stab-Speicher 1 gespeicherte Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung ist konzeptionell in 11 veranschaulicht.
-
Wenn
der Stab-Speicher 1 gemäß dem vorliegenden
Beispiel angebracht ist, werden beispielsweise die aus der in dem
Stab-Speicher 1 gespeicherten
Adressenumsetztabelle für
eine logische-physikalische Adressenumsetzung ausgewählten benötigten Daten über das
Host-Interface-IC 101 gelesen und in einem internen RAM-Speicher 111 gespeichert.
-
In
Anbetracht des oben erwähnten
Aufbaus ist der Prozess zur Bildung der Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung beim vorliegenden Beispiel nicht notwendig als Prozess
des Mikrocomputers des Gerätekörpers 100,
womit eine Wartezeit für
die Bildung der Adressenumsetztabelle zur logischen-physikalischen Adressenumsetzung
durch Heranziehen des Mikrocomputers eliminiert ist. Der Startprozess
für das Dateisystem,
der ausgeführt
wird, wenn der Stab- Speicher 1 beispielsweise
angebracht wird, beansprucht eine sehr viel kürzere Zeit als jene des konventionellen
Systems.
-
Wie
unter Bezugnahme auf 8A beschrieben, wird überdies
mit Rücksicht
darauf, dass die Adressenumsetztabelle für eine logische-physikalische
Adressenumsetzung, in der die physikalische Adresse des nicht benutzten
Blockes mit der nicht benutzten logischen Adresse korreliert ist,
wie dies unter Bezugnahme auf 8 beschrieben
worden ist, der Zugriff auf den nicht benutzten Block mittels der
FAT-Tabelle schnell und leicht im Vergleich zum konventionellen
System ausgeführt.
Wie unter Bezugnahme auf 10 beschrieben,
ist die vorliegende Ausführungsform
insbesondere in dem Fall effektiv, in welchem der Gerätekörper 100 den
Aufbau zur Aufzeichnung der Daten verwendet, die einen Echtzeitprozess
erfordern, wie Sprachdaten.
-
Der
Aufbau des in 10 gezeigten Gerätekörpers 100 stellt
lediglich ein Beispiel dar, und er ist auf dieses Beispiel nicht
beschränkt.
Solange der Aufbau Daten in den Stab-Speicher 1 schreiben kann,
der verwendet wird, kann irgendeine Art von Aufzeichnungsgerät verwendet
werden.
-
4. FAT-Aufbau
-
Wie
unter Bezugnahme auf 2 in dem Abschnitt der Schichtstruktur
des Dateisystems beschrieben, führt
die FAT-Tabelle den Datei-Verwaltungsprozess aus.
-
Um
die Aufzeichnung/Wiedergabe in den/aus dem Stab-Speicher 1 durch
Anwendung der Treibervorrichtung mit dem anhand von 10 beschriebenen
Aufbau zu realisieren, wird gleichzeitig mit der Datei-Speicherpositionsverwaltung
durch die FAT-Tabelle
auf die Anforderung in der Anwendungsverarbeitung Bezug genommen,
und ferner wird die oben erwähnte
logische-physikalische
Adressenumsetzung ausgeführt,
und es erfolgt der tatsächliche Zugriff.
-
Nachstehend
wird der Aufbau bzw. die Struktur der FAT-Tabelle beschrieben.
-
12 zeigt
die Gliederung des Verwaltungsaufbaus bzw. der Managementstruktur
mittels der FAT-Tabelle. Die FAT-Tabelle sowie die Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung sind beim vorliegenden
Beispiel in dem Stab-Speicher 1 gespeichert, und die in 12 veranschaulichte
FAT-Struktur stellt die Verwaltungs- bzw. Managementstruktur in
dem Stab-Speicher 1 dar.
-
Wie
in 12 gezeigt, umfasst der FAT-Verwaltungsaufbau
eine Aufteilungstabelle, einen freien Bereich, einen Boot-Sektor, eine FAT-Tabelle,
eine Kopie der FAT-Tabelle, ein Grund- bzw. Hauptverzeichnis sowie
einen Datenbereich.
-
Der
Cluster 2, der Cluster 3, ... sind in dem Datenbereich, als Einheitsdaten
dargestellt; bei einem Cluster handelt es sich um eine Dateneinheit
einer Verwaltungseinheit in bzw. unter der FAT-Verwaltung.
-
Die
Clustergröße beträgt in der
Standard-FAT-Tabelle generell 4 KBytes; die Clustergröße kann
eine Zweierpotenzzahl im Bereich von 512 Bytes bis 32 KBytes aufweisen.
-
Im
Falle des Stab-Speichers 1 gemäß dem vorliegenden Beispiel
besteht ein Block aus 8 KBytes oder 16 KBytes, wie dies oben beschrieben
worden ist, und im Falle des Stab-Speichers 1, in welchem
1 Block = 8 KBytes beträgt,
besteht der Cluster in der FAT-Tabelle aus 8 KBytes. Im Falle des
Stab-Speichers 1, bei dem 1 Block = 16 KBytes beträgt, besteht der
Cluster in der FAT-Tabelle aus 16 KBytes. Mit anderen Worten ausgedrückt heißt dies,
dass 8 KBytes oder 16 KBytes die Verwaltungseinheit in der FAT-Verwaltung
darstellen und dass sie eine Dateneinheit als Block in dem Stab-Speicher 1 bilden.
Im Hinblick auf den Stab-Speicher ist demgemäß die Clustergröße in der
FAT- Verwaltung =
die Blockgröße des Stab-Speichers.
Das vorliegende Beispiel wird zur Vereinfachung auf der Grundlage
der Annahme beschrieben, dass ein Block = 1 Cluster darstellt.
-
Die
Blocknummern x, ..., (x+m-1), (x+m), (x+m+1), (x+m+2) sind auf der
linken Seite in 12 angegeben, wobei verschiedene
Daten, welche die FAT-Struktur bilden, in jedem hier beschriebenen Block
gespeichert sind. Tatsächlich
wird die Information nicht im jeweiligen Block gespeichert, der
physikalisch fortlaufend ist, wie dies oben beschrieben worden ist.
-
Im
Hinblick auf die FAT-Struktur werden zunächst die vordere und die hintere
Endadresse der FAT-Aufteilung bis zu 2 GB in der Aufteilungstabelle beschrieben.
In dem Boot-Bereich werden die Identifizierung zwischen einer 12-Bit-FAT-Tabelle
und einer 16-Bit-FAT-Tabelle sowie die FRT-Struktur, wie die Größe, die
Clustergröße und die
Größe des jeweiligen
Bereiches, beschrieben.
-
Die
FAT-Tabelle dient als Tabelle, welche die Kettungsstruktur des die
jeweilige Datei bildenden Clusters angibt, wie dies nachstehend
beschrieben wird; die Kopie der FAT-Tabelle wird im anschließenden Bereich
beschrieben.
-
In
dem Grund- bzw. Hauptverzeichnis werden der Dateiname, die vordere
Cluster-Nummer und verschiedene Attribute beschrieben. Die Darstellung einer
Datei beansprucht 32 Bytes.
-
In
der FAT-Tabelle liegen der Eintrag und der Cluster der FAT-Tabelle
in einer Eins-zu-Eins-Beziehung bzw. -Entsprechung vor. Anschließend werden der
Eintrag jedes Clusters, das Kettungsziel, nämlich die Anzahl der nachfolgenden
Cluster beschrieben. Im Falle einer bestimmten Datei, die aus einer
Vielzahl von Clustern (= Blöcken)
besteht, wird die vordere Cluster-Nummer durch das Verzeichnis angegeben,
und die nächste
Cluster-Nummer wird im Eintrag des vordern Clusters in der FAT-Tabelle
angegeben. Ferner wird die nächste
Cluster-Nummer im Eintrag der nächsten
Cluster-Nummer angegeben. Wie oben beschrieben, ist die Kettung
des Clusters in der FAT-Tabelle dargestellt bzw. beschrieben.
-
13 zeigt
das Konzept der oben erwähnten
Kettung schematisch. Die Werte sind in hexadezimaler Darstellung
angegeben.
-
Wenn
beispielsweise zwei Dateien Haupt-C und Funkt.C vorhanden sind,
sind die vorderen Cluster-Nummern dieser beiden Dateien, beispielsweise 002
und 004, im Verzeichnis dargestellt.
-
Für die Datei
Haupt-C ist die nächste
Cluster-Nummer 003 im Eintrag der Cluster-Nummer 002 dargestellt,
und die nächste
Cluster-Nummer 006 ist im Eintrag der Cluster-Nummer 003 dargestellt.
Falls die Cluster-Nummer 006 das letzte Cluster der Datei Haupt-C
betrifft, ist überdies
FFF zur Angabe, dass es sich hierbei um den letzten Cluster handelt,
in dem Eintrag mit der Cluster-Nummer 006 dargestellt.
-
Infolgedessen
ist die Datei Haupt-C in der Reihenfolge der Cluster 002, 003 und
006 gespeichert. Mit anderen Worten ausgedrückt heißt dies, dass angenommen ist,
dass die Cluster-Nummer
mit der Block-Nummer in dem Stab-Speicher 1 identisch ist.
Damit ist ausgedrückt,
dass die Datei Haupt-C in den Blöcken
002, 003 und 006 gespeichert ist. (Da der in die FAT-Tabelle einbezogene
Cluster der Cluster ist, welcher in die logische Adresse einbezogen ist,
wie dies oben beschrieben worden ist, ist der Cluster nicht direkt
mit der physikalischen Adresse des Blockes identisch).
-
In
entsprechender Weise ist zum Ausdruck gebracht, dass die Datei Funkt.C
in der Reihenfolge der Cluster 004 bis 005 mittels der FAT-Tabelle
gespeichert ist.
-
Der
Eintrag des dem nicht benutzten Block entsprechenden Clusters ist
als 000 dargestellt bzw. beschrieben.
-
In
dem Verzeichnis der in dem Grund- bzw. Hauptverzeichnisbereich gespeicherten
jeweiligen Datei sind nicht nur die vordere Cluster-Nummer, wie in 13 veranschaulicht,
sondern auch beispielsweise verschiedene Daten gespeichert, wie
dies beispielsweise in 14 veranschaulicht ist.
-
Im
Einzelnen sind der Dateiname, eine Erweiterung, ein Attribut, eine
Aktualisierungs-Zeitinformation, eine Aktualisierungs-Datumsinformation, eine
vordere Cluster-Nummer und eine Dateigröße mit der in 14 veranschaulichten
Anzahl von Bytes dargestellt bzw. beschrieben.
-
Für das Unterverzeichnis,
das ist die untere Schicht eines bestimmten Verzeichnisses, werden bzw.
sind die Daten nicht im Bereich des in 12 dargestellten
Hauptverzeichnisses gespeichert, sondern im Datenbereich. Mit anderen
Worten ausgedrückt
heißt
dies, dass das Unterverzeichnis als Datei behandelt wird, die die
Verzeichnisstruktur aufweist. Im Falle des Unterverzeichnisses ist
die Größe unbegrenzt,
und der Eintrag in sie selbst sowie der Eintrag in das Vorgänger- bzw. Ausgangs-Verzeichnis
sind erforderlich.
-
15 veranschaulicht
eine beispielhafte Struktur, bei der DIR1 vorliegt, deren Datei-Attribut ein
Verzeichnis ist, nämlich
ein Unterverzeichnis in einem bestimmten Hauptverzeichnis; ferner
ist DIR2 vorgesehen, deren Attribut ein Verzeichnis darstellt, nämlich ein
Unterverzeichnis darin, und überdies
ist die Datei DATEI darin enthalten.
-
Mit
anderen Worten ausgedrückt
heißt
dies, dass die vordere Cluster-Nummer als Unterverzeichnis, nämlich als
DIR1 im Bereich des Hauptverzeichnisses dargestellt ist und dass
die Cluster X, Y und Z durch die oben erwähnte FAT-Tabelle miteinander gekettet
sind. Wie aus 15 verständlich sein dürfte, werden
die Unterverzeichnisse DIR1 und DIR2 als Datei behandelt, und sie
sind in die Kettung der FAT-Tabelle einbezogen.
-
Ferner
wird nachstehend unter Bezugnahme auf 23 das
Verfahren zur Verwaltung mittels der FAT-Tabelle erläutert.
-
23 veranschaulicht
schematisch den Speicherinhalt, wobei eine Aufteilungstabelle, ein freier
Bereich, ein Boot-Sektor, ein FAT-Bereich, ein FAT-Sicherungsbereich,
ein Haupt- bzw. Grundverzeichnis-Bereich, ein Unterverzeichnis-Bereich
und ein Datenbereich in Schichten von oben aus vorgesehen sind.
-
Die
oben beschriebene Speicherabbildung veranschaulicht den Zustand
des Speichers nach einer Adressenumsetzung von logischen Adressen
in physikalische Adressen auf der Grundlage der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung.
-
Der
Boot-Sektor, der FAT-Bereich, der FAT-Sicherungsbereich, der Haupt-
bzw. Grundverzeichnis-Bereich, der Unterverzeichnis-Bereich und der
Datenbereich werden alle zusammen als FAT-Aufteilungsbereich bezeichnet.
-
Die
Adressen am Anfang und am Ende des FAT-Aufteilungsbereichs werden
bzw. sind in der oben beschriebenen Aufteilungstabelle aufgezeichnet.
-
Generell
ist der oben beschriebene Aufteilungsbereich nicht in der FAT-Tabelle
vorgesehen, der bzw. die für
eine Floppy-Disk
bzw. Diskette verwendet wird.
-
Da
in der ersten Spur lediglich eine Aufteilungstabelle aufgezeichnet
ist, existiert in der ersten Spur ein freier Bereich.
-
Anschließend werden
bzw. sind die FAT-Struktur-Größe, die
Cluster-Größe und die
jeweiligen Bereichsgrößen in dem
Boot-Sektor aufgezeichnet,
und zwar in Abhängigkeit
von der 12- oder 16-Bit-FAT-Tabelle.
-
In
der FAT-Tabelle werden die Plätze
bzw. Stellen verwaltet, an bzw. in denen der Datenbereich aufgezeichnet
ist.
-
Der
FAT-Kopierbereich stellt einen FAT-Sicherungsbereich dar.
-
Die
Dateinamen, die erste Cluster-Adresse sowie verschiedene Attribute
sind in dem Haupt- bzw. Grundverzeichnis-Bereich aufgezeichnet,
wobei 32 Bytes für
derartige Daten einer aufzuzeichnenden Datei verwendet werden.
-
Der
Unterverzeichnis-Bereich existiert als Dateien, die Dateiattribute
zeigen, d.h., dass ein Verzeichnis und vier Dateien vorliegen, die
bei einer in 23 veranschaulichten Ausführungsform
mit PBLIST.MSV, CAT.MSV, DOG.MSV und MAN.MSV bezeichnet sind.
-
Die
Dateinamen und deren entsprechende Positionen in der FAT-Tabelle werden in
dem oben erwähnten
Unterverzeichnis verwaltet. Mit anderen Worten ausgedrückt heißt dies,
dass in 23 eine Adresse "5" in der FAT-Tabelle für einen
Schlitz bzw. Platz verwaltet wird, in bzw. an dem der Dateiname CAT.MSV
aufgezeichnet ist; eine Adresse "10" wird in der FAT-Tabelle
für einen
Platz verwaltet, an dem der Dateiname DOG.MSV aufgezeichnet ist.
-
Der
Cluster 2 und nachfolgende Cluster geben einen echten Datenbereich
an, in welchem Daten, die durch einen Komprimierungsprozess bezüglich eines
ADPCM-Signals erhalten werden, bei der Ausführungsform gemäß der vorliegenden
Erfindung aufgezeichnet sind.
-
Ferner
wird die Adresse 110 in der FAT-Tabelle für den Schlitz bzw. Platz verwaltet,
in bzw. an dem der Dateiname MAN.MSV aufgezeichnet ist.
-
Bei
der Ausführungsform
gemäß der vorliegenden
Erfindung werden einer Kompressionsverarbeitung unterzogene ADPCM-Sprachdaten
mit einem Dateinamen CAT.MSV in Clustern 5 bis 8 aufgezeichnet.
Darüber
hinaus wird der vordere Teil DOG-1 der einer Kompressionsverarbeitung
unterzogenen ADPCM-Audiodaten mit dem Dateinamen DOG.MSV in Clustern
10 bis 12 aufgezeichnet, und der letztere Teil DOG-2 der einer Kompressionsverarbeitung
unterzogenen ADPCM-Audiodaten mit dem Dateinamen DOG.MSV wird bzw.
ist in den Clustern 100 bis 101 aufgezeichnet.
-
Ferner
werden bzw. sind die einer Kompressionsverarbeitung unterzogenen
ADPCM-Audiodaten mit einem Dateinamen MAN.MSV in Clustern 110 und
111 aufgezeichnet.
-
Die
obige Ausführungsform
liefert ein Beispiel für
eine einzelne Datei, die in zwei Bereiche aufgeteilt ist, welche
diskret aufgezeichnet werden bzw. sind.
-
Die
bei der obigen Ausführungsform
in den Datenbereichen mit "leer" bezeichneten Bereiche sind
Bereiche, in denen aufgezeichnet werden kann.
-
Der
Cluster 200 sowie nachfolgende Cluster geben Dateinamen-Verwaltungsbereiche
an, in denen eine mit CAT.MSV bezeichnete Datei im Cluster 200,
eine mit DOG.MSV bezeichnete Datei im Cluster 201 und eine mit MAN.MSV
bezeichnete Datei im Cluster 202 aufgezeichnet sind.
-
Zum
Umordnen der Dateien werden die Dateien im Cluster 200 und in nachfolgenden
Clustern umgeordnet.
-
Zunächst wird
auf die Aufteilungstabelle des ersten Bereiches Bezug genommen,
um die Adressen des Anfangs und des Endes des FAT-Aufteilungsbereiches
aufzuzeichnen, wenn der oben erwähnte
Stab-Speicher eingeführt
ist.
-
Nachdem
der Boot-Sektorbereich wiedergegeben ist, werden der Hauptverzeichnis-Bereich
und der Unterverzeichnis-Bereich wiedergegeben.
-
Sodann
wird der Schlitz bzw. Platz, in bzw. an dem die in dem Unterverzeichnis-Bereich
aufgezeichneten Wiedergabe-Verwaltungsdaten PBLIST.MSF aufgezeichnet
sind, abgerufen, um auf die Adresse des Endabschnitts des Platzes
Bezug zu nehmen, an dem PBLIST.MSF aufgezeichnet ist.
-
Im
Falle der Ausführungsform
gemäß der vorliegenden
Erfindung wird mit Rücksicht
darauf, dass die Adresse 200 im Endabschnitt des Platzes aufgezeichnet
ist, an dem die oben beschriebene PBLIST.MSF aufgezeichnet ist,
auf den Cluster 200 Bezug genommen.
-
Der
Cluster 200 sowie nachfolgende Cluster stellen die Bereiche für die Verwaltung
der Dateinamen und der Datei-Wiedergabereihenfolge dar, wobei die
mit CAT.MSV bezeichnete Datei den ersten Teil darstellt, wobei eine
mit DOG.MSV bezeichnete Datei den zweiten Teil darstellt und wobei
die mit MAN.MSV bezeichnete Datei den dritten Teil darstellt.
-
Auf
die Beendigung der Bezugnahme auf den Cluster 200 und nachfolgende
Cluster geht die Steuerung zu dem oben erwähnten Unterverzeichnis-Bereich über, und
es erfolgt eine Bezugnahme auf die Schlitze bzw. Plätze, die
den Dateinamen CAT.MSV, DOG.MSV und MAN.MSV entsprechen.
-
In 23 ist
die Adresse 5 am Ende des Schlitzes bzw. Platzes aufgezeichnet,
in bzw. an dem der Dateiname CAT.MSV aufgezeichnet ist. Die Adresse
10 ist am Ende des Schlitzes bzw.
-
Platzes
aufgezeichnet, in bzw. an dem der Dateiname DOG.MSV aufgezeichnet
ist, und die Adresse 110 ist am Ende des Schlitzes bzw. Platzes aufgezeichnet,
in bzw. an dem der Dateiname MAN.MSV aufgezeichnet ist.
-
Wenn
auf Eintragsadressen in der FAT-Tabelle auf der Grundlage der Adresse "5" Bezug genommen wird, ist eine Cluster-Adresse "6" eingegeben worden. Wenn auf die Eintragsadresse "6" Bezug genommen wird, ist eine Cluster-Adresse "7" eingegeben worden. Wenn auf die Eintragsadresse "7" Bezug genommen wird, ist eine Cluster-Adresse "8" eingegeben worden. Wenn auf die Eintragsadresse "8" Bezug genommen wird, wird ein Code "FFF" mit der Bedeutung
eines Endes aufgezeichnet.
-
Daher
belegt eine mit CAT.MSV bezeichnete Datei Cluster-Bereiche in den
Clustern 5, 6, 7 und 8, und auf die Bereiche, an denen mit CAT.MSV
bezeichnete ADPCM-Daten tatsächlich
aufgezeichnet sind, kann durch die Bezugnahme auf die Cluster 5, 6,
7 und 8 in dem Datenbereich zugegriffen werden.
-
Anschließend veranschaulicht
die folgende Beschreibung das Verfahren zum Abrufen einer mit DOG.MSV
bezeichneten diskret aufgezeichneten Datei.
-
Wenn
die Eintragsadressen in der FAT-Tabelle auf der Grundlage der Adresse "10" abgerufen werden,
ist eine Cluster-Adresse "11" eingegeben worden.
Wenn auf die Eintragsadresse "11" Bezug genommen wird,
ist eine Cluster-Adresse "12" eingegeben worden.
Wenn auf die Eintragsadresse "12" Bezug genommen wird,
ist eine Cluster-Adresse "100" eingegeben worden.
Wenn auf die Eintragsadresse "100" Bezug genommen wird,
ist eine Cluster-Adresse "101" eingegeben worden.
Wenn auf die Eintragsadresse "101" Bezug genommen wird,
ist bzw. wird ein Code "FFF" mit der Bedeutung
eines Endes aufgezeichnet.
-
Daher
beansprucht eine mit DOG.MSV bezeichnete Datei Bereiche in den Clustern
10, 11, 12, 100 und 101, und auf die Berei che, in denen ADPCM-Daten
entsprechend dem vorderen Teil der mit DOG.MSV bezeichneten Datei
tatsächlich
aufgezeichnet sind, kann durch die Bezugnahme auf die Cluster 10,
11 und 12 in dem Datenbereich zugegriffen werden.
-
Durch
Bezugnahme auf die Cluster 100 und 101 in dem Datenbereich kann
auf die Bereiche, in denen ADPCM-Daten entsprechend dem hinteren Teil
der mit DOG.MSV bezeichneten Datei tatsächlich aufgezeichnet sind,
zugegriffen werden.
-
Wenn
Eintragsadressen in der FAT-Tabelle auf der Grundlage der Adresse "110" abgerufen werden,
ist ferner eine Cluster-Adresse "111" eingegeben worden.
Wenn auf die Eintragsadresse "111" Bezug genommen wird,
ist ein Code "FFF" mit der Bedeutung
eines Endes aufgezeichnet.
-
Daher
ist festgestellt worden, dass eine mit MAN.MSV bezeichnete Datei
Clusterbereiche in den Clustern 110 und 111 belegt.
-
Wie
oben erläutert,
können
durch Kettung der in dem Flash-Speicher
diskret aufgezeichneten Datendateien die Datendateien sequenziell
wiedergegeben werden.
-
5. Schreibprozess
von Stromdaten
-
Anschließend wird
ein Prozess zur Aufzeichnung von Stromdaten in dem Stab-Speicher 1 beschrieben;
bei diesem Prozess handelt es sich um die charakteristischste Operation
des vorliegenden Beispiels.
-
Wie
oben beschrieben, enthalten die Hauptdaten, die durch den Stab-Speicher 1 verarbeitet werden,
die Bewegtbilddaten, Standbilddaten, Sprachdaten, Audiodaten von
hoher Klangqualität und
Steuerungsdaten. Wenn die über
eine Echtzeit-Charakteristik verfügenden Stromdaten, wie Sprachdaten,
Bewegtbilddaten oder Audiodaten, aufgezeichnet werden, ist ein effi zienter
Aufzeichnungsprozess erforderlich, um die mit hoher Bitrate auftretenden
Stromdaten zu verarbeiten.
-
Der
Daten-Schreibprozess, der bei dem vorliegenden Beispiel ausgeführt wird,
betrifft einen mit hoher Geschwindigkeit erfolgenden Schreibprozess, der
von dem zuvor unter Bezugnahme auf 22 beschriebenen
Schreibprozess verschieden ist und der unter Bezugnahme auf 16, 17, 18A, 18B, 19 und 20 beschrieben wird.
-
16 und 17 zeigen
Ablaufdiagramme des Prozesses, der unter der Steuerung des Mikrocomputers 109 der
Treibervorrichtung ausgeführt wird; 18A und 18B zeigen
Diagramme zur schematischen Veranschaulichung der aufgezeichneten
Datei von Stromdaten (Sprachdaten oder dergleichen) im Stab-Speicher 1. 19 und 20 veranschaulichen
den FAT-Inhalt vor und nach dem Aufzeichnungsprozess.
-
Ein
Stab-Speicher 1 ist in der Treibervorrichtung untergebracht,
und eine Aufzeichnungsoperation wird ausgeführt. Ein Anwender kann dadurch
die mittels eines Mikrofons 103 eingefangene Sprache in dem
Stab-Speicher 1 als Sprachdaten speichern.
-
Wenn
ein Anwender einen Befehl abgibt, wie für eine Aufzeichnungsoperation,
bereitet der Mikrocomputer 109 zunächst beim Schritt F101 eine
Hochgeschwindigkeits-Prozessmarkierung vor. Diese Vorbereitung stellt
einen Prozess zur Vorbereitung eines temporären Spezial-Dateieintrags in
das Haupt- bzw.
-
Grundverzeichnis
als Datei für
ein Schreiben mit hoher Geschwindigkeit dar.
-
Die
Hochgeschwindigkeits-Datei wird beim Schritt F102 in Abhängigkeit
vom Dateieintrag geöffnet.
Diese Verarbeitung muss vor dem Schreiben der Daten mit hoher Geschwindigkeit
ausgeführt
werden, und sie wird für
die Cluster ausgeführt,
in denen das im Einzelnen in 17 veranschaulichte
Schreiben ausgeführt
wird. Die Verarbeitung beim Schritt F102 wird unter Bezugnahme auf 32 im Einzelnen erläutert.
-
Die
Cluster-Nummer, welche zu dem betreffenden Zeitpunkt die kleinste
Nummer aus dem nicht benutzten Cluster 2 und den nachfolgenden nicht
benutzten Clustern ist, die durch die FAT-Tabelle verwaltet werden,
wird beim Schritt F130 in die variable Größe CL(x) gesetzt. Zu diesem
Zeitpunkt wird die Zahl vorab in eine Block-Nummer des Flash-Speichers
auf der Grundlage des Inhalts der Adressenumsetztabelle für eine logische-physikalische Adressenumsetzung
umgesetzt. Beim Schritt F131 wird die nächstkleinste Zahl eines nicht
benutzten Clusters in die variable Größe CL(y) gesetzt. Auch in diesem
Fall wird die Nummer vorab in eine physikalische Adresse umgesetzt,
und zwar in derselben Weise wie beim Schritt F130. Anschließend werden
beim Schritt F132 Daten in einem Block, welcher der beim Schritt
F130 erhaltenen physikalischen Adresse des Flash-Speichers entspricht,
gelöscht.
Die bei diesen Schritten erhaltenen physikalischen Adressen werden
für eine
weitere Verwendung bei später
beschriebenen Schritten festgehalten. Die Stromdaten werden kontinuierlich
in einer Clustereinheit in den Stab-Speicher 1 eingeschrieben,
bis die Aufzeichnung der Sprachdaten, die bei den Schritten F103 und
F104 zugeführt
werden, abgeschlossen ist (beispielsweise erfolgt das Schreiben
von Sprachdaten bis unmittelbar vor der Betätigung der Aufzeichnungs-Stoppoperation
durch den Benutzer bzw. Anwender).
-
Der
Prozess beim Schritt F103 ist in 17 im
Einzelnen veranschaulicht. Temporär kontinuierlich auftretende
eingangsseitige Stromdaten werden in der Datenmenge in Clustereinheiten
beim Schritt F120 aufgenommen. Nach Abschluss der Aufnahme von Daten
in der Datenmenge von Clustereinheiten werden die Stromdaten in
der Datenmenge von Clustereinheiten, die in einem Block des Stab-Speichers 1 entsprechend
dem Cluster CL(x) aufgenommen sind, beim Schritt F121 geschrieben.
Der Wert des zu diesem Zeitpunkt benutzten Clusters CL(x) ist ein Wert,
der beim Schritt F102 in 16 erhalten
wird, oder der weiter ins Einzelne gehend beim Schritt F130 in 32 erhalten wird. Im Falle eines anschließenden Schreibens
der Stromdaten ist der Wert ferner ein solcher Wert, der bei dem
später
beschriebenen Schritt F122 erhalten wird.
-
Anschließend wird
beim Schritt F122 die Zuordnung der physikalischen Blockadressen
in dem Stab-Speicher für
die Cluster, in die die Stromdaten geschrieben sind, dadurch ausgeführt, dass
der Wert von CL(y) kopiert wird, bei dem es sich um den sogenannten
neuen CL(x) handelt. Ferner wird beim nächsten Schritt F123 die nächstkleinste
Cluster-Nummer aus den durch die FAT-Tabelle verwalteten freien
Clustern erhalten, mit der die Stromdaten nacheinander geschrieben
werden, und eine physikalische Blocknummer in dem Stab-Speicher 1 wird in
dem variablen Bereich CL (y) entsprechend der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung festgelegt. Ferner werden die
Daten in dem Block mit der physikalischen Blocknummer des Stab-Speichers 1,
die beim Schritt F123 erhalten worden ist, beim nächsten Schritt
F124 gelöscht.
Dieser Prozess führt
zum Löschen
des nächsten
Clusters der Cluster, dessen Stromdaten als nächste geschrieben werden.
-
Um
bei den oben beschriebenen Beispielen die Erläuterung zu vereinfachen, wird
die Einheit einer Datenaufnahme und des Schreibens in den Flash-Speicher
bezüglich
eines Clusters spezifiziert, d.h. bezüglich eines Blockes in dem
Flash-Speicher. Da
die Einheit des Schreibens in den Flash-Speicher eine Seite ist,
wie dies im Abschnitt 2-2. beschrieben worden ist, kann die Einheit
der Datenstromaufnahme beispielsweise als Menge spezifiziert werden,
die einer Seite in dem Flash-Speicher
entspricht, und die Daten können
ebenfalls in Seiten-Einheiten geschrieben werden. Um in diesem Fall
Daten eines Clusters zu schreiben, d.h. um einen Block zu schreiben,
wird ein Schreibprozess 16 Mal wiederholt, wobei die Schreibseiten
gewechselt werden, falls ein Block 16 Seiten umfasst.
-
Ein
Schreibprozess wird indessen mit wechselnden Schreibseiten 32 Mal
wiederholt, falls ein Block 32 Seiten umfasst. Eine Bewertung beim Schritt
F104 ist ebenfalls möglich,
und die Verarbeitung der eingangsseitigen Datenentscheidung entsprechend
jener beim Schritt F104 kann jeweils ausgeführt werden, wenn eine Seite
geschrieben ist.
-
Der
oben beschriebene Prozess, der beim Schritt F103 ausgeführt wird,
ist in 16 veranschaulicht.
-
In
dem Prozess werden die Stromdaten im Block mit der kleinsten Cluster-Nummer
der logischen Adresse aus freien Clustern geschrieben, und die Daten
in dem Block einer Cluster-Nummer, nämlich der zweitkleinsten Cluster-Nummer,
werden gelöscht.
Der Grund für
den Prozess liegt darin, dass der nachstehend beschriebene Wiederaufnahmeprozess
möglich
gemacht wird, wobei die Bedeutung des Prozesses nachstehend beschrieben
wird.
-
Der
in 16 beim Schritt F103 dargestellte Prozess besteht
darin, das der in 17 veranschaulichte Prozess
so lange wiederholt wird, bis die Aufzeichnung der Stromdaten jedes
Mal abgeschlossen ist, wenn Daten einer Clustereinheit entsprechend
jeweils hereingenommen werden, wobei der Block mit der kleinsten
Cluster-Nummer zu dem betreffenden Zeitpunkt jeweils einem Schreiben
unterzogen wird und wobei die Daten in dem Block mit der nächst kleinsten
Cluster-Nummer anschließend
gelöscht
werden.
-
Dies
ist deshalb so, weil das Schreiben in Seiten-Einheiten, wie oben
beschrieben, beim echten Schreiben ausgeführt wird und weil ein anschließend zu
beschreibender Cluster gelöscht
werden bzw. sein muss, bevor Daten eines Clusters, in diesem Fall
16 Seiten von Daten oder 32 Seiten von Daten, geschrieben werden.
Die Einheit der Löschdaten aus
dem Flash-Speicher ist durch einen Cluster gegeben, wie dies oben
beschrieben worden ist, da die Zeit zum Schreiben von Daten einer
Seite kürzer
ist als jene des Löschens
von Daten in einem Cluster.
-
Um
Daten in Clustern zu löschen,
muss dies hinreichend früher
geschehen als zu Beginn des Schreibens der letzten Seite; um eine
Vereinfachung der Verarbeitung zu versuchen, werden Daten stets in
Clustern und in einem vorangehenden Cluster gelöscht.
-
Ferner
werden mit Rücksicht
darauf, dass eine kurze Beschreibung zum Schritt F102 gegeben worden
ist, dieselben Prozesse wie jene bei den Schritten F121, F122 und
F125 ausgeführt,
und die Daten im Cluster CL(x) werden gelöscht. Durch Ausführen dieser
Prozesse wird der Cluster CL(x), in den Stromdaten zuerst eingeschrieben
werden, und der Cluster, in den Stromdaten als zweite Daten eingeschrieben
werden, das ist der Cluster CL(y), der die zweitkleinste Nummer
aufweist, den Zustand erlangen, dass Daten gelöscht werden bzw. sind.
-
Dieser
Prozess setzt sich solange fort, bis die Stromdaten beendet sind,
und die Ablauffolge geht vom Schritt F104 weiter zum Schritt F105,
wenn sämtliche
Stromdaten uneingeschränkt
eingeschrieben sind. Sodann wird die FAT-Tabelle entsprechend der
Aufzeichnungsoperation der Stromdaten aktualisiert. Hier wird der
Eintrag in die FAT-Tabelle aktualisiert, und die Kettungsstruktur,
die dieser Aufzeichnung entspricht, wird aufgezeichnet. Die Aktualisierung
des Verzeichniseintrags und das Löschen der Hochgeschwindigkeits-Markierung
werden beim Schritt F101 ausgeführt.
-
Infolge
der oben erwähnten
Operation werden die beim Schritt F103 geschriebenen Stromdaten
zu effektiven Dateidaten, die in der FAT-Tabelle richtig verwaltet
werden.
-
Nach
der Aktualisierung der FAT-Tabelle wird ein Datei-Schließvorgang
beim Schritt F106 ausgeführt,
und die Ablauffolge wird zu einem Ende gebracht.
-
Der
Hochgeschwindigkeits-Schreibprozess wird dadurch abgeschlossen,
dass der oben erwähnte
Prozess ausgeführt
wird; die während
des Prozesses aufgezeichnete Stromdatendatei und die Aktualisierung
der FAT-Tabelle werden unter Bezugnahme auf die 18A und 18B sowie 19 und 20 beschrieben.
-
Es
sei angenommen, dass die in 18A dargestellte
Datei F1 in dem Stab-Speicher 1 bereits zum Zeitpunkt vor
dieser Aufzeichnung aufgezeichnet worden ist.
-
Es
sei außerdem
angenommen, dass die Datei F1 in Clustern CL(2), CL(3), CL(4), CL(6), CL(8)
und CL(9) aufgezeichnet worden ist. Tatsächlich ist die Datei F1 in
Blöcken
unter physikalischen Adressen aufgezeichnet, die den Cluster-Nummern entsprechen,
und wie aus der obigen Beschreibung verständlich sein dürfte, ist
die physikalische Adresse des tatsächlichen Aufzeichnungsblocks
in der Adressenumsetztabelle dargestellt. Demgemäß zeigen 18A und 18B nicht
den Zustand, dass eine Datei in physikalisch aufeinanderfolgenden
Blöcken aufgezeichnet
ist.
-
In
diesem Fall ist die FAT-Tabelle, die eine Clusterbildung der Datei
F1 veranschaulicht, in 19 dargestellt. Im Einzelnen
ist der vordere Cluster der Datei F1 als Cluster CL(2) entsprechend
dem Verzeichniseintrag bezeichnet, wie dies in 13 veranschaulicht,
jedoch in der Zeichnung nicht gezeigt ist, und 003 ist im Eintrag
des Clusters CL(2) der FAT-Tabelle
in 19 gespeichert. Mit anderen Worten ausgedrückt heißt dies,
dass veranschaulicht ist, dass der Cluster CL(2) mit dem Cluster
CL(3) gekettet ist. 004 ist im Eintrag des Clusters CL(3) gespeichert,
wodurch veranschaulicht ist, dass der Cluster CL(3) mit dem Cluster
CL(4) gekettet ist. Die Kettung ist in derselben Weise bezüglich der
folgenden Cluster aufgezeichnet, und der Wert FFF zur Anzeige dafür, dass
es sich dabei um den letzten Cluster handelt, ist im Eintrag des
letzten Clusters CL(9) gespeichert.
-
Entsprechend
der oben beschriebenen FAT-Tabelle verwaltet die betreffende FAT-Tabelle
die Datei F1, so dass die in 18A dargestellte
Datei F1 in den Clustern CL(2), CL(3), CL(4), CL(6), CL(8) und CL(9)
in dieser Reihenfolge gespeichert ist.
-
In
diesem Zustand ist 000 zur Anzeige eines nicht benutzten Clusters
in den Clustern CL(5), CL(7) und CL(A) und nachfolgenden Clustern
gespeichert.
-
Es
sei angenommen, dass ein Anwender einen Befehl zu einer neuen Aufzeichnung
zu diesem Zeitpunkt abgibt und dass die in 18B dargestellte Datei
F2 als neue Stromdaten-Datei mittels des oben erwähnten Hochgeschwindigkeits-Schreibprozesses
aufgezeichnet wird.
-
Wenn
in diesem Fall sieben Cluster zur Aufzeichnung der Stromdaten herangezogen
werden, dann wird die Datei F2 in den Clustern CL(5), CL(7), CL(A),
CL(B), CL(C), CL(D) und CL(E) aufgezeichnet.
-
Im
Einzelnen werden bei dem in 17 veranschaulichten
Prozess zunächst
die ersten Clustereinheit-Daten in einem freien Cluster mit der
kleinsten Cluster-Nummer aufgezeichnet, und der Cluster CL(5) wird,
wie aus 19 verständlich ist, verwendet. Zu dem
betreffenden Zeitpunkt werden die Daten der Cluster mit den nächstkleinsten
und den zweiten nächstkleinsten
Nummern gelöscht;
im oben erwähnten
Fall stellen die Cluster CL(7) und CL(A) die zu löschenden
Ziele dar.
-
Da
der freie Cluster mit der kleinsten Nummer zu dem betreffenden Zeitpunkt
für die
nächsten Clustereinheit-Stromdaten
herangezogen wird, wird ferner der Cluster CL(7) benutzt. Zu dem
betreffenden Zeitpunkt stellen die Daten in den Blöcken, welche
den nächsten
kleinsten und den zweiten nächstkleinsten
Nummern entsprechen, nämlich
die Cluster CL(A) und CL(B) die zu löschenden Ziele dar.
-
Der
oben erwähnte
Prozess wird wiederholt, und zu dem Zeitpunkt, zu dem der Schritt
F104 abgeschlossen ist, sind die Stromdaten in den durch physikalische
Adressen bezeichneten Blöcken
entsprechend den Clustern CL(5), CL(7), CL(A), CL(B), CL(C), CL(D)
und CL(E) aufgezeichnet worden, wie dies in 18B veranschaulicht
ist.
-
Da
die FAT-Tabelle zu diesem Zeitpunkt nicht aktualisiert ist und so
verbleibt, wie dies in 19 veranschaulicht ist, werden
indessen die Kettung und der Verzeichniseintrag der FAT-Tabelle
beim Schritt F105 aktualisiert, und es wird die der Datei F2 entsprechende
Cluster-Kettung gebildet.
-
Im
Einzelnen wird der Verzeichniseintrag für die Datei F2 gebildet, womit
angezeigt wird, dass der vordere Cluster der Cluster CL(5) zu sein
hat, wie dies in 20 veranschaulicht ist. 007
wird bzw. ist im Eintrag des Clusters CL(5) aufgezeichnet, 00A ist im
Eintrag des Clusters CL(7) aufgezeichnet, 00B ist im Eintrag des
Clusters CL(A) aufgezeichnet, ... und FFF ist im Eintrag des Clusters
CL(E) in der FAT-Tabelle aufgezeichnet.
-
Infolgedessen
ist die durch einen Hochgeschwindigkeits-Schreibprozess aufgezeichnete Datei F2
in den durch die FAT-Tabelle
verwalteten Zustand gebracht, und sie wird als Dateidaten wirksam.
-
Unter
Bezugnahme auf die 24 bis 31 wird
eine Zusatzerläuterung
gegeben.
-
24 veranschaulicht
die Verzeichnisse vor einem neuerlichen Schreiben von Daten. Ein
mit "SPRACHE" bezeichnetes Unterverzeichnis
sowie nicht dargestellte Unterverzeichnisse existieren unter einem
Hauptverzeichnis. Ferner existieren ein mit "ORDNER1" bezeichnetes Unterverzeichnis sowie andere
nicht dargestellte Verzeichnisse unter dem Verzeichnis SPRACHE. Überdies
existiert unter dem Verzeichnis "ORDNER1" eine mit "98120100.MSV" bezeichnete, bereits
aufgezeichnete Datei. 27 veranschaulicht die Plätze der
jeweiligen Da ten in dem FAT-Dateisystem und gibt an, dass das mit "SPRACHE" bezeichnete Unterverzeichnis
unter einem Hauptverzeichnis existiert, dass ein mit "ORDNER1" bezeichnetes nicht
dargestelltes Unterverzeichnis unter dem Unterverzeichnis SPRACHE existiert
und dass eine mit "98120100.MSV" bezeichnete Datei
unter dem Unterverzeichnis "ORDNER1" existiert. Eine
2 wird bzw. ist in den Dateieintrag geschrieben, und die 2 gibt
den ersten Cluster der mit "98120100.MSV" bezeichneten Datei
an. In FAT-Bereichen wird die Adresse 3 unter der Adresse 2 in die FAT-Tabelle
geschrieben, und 5, oder ein Wert, der eine Adresse angibt, wird
unter der Adresse 3 geschrieben. Wenn die jeweiligen Daten, die
diskret geschrieben sind, in dem FAT-Dateisystem zugeordnet werden,
wird eine mit "98120100.MSV" bezeichnete Datei
in dem Stab-Speicher 1 in der Reihenfolge von Cluster 2 → Cluster
3 → Cluster
5 → Cluster
6 → Cluster
7 → Cluster
8 → Cluster
10 → Cluster
11 geschrieben. Dies bedeutet, dass die Datei aus 98120100-1, 98120100-2
und 98120100-3 besteht. Ferner wird der Dateiname im Cluster 200
aufgezeichnet.
-
Falls
Daten erneut in den Stab-Speicher 1 eingeschrieben werden, der eine
derartige Verzeichnisstruktur besitzt, wird eine spezielle Eintragsdatei beim
Schritt F101 vorläufig
in einem Hauptverzeichnis erzeugt, wie dies in 16 veranschaulicht
ist. Dies bedeutet, dass eine Datei mit einem Dateinamen "temptemp.tmp", wie in 25 veranschaulicht ist,
erzeugt wird. Bei diesem Schritt wird jedoch lediglich ein Dateieintrag
erzeugt, und daher ist die Dateigröße als 0 spezifiziert. 28 veranschaulicht den
Status von Daten in den FAT-Bereichen. Eine mit "temptemp.tmp" bezeichnete Datei mit der Größe 0 wird
im Hauptverzeichnis erzeugt.
-
Danach
wird ein freier Cluster, der die kleinste Cluster-Nummer besitzt und
der nicht der Cluster 1 ist, nach folgendem Verfahren abgerufen.
Jeder FAT-Bereich wird Eins zu Eins überprüft, um einen Bereich zu ermitteln,
in den 0 bereits eingeschrieben ist. Bei diesem Beispiel wird festgestellt, dass
ein der Adresse 4 entsprechender Cluster frei ist. Die Adresse 4
zeigt dem Prozess an, dass CL(x) für eine Hochgeschwindigkeits-Datei
zu ermitteln ist, die beim Schritt F102 geöffnet wird, wie dies in 16 veranschaulicht
ist. Im Falle des Abrufens eines freien Clusters mit der nächstkleinsten
Cluster-Nummer wird festgestellt, dass der Cluster der Adresse 9
entspricht und dass CL(y) für
eine offene Hochgeschwindigkeits-Datei gegeben ist durch 9. Sodann werden
die jeweiligen Block-Nummern im realen Flash-Speicher entsprechend
den Clustern 4 und 9 auf der Grundlage der Adressenumsetztabelle
für eine
logische-physikalische Adressenumsetzung erhalten, und die entsprechenden
Blöcke
werden entsprechend den erzielten physikalischen Adressen gelöscht, was
zum Abschluss des Hochgeschwindigkeits-Dateiöffnungsprozesses bei dem in 16 dargestellten
Schritt F102 führt.
-
29 zeigt den Zustand des Schreibens von Stromdaten
in den Stab-Speicher 1 bei dem Prozess. Gemäß dieser
Figur werden Nachrichten in Clustern 4 und 9 aufgezeichnet. Dabei
sind beispielsweise temptemp-1 und temptemp-2 die Namen, die in
der Zeichnungsfigur der Einfachheit halber angegeben sind, und diese
Namen werden nicht in dem echten Dateiverwaltungssystem verwaltet.
Bei einer üblichen
Datenschreibprozedur wird ein Schreiben unter Heranziehung des FAT-Dateisystems
ausgeführt.
Daher wird beispielsweise nicht 0, sondern 9 an den durch die Adresse
4 in den FAT-Bereichen bezeichneten Platz geschrieben. Bei der vorliegenden Ausführungsform
wird eine derartige Verarbeitung jedoch bei dem betreffenden Schritt
nicht ausgeführt, weshalb
eine 0 an die durch die Adresse 4 bezeichnete Stelle in derselben
Weise geschrieben wird, wie dies in 28 veranschaulicht
ist. Zu diesem Zeitpunkt sind Daten bereits im Cluster 12 gelöscht, und der
Cluster 12 wird in der Variablen CL(x) als nächster Cluster für das Schreiben
von Daten spezifiziert, und ferner wird der Cluster 13 in der Variablen
CL(y) als nächster
Cluster für
das Schreiben von Daten im Anschluss daran spezifiziert, und sodann
werden die Daten gelöscht.
-
30 zeigt den Zustand der Beendigung der eingangsseitigen
Stromdaten. Schließlich
liegen die eingangsseitigen Stromdatenposten in einer Datenmenge
vor, die drei Clustern entspricht. Die Daten in dem dritten Cluster,
in welchem ein Schreiben erfolgt ist, werden vorläufig "temptemp-3" genannt, wobei der
Name indessen nicht von dem Dateiverwaltungssystem verwaltet wird.
Das Gleiche gilt für temptemp-1
und temptemp-2.
-
Es
ist notwendig, die vor und zu diesem Zeitpunkt in das Dateisystem
als wesentliche Dateien geschriebenen Stromdaten zu registrieren.
Dies wird unter Bezugnahme auf 31 beschrieben.
Während
einer FAT-Aktualisierung beim Schritt F105, wie dies in 16 veranschaulicht
ist, wird die FAT-Tabelle
abgetastet, um die kleinste Cluster-Nummer entsprechend dem Cluster
zu ermitteln, in den eine 0, die einen freien Cluster angibt, als
Adresse eingeschrieben ist. Bei diesem Beispiel ist eine 0 in den dem
Cluster 4 entsprechenden Teil eingeschrieben. Mit anderen Worten
ausgedrückt
heißt
dies, dass der Cluster 4 zum Kopf der neu aufgezeichneten Stromdatenposten
wird. Ferner wird die kleinere Cluster-Nummer danach aus den nächsten freien
Clustern ermittelt. Bei diesem Beispiel wird der Cluster 9 ermittelt,
und so wird eine 9 in die Stelle im Cluster 4 in der FAT-Tabelle
eingeschrieben, wobei eine 9 anzeigt, dass anschließend wiederzugebende
Daten solche im Cluster 9 sind. Anschließend werden Daten im Cluster
9 gelesen, und dann wird bestimmt, dass Daten geschrieben werden.
Daher wird die kleinere Cluster-Nummer
weiter aus den nächsten
freien Clustern ermittelt. Bei diesem Beispiel wird der Cluster
12 ermittelt, und der Cluster 12 ist nicht frei. Deshalb wird eine
12 in die Stelle beim Cluster 9 in der FAT-Tabelle geschrieben,
wobei die 12 anzeigt, dass die anschließend wiederzugebenden Daten
solche im Cluster 12 sind. Wenn die FAT-Tabelle nach einem freien
Cluster mit der nächstkleineren
Cluster-Nummer abgesucht wird, wird ermittelt, dass es der Cluster
13 ist. Die Strom daten werden jedoch nicht in den Cluster 13 eingeschrieben,
und der Cluster 13 wird durch Lesen des betreffenden Clusters 13
als im Zustand gelöschter
Daten befindlich ermittelt. Daher wird FFF in die den Cluster 12
in der FAT-Tabelle angebende Stelle eingeschrieben, wobei FFF anzeigt, dass
der Cluster 12 der letzte Cluster ist, in den Stromdaten neu aufgezeichnet
werden bzw. sind. Dadurch werden eine 9 in die Stelle 4 in der FAT-Tabelle,
eine 12 in die Stelle 9 und FFF in die Stelle 12 geschrieben, was
veranschaulicht, dass die Kettung von diskret geschriebenen Stromdaten
erzeugt ist.
-
Auf
eine anschließende
Aktualisierung eines Verzeichniseintrags hin wird die Dateigröße 0 einer Datei,
die vorübergehend
mit temptemp.tmp bezeichnet war, in den den geschriebenen Stromdaten
entsprechenden Wert geändert,
und der Dateiname wird in 98120200.MSV, wie beim Beispiel in 31, geändert,
und die betreffenden Daten werden in einem Unterverzeichnisbereich
aufgezeichnet. Während der
Aktualisierung des Namens wird zunächst die Cluster-Nummer von
98120200.MSV in 4 aktualisiert. Kurz gesagt werden die Dateigrößen-Aktualisierung
und -Änderung
im Dateinamen mit der Änderung
im Verzeichnis ausgeführt.
Darüber
hinaus wird 98120200.MSV in den Cluster 201 geschrieben, so dass
der Dateiname 98120200.MSV durch das Dateisystem identifiziert ist.
Während
dieses Prozesses wird eine mit temptemp.tmp bezeichnete Datei in dem
Prozess der Hochgeschwindigkeits-Markierung beim Schritt F101 zur
selben Zeit gelöscht.
-
Dieser
Zustand ist in 26 veranschaulicht. Eine mit
temptemp.tmp bezeichnete Datei in derselben Ebene wie jener des
Unterverzeichnisses, welches mit SPRACHE bezeichnet ist und unmittelbar
unter einem Hauptverzeichnis in 25 liegt, wird
in seinem Namen und im Verzeichnis geändert. Sodann identifiziert
das Dateisystem, wie in 26 veranschaulicht,
die mit 98120200.MSV bezeichneten neu aufgezeichneten Stromdaten
in derselben Ebene wie jene Daten, die 98120100.MSV unter einem
Unterverzeichnis ORDNER1 benannt sind, welches unter einem Unterverzeichnis
mit dem Namen SPRACHE unter einem Hauptverzeichnis liegt. Dadurch
wird eine mit temptemp.tmp bezeichnete Datei unmittelbar unter dem
Hauptverzeichnis aus dem Dateisystem gelöscht.
-
Bei
diesem Beispiel ist der Dateiname der neu aufgezeichneten Stromdaten
gegeben mit 98120200.MSV; die Vorrichtung kann jedoch irgendeinen
Dateinamen zuweisen, oder der Benutzer kann einen Dateinamen vor
Beginn einer Aufzeichnung oder nach der Beendigung einer Aufzeichnung eingeben.
-
Wie
aus der obigen Beschreibung verständlich sein dürfte, werden
bei dem Hochgeschwindigkeits-Schreibprozess gemäß dem vorliegenden Beispiel
die Stromdaten kontinuierlich in Clustereinheiten geschrieben, und
die FAT-Tabelle wird aktualisiert, nachdem die Stromdaten vollständig eingeschrieben
sind.
-
Wie
oben beschrieben, wird in der Adressenumsetztabelle gemäß dem vorliegenden
Beispiel die korrespondierende Beziehung zwischen der nicht benutzten
logischen Adresse und der nicht benutzten physikalischen Adresse
zuvor aufgezeichnet.
-
Daher
werden die FAT-Tabelle und die Adressenumsetztabelle nicht während der
Zeitspanne aktualisiert, während
der die Stromdaten kontinuierlich aufgezeichnet werden. Infolgedessen
ist die schreibbare Datenmenge pro Zeiteinheit beim Aufzeichnen
der Stromdaten im Vergleich zu dem in 22 beschriebenen
konventionellen Prozess signifikant gesteigert. Es ist möglich, die
schreibbare Datenmenge pro Zeiteinheit bis angenähert zur oberen Grenze der
Hardware zu steigern.
-
Infolgedessen
werden Stromdaten mit hoher Bitrate erhältlich. Es ist möglich, nicht
nur die Sprachdaten und Audiodaten aufzuzeichnen, sondern auch Bewegtbilddaten,
die viel Daten enthalten, und zwar ausreichend und in Echtzeit.
-
Ferner
ist die Datenschreibgeschwindigkeit tatsächlich signifikant gesteigert;
der Zugriff für
eine Aktualisierung der FAT-Tabelle wird lediglich einmal ausgeführt, d.h.
die für
eine Aktualisierung der FAT-Tabelle benötigte Zeit ist signifikant
verringert, und der Leistungsverbrauch für den Aufzeichnungsbetrieb
ist signifikant herabgesetzt.
-
Die
Abstimmung auf das Echtzeit-Schreiben der mit hoher Bitrate auftretenden
Stromdaten ermöglicht
es, den Pufferspeicher mit einer großen Kapazität zu eliminieren, und die Systemverarbeitung, beispielsweise
die Steuerung des Abgabezeitpunkts der Stromdaten von der Abgabevorrichtungsseite, wenn
die Audiodaten oder Bewegtbilddaten, die von einem anderen Gerät geliefert
werden, aufgezeichnet werden und damit der Aufbau nicht nur der
Hardware, nämlich
der Treibervorrichtung, sondern auch der Software sind vereinfacht.
-
6. Wiederaufnahmeprozess
-
Es
ist möglich,
die mit hoher Bitrate auftretenden Stromdaten beispielsweise in
Echtzeit mittels des obigen Hochgeschwindigkeits-Schreibprozesses zu
schreiben. Dabei wird die FAT-Tabelle,
wie aus der Beschreibung des obigen Prozesses verständlich sein
dürfte,
aktualisiert, nachdem die Stromdaten vollständig geschrieben sind, und
die geschriebenen Stromdaten werden wirksam. Dies heißt, dass
sie reproduzierbare Daten lediglich nach Abschluss der Aktualisierung
der FAT-Tabelle
werden. In dem Fall, dass eine Aktualisierung der FAT-Tabelle beispielsweise
aufgrund einer Betriebsstörung
bzw. eines Abschaltens der Stromquelle, eines Stromquellenausfalls
oder aufgrund anderer Probleme unmöglich wird, bevor die FAT-Tabelle
aktualisiert ist, beispielsweise zum Zeitpunkt während des Schreibens der Stromdaten
oder dann, wenn das Schreiben abgeschlossen ist, werden die geschriebenen
Stromdaten zu einer Null-Datei, nämlich zu einer nicht wiedergebbaren
Datei, da sie durch die FAT-Tabelle nicht verwaltet wird.
-
In
dem Fall, dass die Stromdaten nicht erneut hereingenommen werden
können,
beispielsweise in dem Fall, dass die Stromdaten beispielsweise die
Daten sind, die von einem anderen Aufzeichnungsträger kopiert
bzw. schnell kopiert sind, wird der Zweck durch erneutes Kopieren
bzw. Schnellkopieren des Aufzeichnungsträgers erreicht. In dem Fall,
dass die Stromdaten die Daten, welche durch Aufzeichnen der von
dem Mikrofon 103 eingefangenen Sprache erhalten sind, oder
die Daten sind, die durch Aufzeichnen der Bewegtbilddaten erhalten worden
sind, welche von einer Bildgebungsvorrichtung aufgenommen sind,
oder ferner beispielsweise in dem Fall, dass die Stromdaten die
Daten sind, die durch Aufzeichnen einer durch Verwendung eines Rundfunkempfängers empfangenen
und demodulierten gesendeten Sprache erhalten werden, ist das Problem
sehr ernsthaft.
-
Um
ein derartiges Problem zu vermeiden, ist das vorliegende Beispiel
so aufgebaut bzw. strukturiert, dass die Daten, die einmal in den
Stab-Speicher 1 geschrieben sind, als effektive Daten wieder
aufgenommen werden können,
indem ein Wiederaufnahmeprozess in dem Fall ausgeführt wird,
dass eine Aktualisierung der FAT-Tabelle unmöglich wird.
-
Der
Mikrocomputer 109 führt
den in 21 veranschaulichten Prozess
als Wiederaufnahmeprozess aus, wobei der in 17 veranschaulichte
Prozess während
des Schreibens ausgeführt
wird, um den Wiederaufnahmeprozess zu realisieren.
-
Im
Einzelnen werden während
der Schreiboperation in einer Clustereinheit, wie oben beschrieben,
entsprechend der Schreibregel die Stromdaten in den Block mit der
Cluster-Nummer unter
der kleinsten logischen Adresse geschrieben, die zum jeweiligen
Zeitpunkt unter freien Clustern vorliegt. Die Daten von zwei Blöcken mit
der nächstkleinsten
und der zweitnächsten
kleinsten Cluster-Nummer werden gelöscht.
-
Der
in 21 veranschaulichte Wiederaufnahmeprozess wird
bzw. ist auf der Grundlage des obigen Prozesses realisiert.
-
Bei
der Wiederaufnahmeverarbeitung wird zuerst die Cluster-Nummer bei der kleinsten
logischen Adresse zu dem betreffenden Zeitpunkt unter nicht benutzten
Clustern (freien Clustern), die durch die FAT-Tabelle verwaltet
werden, auf die Variable CL(x) festgelegt. Der Wiederaufnahmeprozess
wird für
eine Schreiboperation ausgeführt,
wie dies unter Bezugnahme auf 18A und 18B, 19 und 20 beschrieben
ist, und zwar lediglich dann, wenn beispielsweise die Datei F2 in
dem Stab-Speicher 1,
wie in 18B veranschaulicht, aufgezeichnet
worden ist und die FAT-Tabelle noch nicht aktualisiert verbleibt,
wie dies in 19 veranschaulicht ist.
-
Demgemäß ist der
Cluster, bezüglich
dessen beim Schritt F201 bestimmt wird, dass er die kleinste Cluster-Nummer
aufweist, tatsächlich
der Cluster, in den der erste Cluster der Datei F2 eingeschrieben worden
ist. Im Einzelnen handelt es sich bei dem Cluster mit der kleinsten
Cluster-Nummer um den Cluster CL(5) in dem in 18B und 19 veranschaulichten
Fall.
-
Die
Daten werden aus dem Cluster, der die Cluster-Nummer CL(x) aufweist,
beim Schritt F202 ausgelesen, und beim Schritt F203 wird bestimmt,
ob echte Daten vorliegen oder nicht; es wird nämlich bestimmt, ob es sich
dabei um einen Block handelt, aus dem Daten gelöscht worden sind oder nicht.
-
Im
Falle des obigen Beispiels geht die Ablauffolge mit Rücksicht
darauf, dass die Daten in dem Cluster CL(5) nicht aufgezeichnet
sind, weiter zu dem Schritt F204.
-
Beim
Schritt F204 wird die nächstkleinste Cluster-Nummer
von freien Clustern in der FAT-Tabelle in dem in 19 veranschaulichten
Zustand auf die Variable CL(x) festgelegt. Sodann wird der Prozess
gemäß den Schritten
F202 und F203 aus geführt.
Mit anderen Worten ausgedrückt
heißt
dies, dass ein Lesen des Blockes mit der Cluster-Nummer CL(x) und
das Vorhandensein der Daten in entsprechender Weise überprüft werden.
Im Falle des obigen Beispiels werden das Lesen und das Vorhandensein
der Daten in dem Cluster CL(7) überprüft, bei
dem es sich um den Cluster mit der nächstkleinsten Cluster-Nummer in Bezug auf
den Cluster CL(5) handelt.
-
Da
die Daten in dem Cluster CL(7) aufgezeichnet worden sind, geht die
Ablauffolge weiter zum Schritt F204.
-
Durch
den Prozess bei den Schritten F201 bis F204 wird, wie oben beschrieben,
der letzte Block ermittelt, in welchem die Daten aufgezeichnet sind.
-
Im
Einzelnen werden im Falle des obigen Beispiels das Lesen und das
Vorhandensein der Daten in freien Clustern überprüft, und zwar in der Reihenfolge
der Nummer von der kleinsten Nummer ausgehend, nämlich von den Clustern CL(5),
CL(7), CL(A), CL(B), CL(C), CL(D) bis CL(E). Bei diesem Prozess
wird das Vorhandensein von Daten bis zum Cluster CL(E) überprüft; sodann
geht die Ablauffolge weiter zum Schritt F204. Beim Schritt F204
wird der Cluster CL(F) als Variable CL(x) festgelegt, und bei den
Schritten F202 und F203 werden das Lesen und das Vorhandensein von
Daten überprüft.
-
Zu
dem betreffenden Zeitpunkt wird mit Rücksicht darauf, dass die Daten
in den nächsten und
zweitnächsten
Blöcken,
in die die Stromdaten eingeschrieben worden sind, bei dem obigen Schreibprozess
gelöscht
werden, bezüglich
der Blöcke
bestimmt, dass sie keine Datenblöcke
sind.
-
Demgemäß wird das
Vorhandensein der Daten, die in den Clustern CL(5), CL(7), CL(A),
CL(B), CL(C), CL(D) und CL(E) wirksam zu machen sind, bestätigt, und
beim Schritt F205 wird CL(F) als gegenwärtigem Cluster CL(x) bestimmt,
dass er der Cluster ist, der mit einer abnormalen Beendigung verbunden
ist.
-
Bei
den Schritten F206 und F207 werden die Cluster CL(5), CL(7), CL(A),
CL(B), CL(C), CL(D) und CL(E), bezüglich der entschieden ist,
dass sie wirksam zu machen sind, in der FAT-Tabelle gekettet, und der Verzeichniseintrag
wird aktualisiert, so dass die Datei wirksam gemacht ist.
-
Infolgedessen
ist die FAT-Tabelle aktualisiert, wie dies in 20 veranschaulicht
ist. Dies bedeutet, dass die Datei F2 als wirksame Datei wieder aufgenommen
ist.
-
Sogar
in dem Fall, dass die FAT-Tabelle nach Aufzeichnen der Stromdaten
mit dem Hochgeschwindigkeits-Schreibprozess insgesamt aktualisiert
wird, ist der Hochgeschwindigkeits-Schreibprozess dem Problem gegenüber abgestimmt,
dass die Stromquelle abgeschaltet wird, und zwar durch den oben
erwähnten
Wiederaufnahmeprozess.
-
Mit
anderen Worten ausgedrückt
heißt
dies, dass in dem Fall, dass bei dem obigen Hochgeschwindigkeits-Schreibprozess
ein nicht aktualisierter FAT-Status bezüglich der geschriebenen Stromdaten
auftreten könnte,
der betreffende nicht aktualisierte FAT-Status dadurch ausgeräumt wird,
dass der Wiederaufnahmeprozess sogar dann ausgeführt wird, wenn der nicht aktualisierte
FAT-Status auftritt, womit das Problem gelöst ist.
-
In
dem Fall, dass die Aktualisierung der FAT-Tabelle unmöglich wird,
nachdem die gesamten Stromdaten vollständig als Datei F2 geschrieben worden
sind, wird die gesamte Datei F2 durch den Wiederaufnahmeprozess
wieder aufgenommen. In dem Fall, dass eine Aktualisierung der FAT-Tabelle unterbrochen
wird, beispielsweise aufgrund eines Abschaltens der Stromquelle
in der Mitte des Schreibens der Stromdaten, ist selbstverständlich der
geschriebene Teil der Stromdaten das Ziel des Wiederaufnahmeprozesses.
-
Wenn
beispielsweise im Falle der in 18B gezeigten
Datei F2 die Operation unmöglich
wird, wenn die Cluster CL(5), CL(7), CL(A) und CL(B) geschrieben
sind, da bezüglich
des Clusters CL(C) bestimmt wird, dass es kein Daten-Cluster ist,
was bedeutet, dass der gelöschte
Status im Prozess bei den Schritten F201 bis F204 vorliegt, wird
die FAT-Tabelle aktualisiert, so dass die Cluster CL(5), CL(7),
CL(A) und CL(B) eine gekettete Datei in dem Aktualisierungsprozess
bei den Schritten F206 und F207 bilden.
-
Der
oben erwähnte
Wiederaufnahmeprozess kann durch eine Anwenderbetätigung gestartet werden,
oder der Mikrocomputer 109 kann den nicht aktualisierten
Status der FRT-Tabelle automatisch ermitteln und den Wiederaufnahmeprozess
ausführen.
-
Falls
der Wiederaufnahmeprozess ausgeführt
wird, unmittelbar nachdem der Mikrocomputer 109 eine nicht
richtige Dateischließung
ermittelt, beispielsweise eine Abnormalität, gemäß der die Hochgeschwindigkeits-Markierung
in dem Stab-Speicher 1 zu dem Zeitpunkt nicht ausgeschaltet
ist, zu dem die Stromquelle wieder eingeschaltet wird, dann erkennt
ein Anwender einfach, dass der geschriebene Teil der Stromdaten
wirksam ist, und zwar ohne Erkennung der Wirksamkeit oder Unwirksamkeit
der Datei in Abhängigkeit
vom FAT-Aktualisierungsstatus.
-
Die
Ausführungsform
ist oben beschrieben worden; die vorliegende Erfindung ist indessen
keineswegs auf diesen Aufbau und diese Arbeitsweise beschränkt. Insbesondere
können
detaillierte Prozeduren des Hochgeschwindigkeits-Schreibprozesses und
des Wiederaufnahmeprozesses verschieden modifiziert werden.
-
So
wird beispielsweise in dem Hochgeschwindigkeits-Schreibprozess das
Verfahren, mit dem bestimmt wird, ob ein hin sichtlich des Löschens fertiger
Cluster ermittelt wird, als Entscheidungsverfahren ausgewählt, mit
dem entschieden wird, ob das letzte Schreiben in einem Cluster abgeschlossen
ist. Andererseits speichert der Mikrocomputer 109 eine Cluster-Nummer am Ende der
Aufzeichnung zu dem Zeitpunkt, zu dem das Schreiben von Stromdaten
beendet ist. Durch Zuordnen der Cluster-Nummer zu der durch den
Mikrocomputer 109 beim Prozess zur Erzeugung einer Kettung
für Cluster
gespeicherten letzten Cluster-Nummer kann der letzte Cluster in
der Kettung leicht erkannt werden. Um den Prozess der Kettung der
aufgezeichneten Cluster nach der Beendigung der Aufzeichnung zu
vereinfachen, kann die Cluster-Adresse 4 als Teil einer zugeordneten
Information in temptemp.tmp aufgezeichnet werden; dies gibt an,
dass die Aufzeichnungs-Startposition der Stromdaten gerade geschrieben
wird, und zwar wie die Tatsache, dass die Cluster-Adresse 2 als
Startposition der Datei 98120100.MSV gespeichert ist, die in das
in 28 gezeigte Unterverzeichnis eingeschrieben ist.
Durch diese Maßnahme
ist es unnötig gemacht,
auf den FAT-Bereich Bezug zu nehmen und die Aufzeichnungs-Startposition
während
der Erzeugung der Kettungsdaten zu überprüfen. Wenn auf den FAT-Bereich
Bezug genommen wird, ist es überdies
möglich
zu erkennen, dass die Aufzeichnungs-Startposition korrekt ist. Um
den Prozess der Kettung der aufgezeichneten Cluster nach Beendigung
der Aufzeichnung zu vereinfachen, werden ferner lediglich Cluster-Nummern aufgezeichnet,
beispielsweise im RAM-Speicher 111 der Treibervorrichtung.
Dadurch ist es ermöglicht,
die Aufzeichnungsreihenfolge von jeweils in dem Stab-Speicher 1 gespeicherten
Stromdaten zu erkennen. Ferner können das
Lesen der in dem Stab-Speicher 1 gebildeten FAT-Tabelle
und der Prozess, mit dem bestimmt wird, ob Daten bereits in einem
hinsichtlich des Löschens fertigen
Cluster geschrieben sind, weggelassen werden, wenn die Kettung auf
der Grundlage der Cluster-Nummern erzeugt wird, die in dem RAM-Speicher 111 während der
Kettung der aufgezeichneten Cluster gespeichert werden. Dies schließt normalerweise eine
Aufzeichnung ab und ermöglicht
eine Kettungsverarbeitung der Cluster für Stromda ten, die bei hoher
Geschwindigkeit neu aufgezeichnet werden, wenn die FAT-Aktualisierung
ausgeführt
ist.
-
Das
System gemäß der vorliegenden
Erfindung ist keineswegs auf den Stab-Speicher beschränkt, wie
er in 1A bis 1D veranschaulicht
ist. Es können
Halbleiterspeichermedien mit unterschiedlicher sichtbarer Konfiguration,
wie Speicherchips, Speicherkarten, Speichermoduln, etc. verwendet
werden.
-
Die
detaillierte Spezifikation des Formats des vorstehend beschriebenen
Dateisystems kann in Abhängigkeit
von den tatsächlichen
Bedingungen geändert
werden.
-
Überdies
ist die Änderung
der Kapazität
des Flash-Speichers keineswegs auf die in 9 gezeigten
Größen beschränkt. Selbstverständlich ist
das Speicherelement des Aufzeichnungsträgers gemäß der vorliegenden Erfindung
keineswegs auf den Flash-Speicher beschränkt; andere Arten von Speicherelementen
können
verwendet werden.
-
Wie
aus der obigen Beschreibung verständlich sein dürfte, wird
die Hauptdaten-Aufzeichnungsoperation, bei der die zugeführten Hauptdaten,
wie die Stromdaten, kontinuierlich in dem Hauptdatenbereich aufgezeichnet
werden, ausgeführt;
die Adressenumsetzinformations-Aufzeichnungsoperation, bei der die
entsprechende Beziehung zwischen der logischen Adresse und der physikalischen
Adresse festgelegt wird, einschließlich der nicht benutzten physikalischen
Adresse und logischen Adresse, um die Adressenumsetzinformation
zu erzeugen oder zu aktualisieren und in bzw. auf dem Aufzeichnungsträger aufzuzeichnen,
wird zumindest vor der Ausführung der
Hauptdaten-Aufzeichnungsoperation
ausgeführt. Ferner
wird die Verwaltungsdaten-Aktualisierungsoperation, bei der die
Verwaltungsdaten entsprechend der Hauptdaten-Aufzeichnungsoperation
aktualisiert werden und bei der die aktualisierten Verwaltungsdaten
in bzw. auf dem Aufzeichnungsträger
aufgezeichnet werden, nach der Hauptdaten-Aufzeichnungsoperation
ausgeführt.
-
Dadurch
werden die Verwaltungsdaten und die Adressenumsetzinformation während der
Zeitspanne nicht aktualisiert, während
der die Hauptdaten, wie die Stromdaten, kontinuierlich aufgezeichnet werden.
Die schreibbare Datenmenge pro Zeiteinheit ist bis zu etwa der oberen
Grenze gesteigert, welche durch die Spezifikation der Hardware festgelegt
ist.
-
Infolgedessen
ist das System für
Stromdaten hoher Bitrate aufnahmefähig, d.h., dass dies ein Effekt
der vorliegenden Erfindung ist.
-
Überdies
bringt die vorliegende Erfindung einen weiteren Effekt mit sich,
gemäß dem die
Datenschreibgeschwindigkeit tatsächlich
signifikant gesteigert ist, und die Anzahl von Zugriffswiederholungen für eine Aktualisierung
der Verwaltungsdaten und der Adressenumsetzinformation ist signifikant
verringert. Folglich ist der Leistungsverbrauch für die Aufzeichnungsoperation
signifikant herabgesetzt.
-
Bei
der vorliegenden Erfindung werden in dem Fall, dass es unmöglich wird,
die Verwaltungsdaten-Aktualisierungsoperation nach einer Unterbrechung
oder nach Abschluss der Hauptdaten-Aufzeichnungsoperation auszuführen, die
logische Adresse und die physikalische Adresse, die für die Hauptdaten-Aufzeichnungsoperation
verwendet werden, unterschieden, wobei die Verwaltungsdaten in Abhängigkeit
vom Unterscheidungsergebnis aktualisiert werden. Die aktualisierten
Verwaltungsdaten werden in bzw. auf einem Aufzeichnungsträger bzw. -medium
aufgezeichnet, um dadurch die Wiederaufnahmeoperation bezüglich der
aufgezeichneten Daten auszuführen
und um damit die Hauptdaten, die bis zur Unterbrechung oder bis
zum Abschluss der Hauptdaten-Aufzeichnungsoperation aufgezeichnet worden
sind, wirksam zu machen. Trotz des Systems, bei dem die Verwaltungsdaten
aktualisiert werden, nachdem die Hauptdaten vollständig geschrieben
sind, wie dies oben beschrieben worden ist, sind daher in dem Fall,
dass die Verwaltungsdaten- Aktualisierung
unmöglich
wird, beispielsweise aufgrund eines unerwarteten Abschaltens der
Stromquelle, die aufgezeichneten Daten geschützt. Dadurch ist die Zuverlässigkeit
des Systems verbessert.