DE19837473A1 - Speichervorrichtung mit einem Datenpuffer - Google Patents
Speichervorrichtung mit einem DatenpufferInfo
- Publication number
- DE19837473A1 DE19837473A1 DE19837473A DE19837473A DE19837473A1 DE 19837473 A1 DE19837473 A1 DE 19837473A1 DE 19837473 A DE19837473 A DE 19837473A DE 19837473 A DE19837473 A DE 19837473A DE 19837473 A1 DE19837473 A1 DE 19837473A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- information
- read
- storage
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
Die vorliegende Erfindung betrifft eine Speicher
vorrichtung, gekennzeichnet durch ein Verfahren zum Managen
eines Datenpuffers. Spezieller befaßt sich die Erfindung
mit einer Speichervorrichtung in Form eines optischen Plat
tenlaufwerks in einem Host-Computer, in welchem ein Daten
puffer effizient unter Verwendung eines Betriebssystems (im
folgenden als OS bezeichnet) gemanagt wird.
In herkömmlicher Weise ist ein Dateisystem, wel
ches ein optisches Plattenlaufwerk verwendet, mit einem
Problem behaftet, daß nämlich die Lese-/Schreibrate, die
durch das optische Plattenlaufwerk zugelassen wird, niedri
ger liegt als die Verarbeitungsgeschwindigkeit, die durch
einen Host-Computer zugelassen wird (z. B. liegt die Be
triebsfrequenz des Host-Computers bei 200 MHz und die Be
triebsfrequenz des optischen Plattenlaufwerks bei etwa 25
MHz). Wenn die Datentransferrate mit der Datenlese-/-schreibrate
synchronisiert wird, verschlechtert sich die
Verarbeitungsfähigkeit des Host-Computers.
Wenn das optische Plattenlaufwerk mit dem Host-
Computer für eine Verwendung verbunden wird, so wird ein
Datenpuffer mit einer hohen Datentransferrate, der auch als
Cachespeicher bezeichnet wird, in das optische Plattenlauf
werk eingebaut. Unter den Befehlen und Datenelementen, die
von dem Host-Computer gesendet werden, werden diejenigen,
die hohe Möglichkeiten für die zukünftige Verwendung zeiti
gen, zeitweilig in dem Cachespeicher gespeichert. Somit
wird die Verarbeitungsfähigkeit des Host-Computers verbes
sert. Der Cachespeicher empfängt all die Datenelemente un
mittelbar und berichtet einen Normalabschluß (Normal Termi
nation). Wenn der Normalabschluß berichtet wird, aktiviert
das OS des Host-Computers eine andere Aufgabe. Dies führt
zu einer effizienten Verarbeitung. Die auf diese Weise vor
gesehene Steuerung, so daß Daten, die zeitweilige in dem
Cachespeicher gespeichert sind, später verwendet werden
können, wird als Cachesteuerung bezeichnet. Es ist die
Firmware in dem optischen Plattenlaufwerk, das heißt ein
Programm, welches in einem ROM innerhalb einer MPU vor
herrscht, welches für die Cachesteuerung verantwortlich
ist.
Die Cachesteuerung soll mehr in Einzelheiten er
läutert werden. Um beispielsweise Daten in das optische
Plattenlaufwerk zu schreiben, werden die Daten zeitweilig
in dem Cachespeicher in dem optischen Plattenlaufwerk ge
speichert und es werden die Daten in dem Cachespeicher
langsam zu einer optischen Platte übertragen oder über
schrieben. Im Gegensatz dazu werden zum Lesen der Daten von
dem optischen Plattenlaufwerk die von der optischen Platte
gelesenen Daten in den Cachespeicher eingeschrieben und
werden dann übertragen.
Wenn jedoch Daten zu Beginn von dem optischen
Plattenlaufwerk gelesen werden, wobei keine Daten in dem
Cachespeicher vorhanden sind, wird die Datentransferrate
gleich der Leserate, die durch das optische Plattenlaufwerk
zugelassen wird. Wenn eine Datei in Abhängigkeit von einer
Anfrage gelesen wird, die von dem OS gesendet wurde, so
wird ein Sektor mit dem ersten Befehl gelesen. Da die Mög
lichkeit, daß das Lesen des nächsten Sektors (Datenein
schreiben, unmittelbar aufeinanderfolgend), durch den näch
sten Befehl angezeigt, der von dem OS gesendet wird, hoch
ist, startet das optische Plattenlaufwerk, nachdem das op
tische Plattenlaufwerk einen Befehl empfangen hab und den
Normalabschluß zu dem OS zurückgeleitet hat, das Lesen der
Daten aus dem nächsten Sektor, bevor der nächste Befehl an
kommt, und speichert die Daten in dem Cachespeicher. Wenn
die in dem Cachespeicher abgespeicherten Daten mit den Da
ten übereinstimmen, die durch den nächsten Befehl angefragt
werden (wenn ein Cache-Treffer durchgeführt wird), können
die gespeicherten Daten von dem Cachespeicher aus übertra
gen werden.
Wenn jedoch ein angefragter Sektor, der durch den
nächsten Befehl angezeigt wird, verschieden ist von einem
Sektor, dessen Daten in dem Cachespeicher gespeichert wor
den sind (die Daten in dem Sektor führen nicht zu einem
Cache-Treffer), werden die Daten in dem angezeigten Sektor
des optischen Plattenlaufwerks erneut gelesen und zwar un
ter Beanspruchung von Verarbeitungszeit. Dies ist jedoch
nicht effizient. Es wird daher gefordert, ein Trefferver
hältnis zu verbessern, und zwar relativ zu den Daten, die
im voraus in dem Cachespeicher gespeichert werden, wenn Da
ten aus dem optischen Plattenlaufwerk gelesen werden.
Die von einem Computer gehandhabten Informationen
bestehen aus Programmen und Datenelementen. Zur Vereinfa
chung der Klassifizierung der Programme und der Datenele
mente oder zum Verarbeiten von Programmen und von Datenele
menten, wie beispielsweise das Speichern, Lesen, Wiederauf
finden und Korrigieren, werden die Programme und die Da
tenelemente je in Einheiten eines bestimmten Satzes von In
formationsblöcken benannt (dies wird als Datei bezeichnet)
Das OS eines Host-Computers managt die Datenelemente in
Speicherbereichen, die in allen Speichervorrichtungen ent
halten sind, durch Anpassen eines einzigartigen Steuermo
dus. Was auch immer für verschiedene Steuermodi angepaßt
oder verwendet werden, so sind wenigstens die drei Maßnah
men, die im folgenden beschrieben werden, mit enthalten, um
die Daten zu managen.
- (1) Eine Dateizuordnungstabelle (im folgenden als FAT bezeichnet)
- (2) Directory (im folgenden als DIR bezeichnet)
- (3) Datenteil (data division).
Die FAT wird dazu verwendet, um eine oder mehrere
Adressen der nachfolgenden Sektoren der Datei zu speichern,
die über eine Vielzahl von Sektoren eines Plattenmediums
gespeichert ist, welche in ein optisches Plattenlaufwerk
einzuladen ist. Das DIR wird zum Speichern einer Führungs
adresse und des Dateinamens von jeder Datei verwendet. Der
Datenteil (division) wird zum Speichern der Daten verwen
det.
Zum Lesen von Dateidaten liest die OS zuerst In
formationen, die den Datenteil von der FAT und DIR betref
fen. Basierend auf den gelesenen Informationen liest die OS
Daten von dem Datenteil. Mit anderen Worten muß, um Daten
von dem Datenteil zu lesen, die Arbeit des Lesens der FAT
und DIR ohne Fehlschlag oder Fehler durchgeführt werden.
Jedoch kümmert sich ein herkömmlicher Cache-
Steuermodus nicht um eine Prozedur des Lesens von FAT, DIR
und des Datenteils in einem Cachespeicher. Gemäß einem
Lesebefehl, der von dem OS ausgesendet wurde, werden FAT,
DIR und der Datenteil eines Plattenmediums in einer Zu
falls form gelesen und die gelesenen Daten werden in dem
Cachespeicher gespeichert. Ferner werden Daten, die den ge
lesenen Daten nachfolgen, und zwar mit einem früheren Be
fehl, im voraus gelesen und in dem Cachespeicher gespei
chert bis der nächste Befehl ankommt. Wenn der Datenteil
aus verteilten Räumen oder Abständen besteht, ergibt sich
ein Problem, daß die Wahrscheinlichkeit, daß Datenelemente,
die den Datenelementen in dem FAT und DIR entsprechen, in
dem Cachespeicher gefunden werden, niedrig ist.
Das Problem soll spezieller beschrieben werden.
Gemäß einem Stand der Technik ist ein Cachespeicher nicht
in Bereiche aufgeteilt, in denen die Datenelemente,. die von
einer FAT, DIR und dem Datenteil zu lesen sind, gespeichert
sind. Wenn ein Lesebefehl, der das Lesen von der FAT an
zeigt, zuerst auftritt, werden Daten aus dem ersten Sektor
innerhalb der FAT gelesen. Danach werden Daten von dem
nächsten und nachfolgenden Sektoren innerhalb der FAT gele
sen und werden dann in dem Cachespeicher gespeichert. Wenn
der nächste Lesebefehl das Lesen von dem Datenteil, jedoch
nicht von der FAT anzeigt, so werden die Daten, die vor der
FAT gelesen wurden, mit den Daten überschrieben, die von
einem Sektor innerhalb des Datenteils gelesen werden. Da
nach werden Daten von dem nächsten Sektor innerhalb des Da
tenteils gelesen und abgespeichert. Die im voraus von der
FAT gelesenen Daten werden vernichtet. Selbst wenn ein
Lesebefehl, der das Lesen von der FAT anzeigt, danach auf
tritt, sind die Daten, die von der FAT gelesen wurden, be
reits aus dem Cachespeicher verschwunden. Die Daten in der
FAT führen nicht zu einem Treffer. Das gleiche trifft für
die Daten in dem DIR oder dem Datenteil zu.
Eine Aufgabe der vorliegenden Erfindung besteht darin,
eine Speichervorrichtung, wie beispielsweise ein optisches
Plattenlaufwerk zu schaffen, bei dem: ein Management von
Daten in einem Datenpuffer, der in der Speichervorrichtung
eingebaut ist, erzielt wird, unter Verwendung einer Viel
zahl von Arten von Datenelementen; und wobei jedes Datum
der Daten im voraus (ahead) gelesen wird, und zwar während
des Lesevorgangs der Daten aus einem Speichermedium und wo
bei die Daten dann in dem Datenpuffer gespeichert werden,
und in welcher ein Datenpuffer-Managementverfahren von Manage
mentspeicherbereichen in dem Datenpuffer in einer sol
chen Weise realisiert wird, daß die Vielzahl der Arten von
vorausgelesenen Datenelementen nicht weggelassen wird und
daß eine Wahrscheinlichkeit, daß zu lesende Daten in dem
Datenpuffer während des Datenlesens gefunden werden, hoch
ist.
Gemäß einem ersten Aspekt der vorliegenden Erfindung
wird zur Lösung der zuvor angegebenen Aufgabe eine Spei
chervorrichtung mit einem Plattenmedium geschaffen und mit
einem Datenpuffer, in welchem die Daten, die in dem Plat
tenmedium zu speichern sind oder die Daten, die aus dem
Plattenmedium gelesen wurden, zeitweilig gespeichert wer
den. Das Plattenmedium enthält wenigstens eine Speicherein
heit für erste Informationen, die dazu verwendet werden, um
die Datenelemente, die jede Datei bilden, die eine Informa
tionseinheit darstellt, zu speichern, eine Speichereinheit
für zweite Informationen, die aus einer Indextabelle beste
hen, welche die Speicherstellen der Dateien anzeigt, und
eine Speichereinheit enthält für dritte Informationen, die
aus Listeninformationen der Datei bestehen. In der Spei
chervorrichtung zum Lesen oder Schreiben der gewünschten
Daten auf der Grundlage der Informationen in den Spei
chereinheiten wird der Speicherbereich in dem Datenpuffer
in Bereiche aufgeteilt, und zwar mit Grenzadressen unter
den Bereichen, die fixiert sind, so daß wenigstens ein
Speicherbereich für die ersten Informationen, ein Speicher
bereich für die zweiten Informationen und ein Speicherbe
reich für die dritten Informationen definiert werden kann.
Wenn Daten aus dem Plattenmedium gelesen werden, werden Da
ten, die aus der ersten Informationsspeichereinheit ausge
lesen wurden, gespeichert und werden in dem ersten Informa
tionsspeicherbereich aufbewahrt, es werden Daten, die aus
der zweiten Informationsspeichereinheit ausgelesen wurden,
in dem zweiten Informationsspeicherbereich gespeichert und
aufbewahrt und es werden Daten, die aus der dritten Infor
mationsspeichereinheit gelesen wurden, in dem dritten In
formationsspeicherbereich gespeichert und aufbewahrt. Somit
wird der Datenpuffer gemanagt.
Gemäß dem ersten Aspekt der vorliegenden Erfindung
kann die Speicherkapazität des zweiten Informationsspei
cherbereiches in dem Datenpuffer und die Speicherkapazität
des dritten Informationsspeicherbereiches darin mit der
Speicherkapazität der zweiten Informationsspeichereinheit
in dem Plattenmedium bzw. der Speicherkapazität der dritten
Informationsspeichereinheit darin übereinstimmen.
Darüber hinaus kann gemäß dem ersten Aspekt die Spei
cherkapazität von einem der Bereiche, und zwar dem zweiten
Informationsspeicherbereich und dem dritten Informations
speicherbereich in dem Datenpuffer mit der Speicherkapazi
tät einer zugeordneten Informationsspeichereinheit in dem
Plattenmedium übereinstimmen.
Gemäß einem zweiten Aspekt der vorliegenden Erfindung
wird eine Speichervorrichtung geschaffen, die ein Platten
medium und einen Datenpuffer umfaßt, in welchen Daten, die
in dem Plattenmedium zu speichern sind oder Daten, die aus
dem Plattenmedium ausgelesen wurden, zeitweilig gespeichert
werden. Das Plattenmedium enthält eine Speichereinheit für
erste Informationen, die dazu verwendet werden, um Da
tenelemente zu speichern, die jede Datei darstellen, die
eine Informationseinheit bildet, enthält eine Speicherein
heit für zweite Informationen, die aus einer Indextabelle
bestehen, die Speicherstellen der Dateien angibt oder an
zeigt, umfaßt eine Speichereinheit für dritte Informatio
nen, welche Listeninformationen der Dateien angeben. Bei
der Speichervorrichtung zum Lesen oder Schreiben der ge
wünschten Daten auf der Grundlage der Informationen in den
Speichereinheiten ist der Speicherbereich in dem Datenpuf
fer in zwei Bereiche aufgeteilt, und zwar in einen Bereich
mit einer großen Speicherkapazität und einen Bereich mit
einer kleinen Speicherkapazität mit einer Grenzadresse zwi
schen demselben, die festgelegt ist. Der Bereich mit einer
kleinen Speicherkapazität dient als ein Bereich, der exklu
siv zum Speichern von Daten verwendet wird, die aus einer
der Einheiten, und zwar der zweiten Informationsspei
chereinheit und der dritten Informationsspeichereinheit in
dem Plattenmedium ausgelesen wurden, während der Bereich
mit der großen Speicherkapazität als ein Speicherbereich
verwendet wird, der gemeinsam dazu verwendet wird, um Daten
zu speichern, die von der anderen Einheit, also der zweiten
Informationsspeichereinheit und der dritten Informations
speichereinheit in dem Plattenmedium ausgelesen wurden, und
für die Daten dient, die aus der ersten Informationsspei
chereinheit ausgelesen wurden. Wenn Daten aus dem Platten
medium gelesen werden, werden Daten, die aus einer Einheit
gemäß der zweiten Informationsspeichereinheit und der drit
ten Informationsspeichereinheit in dem Plattenmedium ausge
lesen wurden, in dem Bereich gespeichert und aufbewahrt,
der eine kleine Speicherkapazität in dem Datenpuffer be
sitzt. Die von der ersten Informationsspeichereinheit gele
senen Daten und die von der anderen einen Einheit, also der
zweiten Informationsspeichereinheit und der dritten Infor
mationsspeichereinheit gelesenen Daten, werden gemeinsam in
dem Bereich mit einer großen Speicherkapazität gespeichert
und aufbewahrt. Somit wird der Datenpuffer gemanagt.
Wenn gemäß der vorliegenden Erfindung der Speicherbe
reich des Datenpuffers voll wird, können Pufferadressen,
bei denen neue Daten abzuspeichern sind, auf Adressen ge
stellt oder gesetzt werden, die mit einer Adresse beginnen,
welche Informationen enthält, deren Speicherdatum alt ist.
Wenn darüber hinaus der Speicherbereich in dem Daten
puffer voll wird, können Pufferadressen, bei denen neue Da
ten abzuspeichern sind, auf Adressen gestellt werden, die
mit einer Adresse beginnen, welche Informationen enthält,
deren Zugriffsfrequenz niedrig ist.
Darüber hinaus kann die Speichervorrichtung aus einem
optischen Plattenlaufwerk oder ähnlichem bestehen. Die er
ste Informationsspeichereinheit kann aus einem Datenteil
bestehen, die zweite Informationsspeichereinheit kann aus
einer Indextabelle bestehen und die dritte Informations
speichereinheit kann aus einem Directory bestehen. Ferner
kann der Datenpuffer aus einem Cachespeicher bestehen.
Gemäß dem ersten Aspekt der vorliegenden Erfindung
wird der Speicherbereich in dem Datenpuffer in Bereiche
aufgeteilt, die exklusiv dazu verwendet werden, um Daten zu
speichern, die aus den drei Arten von Informationsspei
chereinheiten ausgelesen wurden, die in dem Plattenmedium
festgelegt sind für beispielsweise die drei Speichereinhei
ten einer FAT, DIR und einem Datenteil (data division).
Wenn eine von einem Host-Computer befehligte logische Bloc
kadresse in einer spezifizierten Informationsspeicherein
heit enthalten ist, so werden die gelesenen Daten der spe
zifizierten Informationsspeichereinheit in einem zugeordne
ten spezifizierten Informationsspeicherbereich in dem Da
tenpuffer entwickelt und werden dann übertragen. Danach
werden Daten in der gleichen Speichereinheit im voraus ge
lesen und in dem gleichen Bereich entwickelt. Wenn der
nächste Befehl das Lesen einer anderen Informationseinheit
befehligt, werden die Daten, die aus der Informationsein
heit gelesen wurden, in einem anderen zugeordneten Spei
cherbereich in dem Datenpuffer entwickelt. Die Daten in dem
Bereich, in welchem die früheren Daten entwickelt wurden,
werden daher nicht weggelassen. Als ein Ergebnis, wenn ein
Lesebefehl von der gleichen Informationsspeichereinheit wie
eine Informationsspeichereinheit, für die ein früherer Be
fehl ausgegeben wurde, ausgegeben wird, ist die Wahrschein
lichkeit, daß die Daten, die den Daten in der Informations
einheit entsprechen, in dem Datenpuffer gefunden werden,
hoch. Wenn die Daten gefunden werden, können sie unmittel
bar aus dem Datenpuffer gelesen werden und darin versendet
werden.
Ferner ist gemäß dem zweiten Aspekt der vorliegenden
Erfindung der Speicherbereich in dem Datenpuffer in zwei
Bereiche aufgeteilt; einem Speicherbereich, der zum Spei
chern von Daten verwendet wird, die aus einer Informations
speichereinheit gelesen wurden, das heißt dem Datenteil,
der in dem Plattenmedium definiert ist, und einem Speicher
bereich, der zum Speichern von Daten verwendet wird, die
aus einer spezifizierten Informationsspeichereinheit, bei
spielsweise der FAT, ausgelesen wurden. Wenn eine logische
Blockadresse, die durch einen Host-Computer befehligt wur
de, auf die spezifizierte Informationsspeichereinheit ver
weist, werden die Daten, die aus der spezifizierten Infor
mationsspeichereinheit ausgelesen wurden, in einem zugeord
neten spezifizierten Speicherbereich in dem Datenpuffer
entwickelt und werden dann übertragen. Danach werden Daten
in der gleichen Speichereinheit im voraus gelesen und in
dem gleichen Bereich entwickelt. Wenn eine logische Block
adresse, die durch den Host-Computer befehligt wurde, auf
den Datenteil (data division) verweist, so werden die Da
ten, die aus der Speichereinheit gelesen wurden, das heißt
der Datenteil in dem dem Datenteil zugeordneten Speicherbe
reich in dem Datenpuffer entwickelt und dann übertragen.
Danach werden Daten in dem Datenteil im voraus gelesen und
werden in dem gleichen Bereich entwickelt. Wenn darüber
hinaus eine logische Blockadresse, die durch den Host-
Computer befehligt wurde, auf eine andere spezifizierte In
formationsspeichereinheit verweist, so werden die Daten,
die aus der anderen spezifizierten Informationsspeicherein
heit gelesen wurden, gemeinsam in dem dem Datenteil zuge
ordneten Speicherbereich in dem Datenpuffer entwickelt und
dann übertragen. Danach werden Daten in der anderen spezi
fizierten Informationsspeichereinheit im voraus gelesen und
in dem dem Datenteil zugeordneten Speicherbereich entwic
kelt. Als Ergebnis ist, wenn ein gelesener Befehl für die
gleiche Informationsspeichereinheit wie die Informations
speichereinheit, für die ein früherer Befehl ausgegeben
wurde, ausgegeben wird, eine Wahrscheinlichkeit, daß Daten,
die den Daten in der Informationsspeichereinheit entspre
chen, in dem Datenpuffer gefunden werden, hoch. Wenn die
Daten gefunden werden, können sie unmittelbar aus dem Da
tenpuffer gelesen und dann ausgesendet werden.
Wenn die Speicherkapazität des Speicherbereiches in
dem Datenpuffer niedrig ist, werden neue Daten in einem
Speicherbereich gespeichert, der Daten enthält, deren Spei
cherdatum alt ist oder in einem Speicherbereich, der Daten
enthält, deren Zugriffshäufigkeit niedrig liegt.
Wenn beispielsweise ein Lesebefehl für die FAT ausge
geben wird, werden gelesene Daten und im voraus gelesene
Daten in einem der FAT zugeordneten Speicherbereich in dem
Datenpuffer entwickelt. Wenn ein Lesebefehl für das DIR
ausgegeben wird, werden die gelesenen Daten und die im vor
aus gelesenen Daten in einem der DIR zugeordneten Speicher
bereich in dem Pufferspeicher entwickelt. Wenn ein Lesebe
fehl weder auf die FAT noch die DIR verweist, so werden die
gelesenen Daten und die im voraus gelesenen Daten in einem
dem Datenteil zugeordneten Speicherbereich in dem Datenpuf
fer entwickelt.
Der Datenpuffer wird somit durch die Verwendung gema
nagt und die gelesenen und gespeicherten Informationen wer
den erhalten oder bleiben bestehen, bis die Kapazität des
Informationsspeicherbereiches erschöpft ist. Wenn ein Lese
befehl, der das Lesen der Informationen befehligt, ankommt,
so wird die Information in dem Informationsspeicherbereich
ohne Fehler gefunden. Dies begegnet der Notwendigkeit, die
Daten erneut zu lesen. Demzufolge nimmt die Leserate zu und
die Performance der Speichervorrichtung wird verbessert.
Die vorliegende Erfindung ergibt sich klarer aus der
folgenden Beschreibung unter Hinweis auf die beigefügten
Zeichnungen, in denen:
Fig. 1 ein Blockschaltbild ist, welches ein Beispiel
einer Systemkonfiguration zeigt, in welcher eine Speicher
vorrichtung mit einem Datenpuffer verwendet wird;
Fig. 2A ein Diagramm ist, welches die Erscheinungsform
eines optischen Plattenlaufwerks veranschaulicht, das in
Fig. 1 gezeigt ist;
Fig. 2B ein Diagramm ist, welches die interne Struktur
des optischen Plattenlaufwerks zeigt, das in Fig. 1 wieder
gegeben ist;
Fig. 3 ein Blockschaltbild ist, welches die interne
Konfiguration des optischen Plattenlaufwerks zeigt, das in
den Fig. 2A und 2B veranschaulicht ist;
Fig. 4 ein erläuterndes Diagramm ist, welches ein Bei
spiel der Aufteilung eines Cachespeichers veranschaulicht,
der in Fig. 3 gezeigt ist, und zwar in Einklang mit der
vorliegenden Erfindung;
Fig. 5 ein erläuterndes Diagramm ist, welches die
Struktur eines Speicherbereiches in einer optischen Platte
zeigt;
Fig. 6A ein Blockschaltbild ist, welches die erste
Ausführungsform der Aufteilung des Cachespeichers zeigt,
der in Fig. 4 veranschaulicht ist;
Fig. 6B ein Blockschaltbild ist, welches die zweite
Ausführungsform der Aufteilung des Cachespeichers veran
schaulicht, der in Fig. 4 gezeigt ist;
Fig. 7A ein Blockschaltbild ist, welches die dritte
Ausführungsform der Aufteilung des Cachespeichers zeigt,
der in Fig. 4 gezeigt ist;
Fig. 8 ein Teil eines Flußdiagramms ist, welches eine
Datenleseprozedur beschreibt, die in einem Datenpuffer-
Managementverfahren verwendet wird, welche in einer Spei
chervorrichtung gemäß der vorliegenden Erfindung implemen
tiert ist;
Fig. 9 einen Teil eines Flußdiagramms zeigt, welches
die Datenleseprozedur beschreibt, die in dem Datenpuffer-
Managementverfahren verwendet wird, welches in der Spei
chervorrichtung nach der vorliegenden Erfindung implemen
tiert ist.
Fig. 10 ein Teil des Flußdiagramms ist, weiches die
Datenleseprozedur beschreibt, die in dem Datenpuffer-
Managementverfahren verwendet wird, welches in der Spei
chervorrichtung nach der vorliegenden Erfindung implemen
tiert ist;
Fig. 11A ein Blockschaltbild ist, welches die fünfte
Ausführungsform der Aufteilung des Cachespeichers zeigt,
der in Fig. 4 veranschaulicht ist;
Fig. 11B ein Blockschaltbild ist, welches die sechste
Ausführungsform der Aufteilung des Cachespeichers zeigt,
der in Fig. 4 veranschaulicht ist;
Fig. 12 ein erläuterndes Diagramm ist, welches eine
verkürzte Lesezeit wiedergibt, die zum Lesen von Daten aus
einem Speichermedium erforderlich ist, wenn die Datenele
mente, die all den Datenelementen in einer FAT, DIR und ei
nem Datenteil entsprechen, in einem Cachespeicher vorgefun
den werden, und zwar im Vergleich mit einer herkömmlichen
Datenlesezeit;
Fig. 13 ein erläuterndes Diagramm ist, welches eine
verkürzte Lesezeit wiedergibt, die zum Lesen von Daten aus
einem Speichermedium erforderlich ist, wenn die Datenele
mente, die den Datenelementen in der FAT und DIR entspre
chen, in dem Cachespeicher gefunden werden, im Vergleich zu
einer herkömmlichen Datenlesezeit;
Fig. 14 ein erläuterndes Diagramm ist, welches eine
verkürzte Lesezeit veranschaulicht, die zum Lesen von Daten
aus einem Speichermedium erforderlich ist, wenn die Daten,
die den Daten entsprechen, welche alleine aus der FAT gele
sen wurden, in dem Cachespeicher vorgefunden werden, und
zwar im Vergleich mit einer herkömmlichen Datenlesezeit;
Fig. 15 ein erläuterndes Diagramm ist, welches eine
verkürzte Lesezeit wiedergibt, die zum Lesen von Daten aus
einem Speichermedium erforderlich ist, wenn die Daten, die
den Daten in der DIR alleine entsprechen, in dem Cachespei
cher vorgefunden werden, im Vergleich zu einer herkömmli
chen Datenlesezeit; und
Fig. 16A bis 16F erläuternde Diagramme sind, welche
die Datenlesezeiten wiedergeben, die erforderlich sind, um
Daten aus einem Speichermedium unter verschiedenen Bedin
gungen auszulesen.
Unter Hinweis auf die anhängenden Zeichnungen werden
die Aspekte der vorliegenden Erfindung in Einzelheiten auf
der Grundlage von beispielhaften Ausführungsformen erläu
tert.
Fig. 1 ist ein Blockschaltbild, welches ein Beispiel
einer Systemkonfiguration zeigt, bei der eine Speichervor
richtung mit einem Datenpuffer verwendet wird, wobei zwei
optische Plattenlaufwerke 1 als Speichervorrichtungen ver
wendet werden. Die optischen Plattenlaufwerke 1 sind an ei
nen SCSI-Bus 5 innerhalb eines Systems angeschlossen und
führen eine Eingabe- oder Ausgabeoperation durch, die durch
ein Hostsystem 3 bezeichnet wird, welches als ein Initiator
zum Aktivieren der Eingabe- oder Ausgabeoperation arbeitet
und welches an den SCSI-Bus 5 angeschlossen ist. Bei diesem
Beispiel sind an den SCSI-Bus 5 acht SCSI-Vorrichtungen an
geschlossen (zwei optische Plattenlaufwerke 1, vier Kon
troller 2 und zwei Host-Adapter 4). Es werden inhärente
Vorrichtungsadressen (#0 bis #7) den SCSI-Vorrichtungen zu
geordnet. Das System dieses Beispiels besteht aus einem
Multi-Hostsystem, bei welchem zwei Hostsysteme 3, von denen
jedes als ein Initiator arbeitet, miteinander verbunden
sind. Die Festplatten sind mit dem Kontroller 2 der Vor
richtungsadresse #2 verbunden. Magnetbänder sind an den
Kontroller 2 gemäß der Vorrichtungsadresse #3 angeschlos
sen. Ein Drucker ist mit dem Kontroller 2 gemäß der Vor
richtungsadresse #4 angeschlossen und ein Kommunikationssy
stem ist mit dem Kontroller 2 gemäß der Vorrichtungsadresse
#5 angeschlossen.
Fig. 2A zeigt ein Diagramm, welches die Erscheinungs
form des optischen Plattenlaufwerks 1, welches in Fig. 1
veranschaulicht ist, wiedergibt und Fig. 2B ist ein Dia
gramm, welches die interne Struktur desselben veranschau
licht. Das optische Plattenlaufwerk 1 besitzt einen Mecha
nismus 11, eine stationäre optische Einheit 12, eine Steu
erschaltungseinheit 13 und eine variable optische Einheit
und Betätigungsvorrichtung 14, die in einem Plattengehäuse
10 angeordnet sind. Eine optische Platte 6 innerhalb einer
optischen Plattenkassette 15, die in das oder aus dem Plat
tengehäuse 10 montiert oder demontiert wird, und zwar mit
Hilfe des Mechanismus 11, wird als ein Speichermedium ver
wendet.
Eine detaillierte Erläuterung ist weggelassen. Der Me
chanismus 11 umfaßt einen Spindelmotor, eine Positionier
vorrichtung, eine Kopfbetätigungsvorrichtung, einen Vor
spannmagneten und einen Vertikal-Bewegungsmechanismus für
den Spindelmotor. Darüber hinaus besteht die stationäre op
tische Einheit 12 aus einem optischen System, einem Positi
onsdetektor und einer Laserdiodensteuerschaltung. Die Steu
erschaltungseinheit 13 ist an der Außenfläche des Platten
gehäuses 10 montiert und enthält einen SCSI-Stecker oder
-Verbinder, eine Vorrichtungssteuerschaltung, einen
Cachespeicher, der als ein Datenpuffer dient, und einen
SCSI-Kontroller.
Fig. 3 zeigt ein Blockschaltbild, welches die interne
Konfiguration des optischen Plattenlaufwerks 1 wiedergibt,
welches in Verbindung mit den Fig. 2A und 2B beschrieben
wurde. In das Plattengehäuse 10 des optischen Plattenlauf
werks 1 sind, wie oben erläutert worden ist, der Mechanis
mus 11, die stationäre optische Einheit 12, die variable
optische Einheit und Betätigungsvorrichtung 14 und die op
tische Platte 6 enthalten. Die Steuerschaltungseinheit 13,
die auf der Außenfläche des Plattengehäuses 10 des opti
schen Plattenlaufwerks 1 ausgebildet ist, enthält einen op
tischen Plattenkontroller (ODC) 16, eine Steuerschaltung
17, die mit dem ODC 16 verbunden ist und zusammengesetzt
ist aus einer MPU, einer logischen Schaltung, einem ROM und
einem S-RAM, einem digitalen Signalprozessor (DSP) 18, der
mit der Steuerschaltung 17 verbunden ist, einer Gruppe von
Verstärkern 19, die mit dem ODC 16 und der Steuerschaltung
17 verbunden sind und dazu verwendet werden, um das Plat
tenlaufwerk, welches von dem Plattengehäuse 10 umschlossen
ist, anzutreiben und einen Cachespeicher (gebildet durch
ein D-RAM) 20, welches an den ODC 16 angeschlossen ist und
als ein Pufferspeicher dient.
In dem optischen Plattenlaufwerk 1 wird eine sog.
Cachesteuerung durchgeführt, das heißt ein Datentransfer
zwischen dem SCSI-Bus 5 und dem Plattenmedium in der opti
schen Plattenkassette 15 wird durch die MPU über den
Cachespeicher 20 ausgeführt. Da Daten in dem Cachespeicher
20 gespeichert werden können, kann das Hostsystem 3, wel
ches als ein Initiator dient, eine Eingabe- oder Ausgabe
verarbeitung effizient durchführen, indem es den größten
Teil der Fähigkeit des SCSI-Busses 5 beansprucht, um Daten
mit einer hohen Geschwindigkeit zu übertragen, und zwar un
geachtet der gültigen Datentransferrate, die durch das op
tische Plattenlaufwerk 1 zugelassen wird.
Das Lesen, der Transfer, das Entwickeln, das Manage
ment und irgendeine andere Operation, die an späterer Stel
le beschrieben werden, wird durch die zuvor erwähnte MPU
ausgeführt, wenn nichts anderes beschrieben wird.
Die Cachesteuerung soll nun mehr in Einzelheiten er
läutert werden. Wenn das Hostsystem 3 einen Schreibbefehl
an das optische Plattenlaufwerk 1 ausgibt, transferiert das
optische Plattenlaufwerk 1 Schreibdaten zu dem Cachespei
cher 20 und berichtet die Beendigung des Schreibbefehls bei
der Vervollständigung des Datentransfers. Das optische
Plattenlaufwerk 1 führt dann einen Schreibvorgang und eine
Verifizierung asynchron zu einer SCSI-Operation durch. Als
ein Ergebnis wird eine komplexe Schreibbefehl-Verarbei
tungszeit, während der das Hostsystem 3 warten muß, ver
kürzt. Demzufolge werden die Eingabe- und Ausgabeeigen
schaften des Hostsystems 3 verbessert.
Wenn das Hostsystem 3 einen Lesebefehl an das optische
Plattenlaufwerk 1 ausgibt, und zwar nachdem das optische
Plattenlaufwerk 1 die Ausführung des Lesebefehls beendet
hat, der das Lesen von Daten von der optischen Platte 6 be
fehligt, liest das optische Plattenlaufwerk 1 autonom einen
nachfolgenden Datenblock und speichert diesen in dem
Cachespeicher 20. Diese Operation wird als eine Vorausle
seoperation bezeichnet. Wenn der nächste von dem Hostsystem
3 gesendete Befehl eine Anfrage nach Daten darstellt, die
im voraus gelesen wurden und die in dem Cachespeicher 20
gespeichert wurden, können die Daten in dem Cachespeicher
übertragen werden, und zwar ohne die Notwendigkeit, auf die
optische Platte 6 zuzugreifen. Dies führt zu einem schnel
len sequentiellen Datenzugriff.
Bei der zuvor erläuterten Datenlesesteuerung innerhalb
der Cachesteuerung bedeutet ein Treffer, daß die Daten, die
bei dem nächsten von dem Hostsystem 3 gesendeten Befehl
konsistent mit den Daten sind, die im voraus gelesen und in
dem Cachespeicher gespeichert wurden. Je höher das Treffer
verhältnis ist, desto schneller erfolgt der Zugriff auf se
quentielle Daten.
Gemäß der vorliegenden Erfindung ist der Datenpuffer
bereich in dem Cachespeicher 20, wie dies in Fig. 4 gezeigt
ist, in drei Bereiche aufgeteilt; einem der FAT zugeordne
ten Datenpufferbereich 21, einem der DIR zugeordneten Da
tenpufferbereich 22 und einem dem Datenteil zugeordneten
Datenpufferbereich 23. Der Grund, warum der Datenpufferbe
reich in dem Cachespeicher in die drei Bereiche aufgeteilt
ist, liegt darin, daß ein Speicherbereich, der spiralförmig
in der optischen Platte 6 ausgebildet ist, in eine FAT 31
fällt, wie dies in Fig. 5 gezeigt ist, beginnend mit der
logischen Blockadresse (LBA) 0, einen DIR 32 fällt, der der
FAT nachfolgt und einen Datenteil 33 (data division) fällt.
Wenn gemäß der vorliegenden Erfindung eine logische
Blockadresse, die durch das Hostsystem befehligt wurde, auf
die FAT 31 verweist, werden in dem der FAT zugeordneten Da
tenpufferbereich 21 in dem Cachespeicher 20 die gelesenen
Daten entwickelt. Wenn die logische Blockadresse auf das
DIR 32 verweist, werden die gelesenen Daten in dem der DIR
zugeordneten Datenpufferbereich 22 entwickelt. Wenn die lo
gische Blockadresse, die durch das Hostsystem befehligt
wurde, weder auf die FAT 31 noch das DIR 32 verweist, wer
den die gelesenen Daten in dem dem Datenteil zugeordneten
Datenpufferbereich 23 entwickelt.
Wie oben dargelegt wurde, werden die Datenpufferberei
che 21 bis 23 in dem Cachespeicher 20 zum Zwecke der Ver
wendung gemanagt. Datenelemente, die den Datenelementen in
der FAT 31 und DIR 32 in dem Plattenmedium entsprechen,
werden in dem der FAT zugeordneten Datenpufferbereich 21
und dem der DIR zugeordneten Datenpufferbereich 22 jeweils
ohne Fehler gefunden. Wenn von dem Hostsystem 3 eine Anfra
ge zum Lesen der FAT 31 oder DIR 32 in der optischen Platte
6 ausgegeben wird, braucht dann, wenn einmal die Daten aus
der FAT oder DIR ausgelesen wurden und in den zugeordneten
Datenpufferbereichen 21 oder 22 in dem Cachespeicher 20 ge
speichert worden sind, lediglich eine Datentransferoperati
on zum Übertragen der Daten aus dem Cachespeicher 20 und
ein Lesevorgang des Datenteils 33 durchgeführt zu werden.
Dies führt zu der verbesserten Performance des optischen
Plattenlaufwerks 1.
Es soll nun ein Prozeß anhand eines praktischen Bei
spiels erläutert werden, gemäß welchem ein typisches Be
triebssystem (OS), welches in dem Host-Computer 3 instal
liert ist, Daten aus der optischen Platte 6 in der opti
schen Plattenkassette 5 gelesen werden.
Es wird eine Ausführungsform gemäß der Aufteilung des
Cachespeichers 20 beschrieben, die herbeigeführt wird, wenn
die Datei A und die Datei B, die unten aufgeführt sind, in
der optischen Platte 6 gespeichert sind und gelesen werden.
Datei A:
FAT-Daten LBA = 0, Zahl der Blöcke = 1
DIR-Daten LBA = 100, Zahl der Blöcke = 2
Datenteildaten
LBA = 300, Zahl der Blöcke = 5.
FAT-Daten LBA = 0, Zahl der Blöcke = 1
DIR-Daten LBA = 100, Zahl der Blöcke = 2
Datenteildaten
LBA = 300, Zahl der Blöcke = 5.
Datei B:
FAT-Daten LBA = 0, Zahl der Blöcke = 1
DIR-Daten LBA = 100, Zahl der Blöcke = 2
Datenteildaten
LBA = 306, Zahl der Blöcke = 7
FAT-Daten LBA = 0, Zahl der Blöcke = 1
DIR-Daten LBA = 100, Zahl der Blöcke = 2
Datenteildaten
LBA = 306, Zahl der Blöcke = 7
(Es sei darauf hingewiesen, daß LBA für eine logische
Blockadresse steht).
Die FAT-Daten, die zu der Datei A und der Datei B ge
hören, werden gemeinsam in einem Block von LBA 0 in der FAT
31 gespeichert, die in Fig. 5 gezeigt ist. Die DIR-Daten,
die zu der Datei A und zu der Datei B gehören, werden ge
meinsam bei den LBAs 100 und 101 in der DIR 32 gespeichert.
Die Datenteil-Daten (data division data), die zu der Datei
A gehören, werden bei den LBAs 300 bis 304 in dem Datenteil
33 gespeichert, während die Datenteil_Daten, die zu der Da
tei B gehören, bei den LBAs 306 bis 30C in dem Datenteil 33
gespeichert werden. Es sei erwähnt, daß die LBAs in hexade
zimaler Schreibweise geschrieben sind.
Die erste Ausführungsform der Aufteilung ist, wie
in Fig. 6A dargestellt ist, derart, daß der Datenpufferbe
reich in dem Cachespeicher 20, der in dem optischen Plat
tenlaufwerk 1 enthalten ist, in den der FAT zugeordneten
Datenpufferbereich 21 aufgeteilt ist, der von der Puf
feradresse 0h bis 19999h reicht, den der DIR-zugeordneten
Datenpufferbereich 22 aufgeteilt ist, der von der Puf
feradresse 20000h bis 59999h reicht, und den dem Datenteil
zugeordneten Datenpufferbereich 23 aufgeteilt ist, der von
der Pufferadresse 60000h beginnt. Bei dieser Ausführungs
form ist die Größe des Cachespeichers 20 so groß bemessen,
daß die Datenpufferbereiche 21 und 22 mit gleichen Größen
wie FAT 31 und DIR 32 in dem Plattenmedium, die durch das
OS verwendet werden, in dem Cachespeicher definiert werden
können und der dem Datenteil zugeordnete Datenpufferbereich
23 in ausreichender Weise in dem Cachespeicher 20 festge
legt oder definiert werden kann.
Die den LBAs in der optischen Platte 6 zugeordne
ten Pufferadressen werden dem der FAT zugeordneten Daten
pufferbereich 21 und der dem DIR zugeordneten Datenpuffer
bereich 22 zugewiesen.
Bei dieser Ausführungsform werden die Daten, die
aus LBA 0 in der FAT 31 gelesen werden und für die Datei A
und die Datei B, die in Fig. 5 gezeigt sind, gemeinsam vor
liegen, in dem der FAT zugeordneten Datenpufferbereich 21
in dem Cachespeicher 20 gespeichert. Die Daten, die aus den
LBAs 100 und 101 in der DIR 32 ausgelesen werden, werden in
dem der DIR zugeordneten Datenpufferbereich 22 in dem
Cachespeicher 20 gespeichert. Die Daten, die aus den LBAs
300 bis 304 in dem Datenteil 300 gelesen werden und zu der
Datei A gehören, und die Daten, die aus den LBAs 306 bis
30C ausgelesen werden, können in dem dem Datenteil zugeord
neten Datenpufferbereich 23 gespeichert werden. Wenn bei
dieser Ausführungsform der dem Datenteil zugeordnete Daten
pufferbereich 23 voll wird, können Pufferadressen, bei de
nen neue Daten gespeichert werden, auf Adressen eingestellt
werden, beginnend mit einer Adresse, die Informationen ent
hält, deren Speicherdatum alt ist oder einer Adresse, die
Informationen enthält, deren Zugriffsfrequenz niedrig
liegt.
Die zweite Ausführungsform der Aufteilung ist,
wie in Fig. 6B veranschaulicht ist, derart, daß der Daten
pufferbereich in dem Cachespeicher 20, der in dem optischen
Plattenlaufwerk 1 enthalten ist, aufgeteilt ist in den der
FAT zugeordneten Datenpufferbereich 21, der von der Puf
feradresse 0h bis 4999h reicht, den der DIR zugeordneten
Datenpufferbereich 22 aufgeteilt ist, der von der Puf
feradresse 5000h bis 9999h reicht, und den dem Datenteil
zugeordneten Datenpufferbereich aufgeteilt ist, der mit der
Pufferadresse 10000h beginnt. Diese Ausführungsform ist zu
bevorzugen, wenn der Cachespeicher 20 in der Größe zu klein
ist, um Speicherbereiche mit Größen festzulegen, die äqui
valent sind den Größen der FAT 31 und DIR 32 in der opti
schen Platte 6 in dem Datenpufferbereich in dem Cachespei
cher 20. Selbst in diesem Fall werden der der FAT zugeord
neten Datenpufferbereich 21, der zum Speichern von Daten
dient, die aus der FAT 31 in der optischen Platte 6 gelesen
wurden, als auch der der DIR zugeordnete Datenpufferbereich
22, der zum Speichern der Daten verwendet wird, die aus der
DIR 32 ausgelesen werden, festgelegt oder definiert. Jedoch
sind die Größen der Pufferbereiche 21 und 22 verglichen mit
denjenigen der ersten Ausführungsform reduziert. Es können
daher nicht Pufferadressen, die den LBAs zugeordnet sind,
die auf die FAT 31 und die DIR 32 in der optischen Platte 6
verweisen, in dem der FAT zugeordneten Datenpufferbereich
21 und dem der DIR zugeordneten Datenpufferbereich 22 in
dem Cachespeicher 20 eingestellt werden. Bei der zweiten
Ausführungsform werden daher der der FAT zugeordnete Daten
pufferbereich 21 und der der DIR zugeordnete Datenpufferbe
reich 22 in der gleichen Weise gemanagt wie der im Daten
teil zugeordnete Datenpufferbereich 23 in der ersten Aus
führungsform.
Die dritte Ausführungsform der Aufteilung ist,
wie in Fig. 7A gezeigt ist, derart getroffen, daß der Da
tenpufferbereich in dem Cachespeicher 20, welcher in dem
optischen Plattenlaufwerk 1 enthalten ist, aufgeteilt in
einen der FAT zugeordneten Datenpufferbereich 21, der von
der Pufferadresse 0h bis 19999h reicht, den der DIR zuge
ordneten Datenpufferbereich 22 aufgeteilt ist, der von der
Pufferadresse 20000h bis 29999h reicht, und den dem Daten
teil zugeordneten Datenpufferbereich 23 aufgeteilt ist, der
mit der Pufferadresse 30000h beginnt. Die dritte Ausfüh
rungsform besteht aus einer solchen Ausführungsform, bei
der die Größe des Cachespeichers 20 kleiner ist als dieje
nige des Cachespeichers bei der ersten Ausführungsform, je
doch größer ist als diejenige des Cachespeichers 20 in der
zweiten Ausführungsform. Bei der dritten Ausführungsform
wird daher der Datenpufferbereich 21, der die gleiche Größe
wie die FAT 31 in der optischen Platte 6 besitzt, von der
die Daten durch die OS verwendet werden, in dem Cachespei
cher 20 festgelegt oder definiert. In bezug auf DIR 32 in
der optischen Platte 6 wird der Datenpufferbereich 22 mit
der minimalen Größe in dem Cachespeicher 20 festgelegt oder
definiert. Der verbleibende Datenpufferbereich wird als der
dem Datenbereich zugeordnete Datenpufferbereich 23 verwen
det.
Bei der dritten Ausführungsform wird das Management
des der DIR zugeordneten Datenpufferbereiches 22 in der
gleichen Weise ausgeführt wie das Management des dem Daten
teil zugeordneten Datenpufferbereiches 23 bei der ersten
Ausführungsform.
Die vierte Ausführungsform der Aufteilung ist,
wie in Fig. 7B veranschaulicht ist, derart getroffen, daß
der Datenpufferbereich in dem Cachespeicher 20, welcher in
dem optischen Plattenlaufwerk 1 enthalten ist, aufgeteilt
ist in einen der FAT zugeordneten Datenpufferbereich 21,
der von der Pufferadresse 0h bis 4999h reicht, den der DIR
zugeordneten Datenpufferbereich 22 aufgeteilt ist, der von
der Pufferadresse 50000h bis 44999h reicht, und den dem Da
tenteil zugeordneten Datenpufferbereich 23 aufgeteilt ist,
der mit der Pufferadresse 45000h beginnt. Selbst bei der
vierten Ausführungsform ist die Größe des Cachespeichers 20
kleiner als diejenige dies Cachespeichers 20 in der ersten
Ausführungsform, ist jedoch größer als diejenige des
Cachespeichers 20 bei der zweiten Ausführungsform. Bei der
vierten Ausführungsform wird daher der Datenpufferbereich
22, der die gleiche Größe wie das DIR 32 in der optischen
Platte 6 besitzt, von dem die Daten durch das OS verwendet
werden, in dem Cachespeicher 20 festgelegt oder definiert.
In Relation zu der FAT 31 in der optischen Platte 6 ist der
Datenpufferbereich 21 der minimalen Größe in dem Cachespei
cher 20 festgelegt oder definiert. Der verbleibende Daten
pufferbereich wird vollständig als der dem Datenteil zuge
ordneten Datenpufferbereich 23 verwendet.
Bei der vierten Ausführungsform wird das Manage
ment des der FAT zugeordneten Datenpufferbereiches 21 in
der gleichen Weise ausgeführt wie das Management des dem
Datenteil zugeordneten Datenpufferbereiches 23 bei der er
sten Ausführungsform.
Ähnlich wie bei der zweiten bis vierten Ausfüh
rungsform können selbst dann, wenn der Datenpufferbereich
in dem Cachespeicher 20 nicht ausreichend groß ist, wenn
die Kapazität einer Datei, die gelesen werden soll, klein
ist, Daten, die von LBA 0 in der FAT 31 gelesen werden und
zu der Datei A und zu der Datei B gehören, wie in Fig. 5
gezeigt ist, genauso wie bei der ersten Ausführungsform in
dem der FAT zugeordneten Datenpufferbereich 21 in dem
Cachespeicher 20 gespeichert werden. Die aus den LBAs 100
und 101 in der DIR 32 gelesenen Daten können in dem der DIR
zugeordneten Datenpufferbereich 22 in dem Cachespeicher 20
gespeichert werden. Die von dem LBAs 300 bis 304 in dem Da
tenteil 33 gelesenen Daten, die zu der Datei A gehören, als
auch Daten, die von den LBAs 306 bis 30C gelesen werden,
können in dem dem Datenteil zugeordneten Datenpufferbereich
23 gespeichert werden.
Ein Beispiel einer Leseprozedur, die durch das OS
befolgt wird, um die Datei A zu lesen, welche in der opti
schen Platte 6 abgespeichert ist, wenn der Datenpufferbe
reich in dem Cachespeicher 20 in drei Bereiche in der glei
chen Form wie bei der ersten Ausführungsform aufgeteilt
ist, wird in Verbindung mit dem Flußdiagramm der Fig. 8 bis
10 beschrieben. Zum Lesen der Daten, die zu der Datei A ge
hören, werden zuerst Daten in der FAT 31 gelesen, es werden
dann Daten in der DIR 32 gelesen und es werden dann Daten
in dem Datenteil 33 zuletzt gelesen. Die Leseprozedur, die
durch das OS verfolgt wird, wird in dieser Reihenfolge be
schrieben.
Fig. 8 zeigt eine Prozedur zum Lesen von Daten
aus der FAT 31 in der optischen Platte 6. Bei dem Schritt
801 wird beurteilt, ob ein Lesebefehl, der das Lesen der
FAT 31 befehligt, von dem Hostsystem ausgegeben worden ist
oder nicht. Wenn der Lesebefehl ausgegeben worden ist, ver
läuft die Steuerung zu dem Schritt 802. Es wird dann beur
teilt, ob gültige Daten in dem der FAT zugeordneten Daten
pufferbereich 21 in dem Cachespeicher 20 vorhanden sind
oder nicht. Zu Beginn sind keine gültigen Daten in dem der
FAT zugeordneten Datenpufferbereich 21 vorhanden. Die
Steuerung verläuft daher zu dem Schritt 803. Die Daten in
der FAT 31 in der optischen Platte 6 werden gelesen und
werden bei der Pufferadresse 0h in dem der FAT zugeordneten
Datenpufferbereich 21 in dem Cachespeicher 20 gespeichert.
Bei dem Schritt 804 werden die Daten in den der FAT zuge
ordneten Datenpufferbereich 21 übertragen.
Die Daten in der FAT 31, die zu der Datei A gehö
ren, werden, wie in Verbindung mit Fig. 5 beschrieben wor
den ist, bei LBA 0 in der optischen Platte 6 gespeichert.
In dem Cachespeicher 20, der in dem optischen Plattenlauf
werk 1 enthalten ist, wird die Pufferadresse 0h exklusiv
zur Speicherung von Daten in der FAT 31 in der optischen
Platte 6 zugewiesen. Das optische Plattenlaufwerk 1 liest
Daten von einem Block beginnend mit LBA 0 in dem Speicher
bereich in der optischen Platte 6, entwickelt diese bei der
Adresse 0h, in dem der FAT zugeordneten Datenpufferbereich
21 in dem Cachespeicher 20 und überträgt diese dann zu dem
Hostsystem. Die in dem der FAT zugeordneten Datenpufferbe
reich 21 entwickelten Daten werden so wie sie sind aufbe
wahrt und bewertet.
Nachdem die Daten, die in dem der FAT zugeordne
ten Datenpufferbereich 21 entwickelt wurden, bei dem
Schritt 804 übertragen worden sind, verläuft die Steuerung
zu dem Schritt 805. Es wird dann beurteilt, ob das Lesen
von Daten aus der FAT 31 in der optischen Platte 6 vervoll
ständigt worden ist oder nicht. Wenn das Lesen der Daten in
der FAT 31 in der optischen Platte 6 noch nicht vervoll
ständigt worden ist, verläuft die Steuerung zu dem Schritt
806. Es wird dann beurteilt, ob der nächste Befehl von dem
Hostsystem ausgegeben wurde oder nicht. Wenn der nächste
Befehl noch nicht ausgegeben worden ist, gelangt das opti
sche Plattenlaufwerk 1 zu einer Steuerung gemäß dem Schritt
807, es werden im voraus Daten gelesen, die in einem Block
der nächsten LBA in der FAT 31 in der optischen Platte 6
vorhanden sind, und es werden die Daten an der nachfolgen
den Pufferadresse in dem der FAT zugeordneten Datenpuffer
bereich 21 in dem Cachespeicher gespeichert.
Nachdem die Daten, die in einem Block des näch
sten LBA in der FAT 31 in der optischen Platte 6 vorherr
schen, im voraus gelesen wurden und indem der FAT zugeord
nete Datenpufferbereich 21 gespeichert wurden, verläuft die
Steuerung zu dem Schritt 805. Es wird dann beurteilt, ob
das Lesen der Daten in der FAT 31 in der optischen Platte 6
vervollständigt worden ist oder nicht. Wenn nicht bei dem
Schritt 805 beurteilt wird, daß das Lesen der Daten in der
FAT 31 in der optischen Platte 6 vervollständigt worden ist
oder bei dem Schritt 806 beurteilt wird, daß der nächste
Befehl von dem Hostsystem ausgegeben worden ist, so wird
die Operation gemäß dem Vorauslesen von Daten, die in einem
Block der nächsten LBA in der FAT 31 in der optischen Plat
te 6 vorhanden sind und das Abspeichern derselben bei der
nächsten Pufferadresse in dem der FAT zugeordneten Daten
pufferbereich 21 wiederholt.
Wenn im Gegensatz dazu bei dem Schritt 805 beur
teilt wird, daß das Lesen der Daten in der FAT 31 in der
optischen Platte 6 vervollständigt worden ist oder wenn bei
dem Schritt 608 beurteilt wird, daß der nächste Befehl von
dem Hostsystem ausgegeben worden ist, verläuft die Steue
rung zu dem Schritt 801. Es wird dann bei dem Schritt 801
beurteilt, ob der von dem Hostsystem ausgesendete Befehl
ein Lesebefehl ist, der das Lesen der FAT befehligt oder
nicht. Wenn der Befehl aus irgendeinem Befehl anders als
dem Lesebefehl, der das Lesen der FAT befehligt, besteht,
verläuft die Steuerung zu dem Schritt 808.
Fig. 9 zeigt eine Prozedur zum Lesen von Daten
aus der DIR 32 in der optischen Platte 6. Bei dem Schritt
808 wird beurteilt, ob ein Lesen eines Befehls, der das Le
sen der DIR 32 befehligt, von dem Hostsystem ausgegeben
wurde oder nicht. Wenn der Lesebefehl ausgegeben worden
ist, verläuft die Steuerung zu dem Schritt 809. Es wird
dann beurteilt, ob gültige Daten in dem der DIR zugeordne
ten Datenpufferbereich 22 in dem Cachespeicher 20 vorhanden
sind oder nicht. Zu Beginn sind keine gültigen Daten in dem
der DIR zugeordneten Datenpufferbereich 32 vorhanden. Die
Steuerung verläuft daher zu dem Schritt 81. Die Daten in
dem DIR 32 in der optischen Platte 6 werden gelesen und bei
der Pufferadresse 20000h gespeichert und danach in dem der
DIR zugeordneten Datenpufferbereich 22 in dem Cachespeicher 20
gespeichert. Bei dem Schritt 811 werden die Daten in dem
der DIR zugeordneten Datenpufferbereich 22 übertragen.
Die Daten in dem DIR 32, die zu der Datei A gehö
ren, werden, wie dies in Verbindung mit Fig. 5 beschrieben
wurde, in zwei Blöcken beginnend mit LBA 100 in der opti
schen Platte 6 gespeichert. In dem Cachespeicher 20, der in
dem optischen Plattenlaufwerk 1 enthalten ist, wird die
Pufferadresse 20000h exklusiv für die Speicherung der Daten
zugewiesen, die aus dem DIR 32 in der optischen Platte 6
gelesen wurden. Das optische Plattenlaufwerk 1 liest Daten
aus zwei Blöcken beginnend mit LBA 100 in dem Speicherbe
reich in der optischen Platte 6, entwickelt dies bei dem
Speicherbereich 20000h und danach in dem der DIR zugeordne
ten Datenpufferbereich in dem Cachespeicher 20 und über
trägt diese dann zu dem Hostsystem. Die in dem der DIR zu
geordneten Datenpufferbereich 22 entwickelten Daten werden
so wie sie sind aufbewahrt und bewertet.
Nachdem die Daten, die in dem der DIR zugeordne
ten Datenpufferbereich 23 entwickelt wurden, bei dem
Schritt 811 übertragen wurden, verläuft die Steuerung zu
dem Schritt 812. Es wird beurteilt, ob das Lesen der Daten
in dem DIR 32 in der optischen Platte 6 vervollständigt
worden ist oder nicht. Wenn das Lesen der Daten in dem DIR
32 in der optischen Platte 6 nicht vervollständigt worden
ist, verläuft die Steuerung zu dem Schritt 813. Es wird be
urteilt, ob der nächste Befehl von dem Hostsystem ausgege
ben wurde oder nicht. Wenn kein Befehl ausgegeben wurde,
gelangt die Steuerung des optischen Plattenlaufwerks 1 zu
dem Schritt 814, es werden Daten im voraus gelesen, die in
einem Block der nächsten LBA in dem DIR 32 in der optischen
Platte 6 vorhanden sind und es werden diese bei den nach
folgenden Pufferadressen in dem der DIR zugeordneten Daten
pufferbereich 22 in dem Cachespeicher 20 gespeichert.
Nachdem die Daten, die in einem Block der näch
sten LBA in dem DIR 32 in der optischen Platte 6 vorhanden
sind, im voraus gelesen wurden und in dem der DIR zugeord
neten Datenpufferbereich 22 gespeichert wurden, kehrt die
Steuerung zu dem Schritt 812 zurück. Es wird erneut beur
teilt, ob das Lesen von Daten in der DIR 32 in der opti
schen Platte 6 vervollständigt worden ist oder nicht. Da
nach wird, wenn nicht bei dem Schritt 812 beurteilt wird,
daß das Lesen der Daten in der DIR 32 in der optischen
Platte 6 vervollständigt worden ist, oder bei dem Schritt
813 beurteilt wird, daß der nächste Befehl von dem Hostsy
stem ausgegeben wurde, die Operation des im voraus Lesens
der Daten, die in einem Block der nächsten LBA in der DIR
32 in der optischen Platte 6 vorhanden sind, und das Spei
chern derselben an den nachfolgenden Pufferadressen in dem
der DIR zugeordneten Datenpufferbereich 22 wiederholt.
Wenn im Gegensatz dazu bei dem Schritt 812 beur
teilt wird, daß das Lesen der Daten in der DIR 32 in der
optischen Platte 6 vervollständigt worden ist oder bei dem
Schritt 813 beurteilt wird, daß der nächste Befehl von dem
Hostsystem ausgegeben wurde, kehrt die Steuerung zu dem
Schritt 808 zurück. Bei dem Schritt 808 wird beurteilt, ob
der von dem Hostsystem ausgesendete Befehl aus einem Lese
befehl besteht, der das Lesen der DIR 32 befehligt oder
nicht. Wenn der Befehl aus irgendeinem Befehl anders als
dem Lesebefehl besteht, der ein Lesen der DIR 32 befehligt,
verläuft die Steuerung zu dem Schritt 815.
Fig. 10 beschreibt eine Prozedur zum Lesen von
beabsichtigten oder benötigten Daten in dem Datenteil 33 in
der optischen Platte 6. Bei dem Schritt 815 wird beurteilt,
ob ein Lesebefehl, der das Lesen des Datenteils 33 befeh
ligt, von dem Hostsystem ausgegeben worden ist oder nicht.
Wenn der Lesebefehl ausgegeben worden ist, verläuft die
Steuerung zu dem Schritt 816. Es wird beurteilt, ob gültige
Daten in dem dem Datenteil zugeordneten Datenpufferbereich
23 in dem Cachespeicher 20 vorhanden sind oder nicht. Zu
Beginn sind keine gültigen Daten in dem Datenteil zugeord
neten Datenpufferbereich 23 vorhanden. Die Steuerung ver
läuft daher zu .dem Schritt 817. Es wird beurteilt, ob ein
verfügbarer Raum in dem Puffer vorhanden ist oder nicht,
das heißt, ob in dem dem Datenteil zugeordneten Datenpuf
ferbereich 23 ein verfügbarer Speicherraum vorliegt. Wenn
ein verfügbarer Speicherraum vorliegt, verläuft die Steue
rung zu dem Schritt 818. Die gelesenen Daten werden in dem
verfügbaren Raum in dem Puffer gespeichert und die Steue
rung verläuft dann zu dem Schritt 820. Wenn im Gegensatz
dazu bei dem Schritt 817 beurteilt wird, daß kein verfügba
rer Speicherraum in dem Puffer vorhanden ist, verläuft die
Steuerung zu dem Schritt 819. Die Daten in dem Datenteil 33
in der optischen Platte 6 werden gelesen und bei Adressen
gespeichert, die mit einer Adresse beginnen, welche Daten
enthält, bei denen der Zugriffszählwert der kleinste ist,
und zwar in dem dem Datenteil zugeordneten Datenpufferbe
reich 23 in dem Cachespeicher 20. Bei dem nächsten Schritt
820 werden die Daten in dem dem Datenteil zugeordneten Da
tenpufferbereich 23 übertragen.
Die Daten in dem Datenteil 33, die zu der Datei A
gehören, werden, wie dies in Verbindung mit Fig. 5 be
schrieben wurde, in fünf Blöcken gespeichert, beginnend mit
LBA 300 in der optischen Platte 6. In dem Cachespeicher 20,
der in dem optischen Plattenlaufwerk 1 enthalten ist, gibt
es die Pufferadresse 60000h und diese wird danach exklusiv
für die Speicherung von Daten zugewiesen, die aus dem Da
tenteil 33 in der optischen Platte 6 gelesen wurden. Die
Menge der Daten, die in dem Datenteil 33 aufgezeichnet wer
den können, ist sehr viel größer als die Menge der Daten,
die in FAT 31 oder DIR 32 aufgezeichnet sind und ist norma
lerweise größer als die Speicherkapazität des dem Datenteil
zugeordneten Datenpufferbereiches 23 in dem Cachespeicher
20. Die Adressen in dem dem Datenteil zugeordneten Daten
pufferbereich 23 in dem Cachespeicher 20, der in dem opti
schen Plattenlaufwerk 1 enthalten ist, wird, verschieden
von dem der FAT zugeordneten Datenpufferbereich 21 und der
DIR zugeordneten Datenpufferbereich 22 nicht den Adressen
in dem Datenteil 33 in der optischen Platte 6 zugeordnet.
Mit anderen Worten enthält der dem Datenteil zugeordnete
Datenpufferbereich 23 keine Adressen, die exklusiv den Da
tenelementen der optischen Platte 6 zugeordnet sind.
Bei dem zuvor erläuterten, dem Datenteil zugeord
neten Datenpufferbereich 23 werden die Pufferadressen, be
ginnend mit einer Pufferadresse, deren Zugriffszählwert,
der durch den Zugriffszähler erzeugt wurde, der in Verbin
dung mit Fig. 3 beschrieben wurde, der kleinste ist, als
ein Entwicklungsbestimmungsort festgelegt. Informationen,
die anzeigen, daß Daten gültig sind oder ungültig sind,
werden an den dem Datenteil zugeordneten Datenpufferbereich
23 angehängt. Zum Speichern von Daten, die aus dem Daten
teil 33 in der optischen Platte 6 ausgelesen wurden, und
zwar in den dem Datenteil zugeordneten Datenpufferbereich
23, werden Zugriffszählwerte der Adressen bei den Zugriffs
zählern zurückgehalten. Daten an den Pufferadressen, begin
nend mit einer Pufferadresse, deren Zugriffszählwert der
kleinste ist, werden überschrieben und es wird der Zu
griffszählwert der Pufferadresse auf den neuesten Stand ge
bracht. Um zu Beginn Daten zu speichern, die zu der Datei A
gehören, und um Daten von dem Datenteil 33 zu lesen, wer
den, da die Gesamtheit des dem Datenteil zugeordneten Da
tenpufferbereiches 23 anzeigt, daß die Daten ungültig sind,
die in den fünf Blöcken vorhandenen Daten beginnend mit LBA
300 in dem Speicherbereich in der optischen Platte 6 gele
sen, werden bei der Adresse 60000h entwickelt, und zwar da
nach in dem dem Datenteil zugeordneten Datenpufferbereich
23 und werden dann übertragen. Die in dem dem Datenteil zu
geordneten Datenpufferbereich 23 entwickelten Daten werden
so wie sie sind aufbewahrt und bewertet.
Nachdem die Daten, die in dem dem Datenteil zuge
ordneten Datenpufferbereich 23 entwickelt wurden, bei dem
Schritt 820 übertragen wurden, gelangt die Steuerung zu dem
Schritt 821. Es wird beurteilt, ob das Lesen der Daten in
dem Datenteil 33 in der optischen Platte 6, die zu der Da
tei A gehören, vervollständigt worden ist oder nicht. Wenn
das Lesen der Daten in dem Datenteil 33, die zu der Datei A
gehören, noch nicht vervollständigt worden ist, gelangt die
Steuerung zu dem Schritt 822. Es wird beurteilt, ob der
nächste Befehl von dem Hostsystem ausgegeben worden ist
oder nicht. Wenn der nächste Befehl nicht ausgegeben worden
ist, gelangt die Steuerung des optischen Plattenlaufwerks 1
zu dem Schritt 823, es werden Daten im voraus gelesen, die
in einem Block der nächsten LBA in dem Datenteil 33 vorhan
den sind und zu der Datei A gehören, und werden dann an den
Pufferadressen gespeichert, beginnend mit einer Puf
feradresse, von der der Zugriffszählwert der kleinste ist,
und zwar in dem dem Datenteil zugeordneten Datenpufferbe
reich 23 in dem Cachespeicher 20.
Nachdem die Daten, die in einem Block der näch
sten LBA in dem Datenteil 33 vorhanden sind und zu der Da
tei A gehören, im voraus gelesen worden sind und in dem dem
Datenteil zugeordneten Datenpufferbereich 23 gespeichert
worden sind, kehrt die Steuerung zu dem Schritt 821 zurück.
Es wird erneut beurteilt, ob das Lesen der Daten in dem Da
tenteil 33, die zu der Datei A gehören, vervollständigt
worden ist oder nicht. Danach wird, wenn nicht bei dem
Schritt 821 beurteilt wird, daß das Lesen der Daten in dem
Datenteil 33, die zu der Datei A gehören, vervollständigt
worden ist oder bei dem Schritt 822 beurteilt wird, daß der
nächste Befehl von dem Hostsystem ausgegeben wurde, die
Operation des Vorauslesens der Daten, die in einem Block
der nächsten LBA in dem Datenteil 33, der zu der Datei A
gehört, vorhanden sind, und das Speichern derselben an den
Pufferadressen beginnend mit einer Pufferadresse, von der
der Zugriffszählwert der kleinste ist, in dem dem Datenteil
zugeordneten Datenpufferbereich 23 wiederholt.
Im Gegensatz dazu wird, wenn bei dem Schritt 821
beurteilt wird, daß das Lesen der Daten in dem Datenteil
33, die zu der Datei A gehören, vervollständigt worden ist
oder wenn bei dem Schritt 822 beurteilt wird, daß der näch
ste Befehl von dem Hostsystem ausgegeben worden ist, die
Steuerung zu dem Schritt 815 zurückgeführt. Bei dem Schritt
815 wird beurteilt, ob der von dem Hostsystem ausgesendete
Befehl ein Lesebefehl ist, der das Lesen der Daten in dem
Datenteil 33, die zu der Datei A gehören, befehligt. Wenn
der Befehl aus irgendeinem Befehl anders als dem Lesebefehl
besteht, der das Lesen der Daten in dem Datenteil 33 befeh
ligt, wird die Routine beendet.
Wenn die Daten, die zu der Datei A gehören, auf
diese Weise ausgelesen wurden, wird eine Medium- Zugriffs
operation dreimal ausgeführt.
Wenn, wie bei der zweiten bis vierten Ausfüh
rungsform die Größe des der FAT zugeordneten Datenpufferbe
reiches 21 oder des der DIR zugeordneten Datenpufferberei
ches 22 in dem Cachespeicher 20 so klein ist, daß die Menge
der gelesenen Daten die Speicherkapazität des der FAT zuge
ordneten Datenpufferbereiches 21 oder des der DIR zugeord
neten Datenpufferbereiches 22 überschreitet, so wird der
der FAT zugeordnete Datenpufferbereich 21 oder der der DIR
zugeordnete Datenpufferbereich 22 gemanagt, und zwar unter
Verwendung der Zugriffszähler in der gleichen Weise wie der
dem Datenteil zugeordnete Datenpufferbereich 23. Wenn der
der FAT zugeordnete Datenpufferbereich 21 oder der der DIR
zugeordnete Datenpufferbereich 22 voll wird und daher das
Entwickeln der Daten nicht zulassen kann, wird auf die Wer
te der Zugriffszähler Bezug genommen. Es werden Daten aus
einem Plattenmedium ausgelesen und an einer Pufferadresse
entwickelt, deren Zugriffszählwert der kleinste ist oder,
wenn eine Vielzahl von Pufferadressen den kleinsten Zu
griffszählwert zeigen, bei einer Pufferadresse entwickelt,
welche die ältesten Daten enthält. Der Zugriffszähler für
die neuerlich entwickelten Daten wird dann eingestellt.
Wenn Daten in der gleichen Weise wie die gültigen Daten ge
lesen werden können, kann der Wert des Zugriffszählers auf
den neuesten Stand gebracht werden, um die Daten gültig zu
halten.
Wenn danach die Daten in dem Datenteil, die zu
der Datei B gehören, durch das OS gelesen werden, so werden
die Daten in der FAT 31 zuerst gelesen, und zwar gemäß der
gleichen Prozedur wie der zuvor erläuterten einen. Jedoch
sind die Daten, die den Daten entsprechen, welche in einem
Block beginnend mit LBA 0 in der FAT 31 vorhanden sind, von
der die Daten gerade gelesen werden, bei der Adresse 0h in
dem der FAT zugeordneten Datenpufferbereich 21 vorhanden,
in welchem die Daten, die zu der Datei A gehören, gespei
chert worden sind. Die Daten in der FAT 31, die zu der Da
tei B gehören, können daher von dem der FAT zugeordneten
Datenpufferbereich 21 in dem Cachespeicher übertragen wer
den, und zwar ohne die Notwendigkeit eines tatsächlichen
Auslesen von Daten aus der optischen Platte 6.
Die Daten in der DIR 32, die zu der Datei B gehö
ren, werden dann gelesen. Da Daten, die den Daten entspre
chen, welche als früher gültige Daten bei der Adresse
20000h in dem der DIR zugeordneten Datenpufferbereich 22 in
dem Cachespeicher 20 vorhanden sind, können die Daten von
dem der DIR zugeordneten Datenpufferbereich 22 in den
Cachespeicher 20 übertragen werden. Schließlich werden die
beabsichtigten Daten in dem Datenteil 33, die zu der Datei
B gehören, gelesen. Da entsprechende Daten in dem dem Da
tenteil zugeordneten Datenpufferbereich 23 nicht vorhanden
sind, werden die Daten, die zu der Datei B gehören, aus
sieben Blöcken gelesen, beginnend mit LBA 306 in dem Spei
cherbereich in-der optischen Platte 6, werden bei den Puf
feradressen entwickelt, die auf die Pufferadressen folgen,
bei denen die Daten früher entwickelt worden sind, und zwar
in dem dem Datenteil zugeordneten Datenpufferbereich 23 und
werden dann übertragen. Die entwickelten Daten werden in
dem Datenpuffer aufbewahrt und bewertet. Zu diesem Zeit
punkt wird der Wert des Zugriffszählers für die Adresse
60000h, bei der die Daten früher entwickelt wurden, zu ei
nem alten gemacht oder wird um Eins inkrementiert. Wenn die
Daten, die zu der Datei B gehören, nachfolgend den Daten,
die zu der Datei A gehören, gelesen werden, sollte eine
Operation gemäß-dem Lesen der Daten von der optischen Plat
te 6 tatsächlich lediglich einmal ausgeführt werden.
Wenn darüber hinaus irgendwelche anderen Daten
durch das OS gelesen werden, sollte, wenn die Daten in dem
der FAT zugeordneten Datenpufferbereich 21 oder dem der DIR
zugeordneten Datenpufferbereich in dem Cachespeicher 20
nicht verwendbar sind, die gleiche Operation wie die Le
seoperation, welche die Datei B involviert, lediglich aus
geführt werden. Wenn darüber hinaus die Daten in dem der
FAT zugeordneten Datenpufferbereich 21 oder dem der DIR zu
geordneten Datenpufferbereich 22 in dem Cachespeicher 20
nicht verwendbar sind, sollte die gleiche Operation wie die
Leseoperation, in welcher die Datei A involviert ist, aus
geführt werden. Wenn die Leseoperation, die eine Datei in
volviert, wiederholt wird, nimmt die Menge an gültigen Da
ten in dem der FAT zugeordneten Datenpufferbereich 21 oder
dem der DIR zugeordneten Datenpufferbereich 22 in dem
Cachespeicher 20 zu. Alle Daten, die aus der FAT 31 und der
DIR 32 in der optischen Platte 6 gelesen wurden, die durch
das OS verwendet wird, werden in dem Cachespeicher 20 ge
speichert und werden bewertet. Alle Operationen gemäß dem
Lesen von Daten aus der FAT 31 und der DIR 32 in der opti
schen Platte, die durch das OS durchzuführen sind, werden
lediglich durch Übertragen der Daten aus dem Puffer er
zielt. Dies führt zu einer verbesserten Performance des op
tischen Plattenlaufwerks 1.
Als nächstes wird eine Variante eines Verfahrens
zum Aufteilen eines Datenpuffers beschrieben, das heißt des
Cachespeichers 20 in Einklang mit der vorliegenden Erfin
dung.
Die fünfte Ausführungsform der Aufteilung ist,
wie in Fig. 11A gezeigt ist, derart getroffen, daß-der Da
tenpufferbereich in dem Cachespeicher 20, der in dem opti
schen Plattenlaufwerk 1 enthalten ist, aufgeteilt wird in
einen der FAT zugeordneten Datenpufferbereich 21, der von
der Pufferadresse 0h bis 19999h reicht, und einen einer DIR
zugeordneten und einem Datenteil zugeordneten Datenpuffer
bereich 24 aufteilt wird, beginnend mit der Pufferadresse
20000h. Selbst diese Ausführungsform stellt eine Ausfüh
rungsform dar, die geeignet ist, wenn die Größe des
Cachespeichers 20 klein ist und die Bereiche der Größen
äquivalent zu den Speicherkapazitäten von FAT 31 und DIR 32
in der optischen Platte 6 in dem Datenpufferbereich in dem
Cachespeicher 20 nicht festgelegt bzw. definiert werden
können.
Bei der fünften Ausführungsform werden, entgegen
der zuvor erläuterten ersten bis vierten Ausführungsform,
lediglich der der FAT zugeordnete Datenpufferbereich 21 in
dem Cachespeicher 20 als ein reservierter Datenpufferbe
reich festgelegt oder definiert mit der gleichen Größe wie
FAT 31 in der optischen Platte 6. Gemäß der fünften Ausfüh
rungsform wird in bezug auf DIR 32 und den Datenteil 33 in
der optischen Platte 6 der DIR und dem Datenteil zugeordne
te Datenpufferbereich 24 in dem Cachespeicher 20 festgelegt
und gemeinsam verwendet.
Es können daher die Pufferadressen, die den
Adressen in der DIR 32 und dem Datenteil 33 in der opti
schen Platte 6 zugeordnet sind, nicht in den der DIR und
dem Datenteil zugeordneten Datenpufferbereich 24 in dem
Cachespeicher 20 eingestellt werden. Bei der fünften Aus
führungsform wird daher das Management des DIR und dem Da
tenteil zugeordneten Datenpufferbereiches 24 in der glei
chen Weise ausgeführt wie das Management des dem Datenteil
zugeordneten Datenpufferbereiches 23 bei der ersten Ausfüh
rungsform.
Die sechste Ausführungsform der Aufteilung ist,
wie in Fig. 11B gezeigt ist, so getroffen, daß der Daten
pufferbereich in dem Cachespeicher 20, der in dem optischen
Plattenlaufwerk. 1 enthalten ist, aufgeteilt wird in einen
der DIR zugeordneten Datenpufferbereich 22, der von der
Pufferadresse 0h bis 39999h reicht und einen der FAT und
dem Datenteil zugeordneten Datenpufferbereich 25 zugeordnet
wird, beginnend mit der Pufferadresse 40000h. Selbst diese
Ausführungsform besteht aus einer Ausführungsform, die ge
eignet ist, wenn die Größe des Cachespeichers 20 klein ist
und die Bereiche der Größen, die äquivalent den Speicherka
pazitäten von FAT 31 und DIR 32 in der optischen Platte 6
sind, in dem Datenpufferbereich in dem Cachespeicher 20
nicht festgelegt oder definiert werden können.
Bei der sechsten Ausführungsform wird ähnlich der
fünften Ausführungsform lediglich der der DIR zugeordnete
Datenpufferbereich 22 in dem Cachespeicher 20 als ein re
servierter Datenpufferbereich festgelegt, der die gleiche
Größe wie DIR 32 in der optischen Platte 6 besitzt. Gemäß
der sechsten Ausführungsform wird in bezug auf FAT 31 und
den Datenteil 33 in der optischen Platte 6 der dem FAT und
dem Datenteil zugeordnete Datenpufferbereich 25 in dem
Cachespeicher 20 definiert oder festgelegt und wird gemein
sam verwendet.
Die Pufferadressen, die den Adressen in FAT 31
und dem Datenteil 33 in der optischen Platte 6 zugeordnet
sind, können in den der FAT und dem Datenteil zugeordneten
Datenpufferbereich 25 in dem Cachespeicher 20 nicht einge
stellt werden. Bei der sechsten Ausführungsform erfolgt da
her das Management des dem FAT und dem Datenteil zugeordne
ten Datenpufferbereiches 25 in der gleichen Weise wie das
Management des dem Datenteil zugeordneten Datenpufferberei
ches 23 bei der ersten Ausführungsform.
Wenn bei der fünften Ausführungsform das OS beab
sichtigt, Daten zu lesen, die zu der Datei A gehören, und
zwar von dem Datenteil 33, so werden Daten in der FAT 31
zuerst gelesen. Die zu der Datei A gehörenden Daten verwen
den LBA 0 in der FAT. In dem der FAT zugeordneten Datenpuf
ferbereich 21, der in dem optischen Plattenlaufwerk 1 ent
halten ist, wird die Pufferadresse 0h exklusiv LBA 0 zuge
ordnet. Die Pufferadresse 0h zeigt zu Beginn an, daß die
Daten ungültig sind. In diesem Fall liest das optischen
Plattenlaufwerk 1 zuerst die Daten von einem Block von LBA
0 in dem Speicherbereich in der optischen Platte 6, entwic
kelt diese bei der Adresse 0h in dem der FAT zugeordneten
Datenpufferbereich 21 und überträgt diese dann. Die entwic
kelten Daten werden in dem Datenpuffer aufbewahrt und be
wertet.
Das optische Plattenlaufwerk 1 liest dann Daten
von DIR 32. Die Daten in der DIR 32, die zu der Datei A ge
hören, verwenden LBA 100. Die Daten, die zu den Daten gehö
ren, welche bei LBA 100 in der DIR vorhanden sind, sind in
dem der DIR und dem Datenteil zugeordneten Datenpufferbe
reich 24 in dem Cachespeicher 20 nicht vorhanden, der in
dem optischen Plattenlaufwerk 1 enthalten ist. Das optische
Plattenlaufwerk 1 liest Daten aus zwei Blöcken aus, begin
nend mit LBA 100 in der DIR 32 innerhalb des Speicherberei
ches in der optischen Platte 6, entwickelt diese an der
Pufferadresse 20000h und danach in der der DIR und dem Da
tenteil zugeordneten Datenpufferbereich 24 und überträgt
diese dann. Die entwickelten Daten werden in dem Datenpuf
fer aufbewahrt und bewertet bzw. gültig gemacht. Der Zu
griffszähler wird auf den letzten Wert eingestellt.
Schließlich werden die gewünschten Daten in dem
Datenteil gelesen. Die Daten in dem Datenteil 33, die zu
der Datei A gehören, verwenden LBA 300. Da Daten, die den
Daten entsprechen, welche in DIR 32 vorkommen, nicht vor
handen sind, sind entsprechende Daten in dem der DIR und
dem Datenteil zugeordneten Datenpufferbereich 24 in dem
Cachespeicher 20 nicht vorhanden, der in dem optischen
Plattenlaufwerk enthalten ist. Das optische Plattenlaufwerk
1 liest daher Daten aus fünf Blöcken, beginnend mit LBA 300
innerhalb des Speicherbereiches in der optischen Platte 6,
entwickelt diese Daten bei der Pufferadresse 20400h und da
nach bei nachfolgenden Pufferadressen, bei denen die aus
DIR 32 gelesenen Daten in dem der DIR und dem Datenteil zu
geordneten Datenpufferbereich 24 entwickelt werden und dann
übertragen werden. Die entwickelten Daten werden in dem Da
tenpuffer aufbewahrt und bewertet bzw. gültig gemacht. Der
Zugriffszähler wird auf den letzten Wert eingestellt. Zu
diesem Zeitpunkt wird der Wert des Zugriffszählers für die
Pufferadresse 20000h, an der die früheren Daten entwickelt
wurden, älter oder wird um Eins inkrementiert. Um somit Da
ten zu lesen, die zu der Datei A gehören, wird eine Medium
zugriffsoperation dreimal ausgeführt.
Wenn danach das OS beabsichtigt, Daten zu lesen,
die zu der Datei B gehören, und zwar aus dem Datenteil,
werden die Daten in der FAT 31 in der optische Platte 6 zu
erst gelesen, und zwar gemäß der gleichen Prozedur wie die
zuvor erläuterte eine. Jedoch sind Daten, die den Daten
entsprechen, welche in einem Block vorherrschen, beginnend
mit LBA 0 in der FAT, von der Daten gerade gelesen werden,
an der Pufferadresse 0h in dem der FAT zugeordneten Daten
pufferbereich 21 in dem Cachespeicher 20 vorhanden. Das op
tische Plattenlaufwerk 1 kann daher Daten von dem der FAT
zugeordneten Datenpufferbereich 21 in dem Cachespeicher 20
übertragen, und zwar ohne die Notwendigkeit, diese von der
optischen Platte 6 lesen zu müssen.
Es werden dann Daten in der DIR 32 gelesen. Die
entsprechenden Daten sind auch als früher bewertete oder
gültig gemachte Daten an der Adresse 20000h in dem der DIR
und dem Datenteil zugeordneten Datenpufferbereich 24 in dem
Cachespeicher 20 vorhanden. Die Daten werden daher von dem
Cachespeicher 20 übertragen. Schließlich werden die ge
wünschten Daten in dem Datenteil gelesen. Es sind keine
entsprechenden Daten in dem der DIR und dem Datenteil zuge
ordneten Datenpufferbereich 24 vorhanden. Das optische
Plattenlaufwerk 1 liest daher Daten, die zu der Datei B ge
hören, aus dem Datenteil 33 in dem Speicherbereich der op
tischen Platte 6, entwickelt diese an der Pufferadresse
20400h und danach an nachfolgenden Pufferadressen, bei de
nen die früheren Daten entwickelt wurden, und zwar in dem
der DIR und dem Datenteil zugeordneten Datenpufferbereich
24 und überträgt diese dann. Die entwickelten Daten sind in
dem der DIR und dem Datenteil zugeordneten Datenpufferbe
reich 24 vorhanden und werden dann gültig gesetzt. Zu die
sem Zeitpunkt werden die Werte der Zugriffszähler für die
Adresse 10400h, bei der frühere Daten entwickelt wurden,
und für die Adresse 20000h, bei der Daten, die den früheren
Daten vorausgegangen sind, entwickelt wurden, älter gemacht
oder werden um Eins inkrementiert. Wenn somit die Daten,
die zu der Datei B gehören, aufeinanderfolgend zu den Da
ten, die zu der Datei A gehören, gelesen werden, sollte ei
ne Operation tatsächlich nur einmal ausgeführt werden.
Wenn darüber hinaus das OS beabsichtigt, irgend
welche anderen Daten zu lesen, wenn die in dem Cachespei
cher 20 gespeicherten Daten, die den Daten entsprechen, die
in der FAT 31 oder DIR 32 in der optischen Platte 6 vor
herrschen, verwendbar sind, können die Daten von dem
Cachespeicher 20 übertragen werden, und zwar ohne die Not
wendigkeit, auf die optische Platte 6 zuzugreifen.
Danach, wenn der Lesevorgang wiederholt wird,
nimmt die Menge an gültigen Daten in dem der FAT zugeordne
ten Datenpufferbereich 21 zu. Im weiteren Verlauf werden
die Daten, die all den Daten entsprechen, welche in der FAT
31 in der optischen Platte 6 vorherrschen, die durch das OS
verwendet werden, in dem der FAT zugeordneten Datenpuffer
bereich 21 gültig. Die Operation gemäß dem Lesen von FAT 31
in der optischen Platte 6 wird nicht erforderlich. Es kön
nen all die Daten von dem Cachespeicher 20 übertragen wer
den. Was das Lesen von Daten aus der DIR 32 oder dem Daten
teil 33 in der optischen Platte 6 betrifft, so wird dann,
wenn der der DIR und dem Datenteil zugeordnete Datenpuffer
bereich 24 in dem Cachespeicher 20 voll wird und das Ent
wickeln der Daten nicht zugelassen werden kann, auf die
Werte der Zugriffszähler Bezug genommen. Die aus der opti
schen Platte 6 gelesenen Daten werden an einer Pufferadres
se entwickelt, deren Zugriffszählwert der kleinste ist,
oder, wenn eine Vielzahl von Pufferadressen existieren, die
den kleinsten Zugriffszählwert aufweisen, an einer Puf
feradresse, die die ältesten Daten enthält. Es wird dann
ein Zugriffszähler für die neu entwickelten Daten einge
stellt. Wenn Daten in der gleichen Weise wie die gültigen
Daten gelesen werden können, wird der Zugriffszähler für
die Daten auf den neuesten Stand gebracht, um die Daten
gültig zu halten. Da eine Datei, deren Verwendungsfrequenz
durch das OS hoch liegt, in dem Cachespeicher 20 in Takt
verbleibt, nimmt die Zahl der Zugriffe auf die optische
Platte 6, die von dem optischen Plattenlaufwerk 1 verwendet
wird, ab und es wird die Performance des optischen Platten
laufwerks 1 verbessert.
Die sechste Ausführungsform unterscheidet sich
von der fünften Ausführungsform lediglich in dem Punkt, daß
dann, wenn das OS beabsichtigt, Daten von dem Datenteil 33
zu lesen, die zu der Datei A gehören, die Daten, die aus
der FAT 31 in der optischen Platte 6 gelesen werden, zusam
men mit den Daten, die aus dem Datenteil 33 in dem der FAT
und dem Datenteil zugeordneten Datenpufferbereich 25 ge
speichert werden und Daten, die aus DIR 32 gelesen werden,
in dem der DIR zugeordneten Datenpufferbereich 22 gespei
chert werden. Die Beschreibung der sechsten Ausführungsform
wird daher weggelassen.
Fig. 12 zeigt ein erläuterndes Diagramm, welches
eine verkürzte Lesezeit veranschaulicht, die durch ein Ver
fahren der vorliegenden Erfindung erforderlich ist, um das
Lesen von Daten von einem optischen Plattenmedium zu errei
chen, wenn Daten, die all den Daten entsprechen, welche in
FAT und DIR vorherrschen, in einem Cachespeicher vorhanden
sind, und zwar im Vergleich mit einer Datenlesezeit, die
beim Stand der Technik erforderlich ist. Die "Firmware" in
der Zeichnung ist die Firmware in dem optischen Platten
laufwerk. In herkömmlicher Weise wird jedesmal, wenn ein
Lesebefehl, der das Lesen der FAT; DIR oder des Datenteils
befehligt, von dem Hostsystem (OS) ausgegeben wird, das op
tische Plattenlaufwerk veranlaßt, einen Suchbefehl eines
Kopfes zu erzeugen. Wenn der Kopf zu einer Leseposition auf
der optischen Platte bewegt wird, wird ein Such-Vervoll
ständigungsbefehl ausgegeben. Danach werden Daten von der
optischen Platte mit einem Lesebefehl gelesen. Nachdem der
Lesevorgang vervollständigt wurde und die gelesenen Daten
in dem Cachespeicher abgespeichert wurden, werden die Daten
von dem optischen Plattenlaufwerk zu dem Hostsystem über
tragen.
Im Gegensatz dazu können gemäß dem Verfahren nach
der vorliegenden Erfindung, wenn das Lesen von Daten aus
einer optischen Platte befehligt wird, wenn Daten, die all
den Daten entsprechen, die in der FAT, der DIR und dem Da
tenteil vorherrschen, in dem Cachespeicher vorhanden sind,
jedesmal nach einem Lesebefehl, der das Lesen von FAT, von
DIR oder von dem Datenteil befehligt, Daten von dem
Cachespeicher aus übertragen werden. Dies begegnet der Not
wendigkeit, auf die optische Platte unter Verwendung eines
Kopfes zuzugreifen. Als ein Ergebnis werden die FAT-Lese
zeit, die DIR-Lesezeit und die Datenteil-Lesezeit alle ver
kürzt. Die Zeit, um die die Gesamtlesezeit verkürzt wird,
wird zu T0. Die Lesezeit kann um die Zeit T0 verkürzt wer
den.
Fig. 13 zeigt ein erläuterndes Diagramm, welches
eine verkürzte Lesezeit veranschaulicht, die durch ein Ver
fahren der vorliegenden Erfindung erforderlich ist, um das
Lesen von Daten von einer optischen Platte zu erreichen,
wenn Daten, die den Daten entsprechen, welche in der FAT
und der DIR vorherrschend sind, in dem Cachespeicher vor
handen sind, und zwar im Vergleich mit einer Datenlesezeit,
die beim Stand der Technik erforderlich ist.
In diesem Fall ist gemäß dem Verfahren nach der
vorliegenden Erfindung eine Datenteil-Lesezeit alleine die
gleiche wie eine herkömmliche Datenteil-Lesezeit, jedoch
sind die FAT-Lesezeit und die DIR-Lesezeit kürzer als die
herkömmlichen. Als ein Ergebnis werden die FAT-Lesezeit und
die DIR-Lesezeit verkürzt. Die Zeit, um die die Gesamtlese
zeit verkürzt wird, liegt bei T1. Die Gesamtlesezeit kann
um die Zeit T1 verkürzt werden.
Fig. 14 zeigt ein erläuterndes Diagramm, welches
eine verkürzte Lesezeit veranschaulicht, die bei einem Ver
fahren nach der vorliegenden Erfindung erforderlich ist, um
das Lesen von Daten von einer optischen Platte zu erzielen,
wenn Daten, die den Daten entsprechen, welche in der FAT
alleine vorherrschen, in dem Cachespeicher vorhanden sind,
und zwar im Vergleich mit einer Datenlesezeit, die beim
Stand der Technik erforderlich ist.
In diesem Fall sind gemäß der vorliegenden Erfin
dung eine DIR-Lesezeit und die Datenteil-Lesezeit die glei
che wie die herkömmlichen Zeiten, jedoch ist eine FAT-Lese
zeit kürzer als eine herkömmliche eine. Als ein Ergebnis
wird die FAT-Lesezeit um eine Zeit T2 verkürzt. Die Gesamt
lesezeit wird um die Zeit T2 verkürzt.
Fig. 15 zeigt ein erläuterndes Diagramm, welches
eine verkürzte Lesezeit veranschaulicht, die bei einem Ver
fahren der vorliegenden Erfindung erforderlich ist, um das
Lesen von Daten von einer optischen Platte zu erreichen,
wenn Daten, die den Daten entsprechen, die in der DIR al
leine vorherrschen, in dem Cachespeicher vorhanden sind,
und zwar im Vergleich zu einer Datenlesezeit, die beim
Stand der Technik erforderlich ist.
In diesem Fall sind gemäß dem Verfahren der vor
liegenden Erfindung eine FAT-Lesezeit und eine Datenteil-
Lesezeit die gleichen wie die herkömmlichen Zeiten, jedoch
ist eine DIR-Lesezeit kürzer als eine herkömmliche eine.
Als ein Ergebnis wird die DIR-Lesezeit um eine Zeit T3 ver
kürzt. Die Gesamtlesezeit wird um die Zeit T3 verkürzt.
Die Fig. 16A bis 16F sind erläuternde Diagramme,
die Datenlesevorgänge beim Lesen von Daten von einer opti
schen Platte unter verschiedenen Bedingungen im Vergleich
mit einem herkömmlichen Datenlesevorgang veranschaulichen.
Zum Lesen von Daten muß, wie in Fig. 16A gezeigt ist, der
Host-Computer all die Daten in FAT, DIR und dem Datenteil
lesen. In diesem Fall sind gemäß einem herkömmlichen Cache
steuermodus, der in Fig. 16B gezeigt ist, tatsächliche Ope
rationen von Lesevorgängen, Speichervorgängen und Übertra
gungsvorgängen zum Lesen all der Daten in FAT, DIR und dem
Datenteil erforderlich. Es benötigt viel Zeit, um den ge
samten Leseprozeß zu vervollständigen.
Im Gegensatz dazu zeigen die Fig. 16C bis 16F ei
nen Datenlesevorgang in einem Cachesteuermodus nach der
vorliegenden Erfindung. Fig. 16C zeigt den Datenlesevor
gang, der unter der gleichen Bedingung durchgeführt wird
wie der eine, der in Verbindung mit Fig. 12 beschrieben
wurde. Das heißt die Daten, die all den Daten entsprechen,
welche in FAT, DIR und dem Datenteil vorherrschen, sind in
dem Cachespeicher vorhanden und es können all die Daten von
dem Cachespeicher aus übertragen werden. Fig. 16D zeigt das
Lesen von Daten, welches unter der gleichen Bedingung
durchgeführt wurde wie der Lesevorgang, der in Verbindung
mit Fig. 13 beschrieben wurde. Die Daten, die den Daten
entsprechen, welche in FAT und DIR vorherrschen, sind in
dem Cachespeicher vorhanden und können daher von dem
Cachespeicher aus übertragen werden. In diesem Fall kann
die Gesamtlesezeit durch die zweitgrößte Größe verkürzt
werden, die auf die Größe folgt, die unter der Bedingung
des Datenlesevorgangs erhalten wird, der in Fig. 6C gezeigt
ist. Die Fig. 16E und 16F zeigen Datenlesevorgänge, die un
ter der Bedingung durchgeführt wurden, daß die Daten, die
den Daten entsprechen, welche in entweder der FAT oder DIR
vorherrschen, in dem Cachespeicher vorhanden sind und daher
von dem Cachespeicher aus übertragen werden können. Fig.
16E zeigt den Datenlesevorgang, der unter der gleichen Be
dingung durchgeführt wurde wie der eine, der in Verbindung
mit Fig. 14 beschrieben wurde, und Fig. 16F zeigt den Da
tenlesevorgang, der unter der gleichen Bedingung durchge
führt wurde wie der eine, der in Verbindung mit Fig. 15 be
schrieben wurde. Selbst wenn die Daten, die den Daten ent
sprechen, welche in entweder der FAT oder DIR vorherrschen,
in dem Cachespeicher vorhanden sind, kann die Lesezeit ver
glichen mit der einen, die gemäß einem herkömmlichen Cache
steuermodus erforderlich ist, verkürzt werden.
01502 00070 552 001000280000000200012000285910139100040 0002019837473 00004 01383Anhand der vorangegangenen Ausführungsformen wur
de eine Speichervorrichtung beschrieben, und zwar unter der
Annahme der Verwendung eines optischen Plattenlaufwerks als
Beispiel. Gemäß einem Verfahren der vorliegenden Erfindung
ist die Speichervorrichtung nicht auf eine optische Plat
tenvorrichtung beschränkt. Die vorliegende Erfindung kann
effektiv bei einer Speichervorrichtung angewendet werden,
bei der eine Datentransferrate, die durch die Speichervor
richtung zugelassen wird, und zwar relativ zu einem Spei
chermedium, niedriger liegt als eine Datentransferrate, die
relativ zu einem Host-Computer zugelassen wird.
Soweit beschrieben wurde, wird gemäß einem Ver
fahren zum Managen eines Datenpuffers in einer Speichervor
richtung nach der vorliegenden Erfindung ein Cache-Treffer-
Verhältnis von Daten, die in einer FAT oder DIR vorherr
schen, verbessert. Demzufolge wird die Zeit, die für tat
sächliche Operationen zum Lesen der Daten aus einem Spei
chermedium, Speichern von gelesenen Daten in dem Datenpuf
fer und Übertragen der Daten von dem Datenpuffer aus, ver
kürzt und es wird die Verarbeitungsgeschwindigkeit, mit der
die tatsächlichen Operationen ausgeführt werden, erhöht.
Als ein Ergebnis wird die Verarbeitungsgeschwindigkeit, mit
der eine Reihe von Operationen zum Lesen eines Datenteiles
ausgeführt werden, erhöht.
Claims (9)
1. Speichervorrichtung mit einem Plattenmedium (6)
und einem Datenpuffer (2), in welchem Daten, die in dem
Plattenmedium (6) zu speichern sind, oder Daten, die aus
dem Plattenmedium (6) gelesen wurden, zeitweilig gespei
chert werden, wobei das Plattenmedium (6) wenigstens eine
Speichereinheit (33) für erste Informationen enthält, die
zum Speichern von Datenelementen verwendet werden, die jede
Datei bilden, die eine Informationseinheit darstellt, eine
Speichereinheit (31) für zweite Informationen, die aus ei
ner Indextabelle bestehen, welche Speicherstellen von Da
teien anzeigt, und eine Speichereinheit (32) für dritte In
formationen enthält, die aus Listeninformationen für Datei
en bestehen, wobei die Speichervorrichtung zum Lesen oder
Schreiben von gewünschten Daten auf der Grundlage der In
formationen in den Speichereinheiten ausgebildet ist,
dadurch gekennzeichnet, daß
der Speicherbereich des Datenpuffers (2) in Spei
cherbereiche aufgeteilt ist, wobei Grenzadressen unter den
Speicherbereichen festgelegt sind, so daß wenigstens ein
Speicherbereich (23) für die ersten Informationen, ein
Speicherbereich (21) für die zweiten Informationen und ein
Speicherbereich (22) für die dritten Informationen defi
niert werden kann.
2. Speichervorrichtung nach Anspruch 1, bei der die
Speicherkapazität des Speicherbereiches (21) für die zwei
ten Informationen in dem Datenpuffer (2) und die Speicher
kapazität des Speicherbereiches (22) für die dritten Infor
mationen der Speicherkapazität der Speichereinheit (31) für
die zweiten Informationen in dem Plattenmedium (6) bzw. der
Speicherkapazität der Speichereinheit (32) für die dritten
Informationen in demselben entspricht.
3. Speichervorrichtung nach Anspruch 1, bei der die
Speicherkapazität von einem der Speicherbereiche gemäß dem
Speicherbereich (21) für die zweiten Informationen und dem
Speicherbereich (22) für die dritten Informationen in dem
Datenpuffer (2) mit der Speicherkapazität einer zugeordne
ten Informationsspeichereinheit in dem Plattenmedium (6)
übereinstimmt.
4. Speichervorrichtung mit einem Plattenmedium (6)
und einem Datenpuffer (2), in welchem Daten, die in dem
Plattenmedium (6) zu speichern sind oder Daten, die von dem
Plattenmedium (6) zu lesen sind, zeitweilig mit einer Ge
schwindigkeit gespeichert werden, die nicht inkonsistent
mit der Betriebsgeschwindigkeit eines Computers ist, wobei
das Plattenmedium (6) wenigstens eine Speichereinheit (33)
für erste Informationen enthält, die zum Speichern von Da
tenelementen dienen, welche jede Datei bilden, die aus ei
ner Informationseinheit besteht, eine Speichereinheit (31)
für zweite Informationen enthält, die aus einer Indextabel
le besteht, welche Speicherstellen von Dateien anzeigt, und
einer Speichereinheit (32) für dritte Informationen ent
hält, die Listeninformationen der Dateien darstellen, wobei
die Speichervorrichtung zum Lesen oder zum Schreiben ge
wünschter Daten auf der Grundlage der Informationen in den
Speichereinheiten ausgebildet ist, dadurch gekennzeichnet,
daß,
der Speicherbereich in dem Datenpuffer (2) aufge teilt ist in einen Bereich mit einer großen Speicherkapazi tät und einen Bereich mit einer kleinen Speicherkapazität mit einer festgelegten Grenzadresse; wobei der Bereich mit einer kleinen Speicherkapazität aus einem Bereich besteht, der exklusiv zum Speichern von Daten verwendet wird, die aus einer der Einheiten gemäß der Speichereinheit (31) für die zweiten Informationen und der Speichereinheit (32) für die dritten Informationen in dem Plattenmedium (6) gelesen wurden, und wobei der Bereich mit einer großen Speicherka pazität aus einem Speicherbereich besteht, der gemeinsam zum Speichern von Daten verwendet wird, die aus der anderen einen Einheit gemäß der Speichereinheit (31) für die zwei ten Informationen und der Speichereinheit (32) für die dritten Informationen in dem Plattenmedium gelesen wurden, und um Daten zu speichern, die von der Speichereinheit (33) für die ersten Informationen gelesen wurden; und
der Datenpuffer in einer solchen Weise gemanagt ist, daß dann, wenn Daten von dem Plattenmedium (6) gelesen werden, die Daten, die von einer der Einheiten gemäß der Speichereinheit (31) für die zweiten Informationen und der Speichereinheit (32) für die dritten Informationen in dem Plattenmedium (6) gelesen wurden, in dem Bereich mit der kleinen Speicherkapazität in dem Datenpuffer (6) gespei chert und aufbewahrt werden und die Daten, die aus der Speichereinheit (33) für die ersten Informationen gelesen wurden und die Daten, die aus der anderen einen der Einhei ten gemäß der Speichereinheit (31) für die zweiten Informa tionen und der Speichereinheit (32) für die dritten Infor mationen gelesen wurden, gemeinsam in dem Bereich mit einer großen Speicherkapazität gespeichert und aufbewahrt werden.
der Speicherbereich in dem Datenpuffer (2) aufge teilt ist in einen Bereich mit einer großen Speicherkapazi tät und einen Bereich mit einer kleinen Speicherkapazität mit einer festgelegten Grenzadresse; wobei der Bereich mit einer kleinen Speicherkapazität aus einem Bereich besteht, der exklusiv zum Speichern von Daten verwendet wird, die aus einer der Einheiten gemäß der Speichereinheit (31) für die zweiten Informationen und der Speichereinheit (32) für die dritten Informationen in dem Plattenmedium (6) gelesen wurden, und wobei der Bereich mit einer großen Speicherka pazität aus einem Speicherbereich besteht, der gemeinsam zum Speichern von Daten verwendet wird, die aus der anderen einen Einheit gemäß der Speichereinheit (31) für die zwei ten Informationen und der Speichereinheit (32) für die dritten Informationen in dem Plattenmedium gelesen wurden, und um Daten zu speichern, die von der Speichereinheit (33) für die ersten Informationen gelesen wurden; und
der Datenpuffer in einer solchen Weise gemanagt ist, daß dann, wenn Daten von dem Plattenmedium (6) gelesen werden, die Daten, die von einer der Einheiten gemäß der Speichereinheit (31) für die zweiten Informationen und der Speichereinheit (32) für die dritten Informationen in dem Plattenmedium (6) gelesen wurden, in dem Bereich mit der kleinen Speicherkapazität in dem Datenpuffer (6) gespei chert und aufbewahrt werden und die Daten, die aus der Speichereinheit (33) für die ersten Informationen gelesen wurden und die Daten, die aus der anderen einen der Einhei ten gemäß der Speichereinheit (31) für die zweiten Informa tionen und der Speichereinheit (32) für die dritten Infor mationen gelesen wurden, gemeinsam in dem Bereich mit einer großen Speicherkapazität gespeichert und aufbewahrt werden.
5. Speichervorrichtung nach irgendeinem der Ansprü
che 1 bis 4, bei der dann, wenn der Speicherbereich in dem
Datenpuffer (20) voll wird, die Pufferadressen, an denen
neue Daten gespeichert werden, auf Adressen gestellt wer
den, die mit einer Adresse beginnen, welche Informationen
enthalten, daß deren Speicherdatum alt ist.
6. Speichervorrichtung nach irgendeinem der Ansprü
che 1 bis 4, bei der dann, wenn der Speicherbereich in dem
Datenpuffer (6) voll wird, die Pufferadressen, an denen
neue Daten gespeichert werden, auf Adressen gesetzt werden,
beginnend mit einer Adresse, die Informationen darüber ent
hält, daß die Zugriffsfrequenz niedrig ist.
7. Speichervorrichtung nach irgendeinem der Ansprü
che 1 bis 6, bei der die Speichervorrichtung aus einem op
tischen Plattenlaufwerk besteht.
8. Speichervorrichtung nach Anspruch 7, bei der die
Speichereinheit (33) für die ersten Informationen aus einem
Datenteil besteht, die Speichereinheit (31) für die zweiten
Informationen aus einer Indextabelle besteht und die Spei
chereinheit (32) für die dritten Informationen aus einem
Directory besteht.
9. Speichervorrichtung nach Anspruch 8, bei der der
Datenpuffer (2) ein Cachespeicher ist.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30119397A JP3969809B2 (ja) | 1997-10-31 | 1997-10-31 | 記憶装置におけるデータバッファの管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE19837473A1 true DE19837473A1 (de) | 1999-05-06 |
Family
ID=17893905
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19837473A Ceased DE19837473A1 (de) | 1997-10-31 | 1998-08-20 | Speichervorrichtung mit einem Datenpuffer |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6209057B1 (de) |
| JP (1) | JP3969809B2 (de) |
| DE (1) | DE19837473A1 (de) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3585091B2 (ja) * | 1998-06-15 | 2004-11-04 | 富士通株式会社 | 記憶装置 |
| JP3941286B2 (ja) * | 1999-05-06 | 2007-07-04 | 富士通株式会社 | 取引記録保存装置及び取引装置 |
| KR100390487B1 (ko) * | 2001-05-18 | 2003-07-07 | 엘지전자 주식회사 | 메모리카드 및 그의 액세스방법 |
| US7418567B2 (en) * | 2004-11-30 | 2008-08-26 | International Business Machines Corporation | Cache for an enterprise software system |
| JP2009276853A (ja) | 2008-05-12 | 2009-11-26 | Toshiba Corp | フラッシュメモリ装置 |
| TWI389001B (zh) * | 2009-06-01 | 2013-03-11 | Mstar Semiconductor Inc | 檔案系統及檔案系統轉換方法 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE463874C (de) | 1926-02-14 | 1928-08-04 | Adolf Thomalla | Greifvorrichtung fuer Achslagerkoerper |
| JPS6254329A (ja) * | 1985-05-22 | 1987-03-10 | Hitachi Ltd | フアイル装置へのデ−タの登録方法および検索方法 |
| JPH01194042A (ja) | 1988-01-29 | 1989-08-04 | Fujitsu Ltd | ディスクキャッシュ制御方式 |
| JPH0248751A (ja) | 1988-08-10 | 1990-02-19 | Nec Corp | データ管理システムのバッファ管理方式 |
| JPH04184525A (ja) | 1990-11-20 | 1992-07-01 | Tokico Ltd | 磁気ディスク装置 |
| JPH0574046A (ja) | 1991-06-20 | 1993-03-26 | Tokico Ltd | 磁気デイスク装置 |
| JPH05324435A (ja) | 1992-05-19 | 1993-12-07 | Fujitsu Ltd | ディレクトリ管理処理方法および処理装置 |
| JPH09146834A (ja) | 1995-11-24 | 1997-06-06 | Hitachi Ltd | ディスク装置 |
| US5781922A (en) * | 1996-11-19 | 1998-07-14 | International Business Machines Corporation | Page boundary caches |
-
1997
- 1997-10-31 JP JP30119397A patent/JP3969809B2/ja not_active Expired - Fee Related
-
1998
- 1998-08-04 US US09/129,442 patent/US6209057B1/en not_active Expired - Lifetime
- 1998-08-20 DE DE19837473A patent/DE19837473A1/de not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| JP3969809B2 (ja) | 2007-09-05 |
| JPH11134255A (ja) | 1999-05-21 |
| US6209057B1 (en) | 2001-03-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE60030876T2 (de) | Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität | |
| DE69223287T2 (de) | Steuerungsverfahren für eine Computerspeichereinrichtung | |
| DE69312781T2 (de) | Verfahren und System zum Seitendatei Statusabrufen in einem Nullzeittyp Sicherungskopieprozess | |
| DE69033262T2 (de) | EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher | |
| DE69623407T2 (de) | Verfahren zur Überprüfung der Blockzuordnung eines Flash-Speichers mit Übersetzungsschicht | |
| DE69414556T2 (de) | Schnell loeschbare datei | |
| DE602005001041T2 (de) | Speicherauszugssystem | |
| DE60038364T2 (de) | Computersystem und Speicherauszugsdatenverwaltungsverfahren | |
| DE69330319T2 (de) | Verfahren und System für Datenspeicher-Formatumwandlung, Daten-Zugriffsverfahren und Steuergerät | |
| DE60032531T2 (de) | Aufzeichnungsverfahren, Verwaltungsverfahren und Aufzeichnungsgerät | |
| DE69702568T2 (de) | Mehrstufiges Cache-System für Massenspeichereinrichtung und Verfahren zum Einrichten eines solchen Systems | |
| DE69801824T2 (de) | Speicher für informationsteurung eines mehrhostrechnerspeichers | |
| DE19615948C2 (de) | Flash-Festkörper-Plattenspeicher-Karte | |
| DE60317551T2 (de) | Aufrechterhaltung gleichförmiger löschhäufigkeit in einem nichtflüchtigen speichersystem | |
| DE60035151T2 (de) | Hardware-Anordnung zur Verwaltung von Cachespeicherstrukturen in einem Datenspeichersystem | |
| DE19782041B4 (de) | Verfahren zum Durchführen eines kontinuierlichen Überschreibens einer Datei in einem nicht-flüchtigen Speicher | |
| DE3780807T2 (de) | Verfahren zum schnellen oeffnen von mit pfadnamen identifizierten plattendateien. | |
| DE102019132371A1 (de) | Zuordnungsverwaltung logisch zu physisch unter Verwendung von nichtflüchtigem Speicher | |
| DE69626569T2 (de) | Datenkompressionsverfahren und Struktur für eine Speichereinheit mit direktem Zugriff | |
| DE3932474C2 (de) | Plattenzugriff-Steuerverfahren | |
| DE69310908T2 (de) | Verfahren und geraet um nicht loeschbare dateien auf ein speichermedium zu schreiben | |
| DE102005063250A1 (de) | Datenspeicherungssteuersystem, Speicher- und Rechnersystem und Betriebsverfahren | |
| DE102006005876A1 (de) | Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers | |
| DE3614795A1 (de) | Schreibverfahren fuer dateidaten in einen einmal beschreibbaren speicher | |
| DE102019116546A1 (de) | Verfahren für schnelles boot-lesen |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8131 | Rejection |