[go: up one dir, main page]

DE19837473A1 - Speichervorrichtung mit einem Datenpuffer - Google Patents

Speichervorrichtung mit einem Datenpuffer

Info

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
Application number
DE19837473A
Other languages
English (en)
Inventor
Akira Ban
Kiyomi Imamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE19837473A1 publication Critical patent/DE19837473A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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

HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
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.
2. Beschreibung des Standes der Technik
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.
ZUSAMMENFASSUNG DER ERFINDUNG
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.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
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.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
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.
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
(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.
(1) Erste Ausführungsform
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.
(2) Zweite Ausführungsform
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.
(3) Dritte Ausfü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.
(4) Vierte 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.
(5) Fünfte Ausführungsform
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.
(6) Sechste Ausführungsform
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.
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.
DE19837473A 1997-10-31 1998-08-20 Speichervorrichtung mit einem Datenpuffer Ceased DE19837473A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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