DE19945993B4 - Plattenschreibvollendungssystem - Google Patents

Plattenschreibvollendungssystem Download PDF

Info

Publication number
DE19945993B4
DE19945993B4 DE19945993A DE19945993A DE19945993B4 DE 19945993 B4 DE19945993 B4 DE 19945993B4 DE 19945993 A DE19945993 A DE 19945993A DE 19945993 A DE19945993 A DE 19945993A DE 19945993 B4 DE19945993 B4 DE 19945993B4
Authority
DE
Germany
Prior art keywords
data
command
write
writing
write command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19945993A
Other languages
English (en)
Other versions
DE19945993A1 (de
Inventor
Masaaki Kawasaki Tamura
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 DE19945993A1 publication Critical patent/DE19945993A1/de
Application granted granted Critical
Publication of DE19945993B4 publication Critical patent/DE19945993B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Plattenschreibvollendungssystem, bei welchem ein von einem Host erteilter Schreibbefehl durch die Vollendung des Schreibens von Daten auf ein Medium beendet wird, mit:
einer Befehlsempfangseinheit (66) zum Empfangen einer Vielzahl von Schreibbefehlen, die aufeinanderfolgend vom Host erteilt werden, und Speichern dieser in eine Befehlswarteschlange;
einer Datenempfangseinheit (68) zum Empfangen von Daten vom Host und Speichern dieser in einen Datenpuffer durch das Ausführen des Schreibbefehls von einer Kopfposition in der Befehlswarteschlange;
einer Mediumschreibeinheit (70) zum Starten des Schreibens der Empfangsdaten auf das Medium bei der Vollendung des Datenempfangs durch die Datenempfangseinheit (68);
einer Statusberichtseinheit (72) zum Berichten über einen Status an den Host bei der Vollendung des Schreibens durch die Mediumschreibeinheit (70), wodurch der Schreibbefehl, der ausgeführt wird, beendet wird;
gekennzeichnet durch
eine Vorabruf-Verarbeitungseinheit (74) zum Empfangen der Daten als Vorabrufdaten vom Host und Speichern dieser in den Datenpuffer durch das Ausführen des nächsten Schreibbefehls, ohne...

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Informationsspeichervorrichtung, wie ein Magnetplattenlaufwerk oder dgl., zum Schreiben von Daten, die durch einen Schreibbefehl von einem Host auf ein Medium transferiert werden. Insbesondere betrifft die Erfindung ein Plattenschreibvollendungssystem zum Empfangen von Daten von Schreibbefehlen nach einer Vielzahl von aufeinanderfolgend von einem Host erteilten Schreibbefehlen als Vorabrufdaten während des Schreibens von Daten auf ein Medium und zum Verarbeiten dieser.
  • Beschreibung der verwandten Techniken
  • Bisher erteilt in einem als Festplatte bekannten Plattenschreibvollendungssystem, wenn ein Host Daten auf die Festplatte schreibt, der Host einen Schreibbefehl, die Festplatte ersucht den Host, Daten zu generieren, ansprechend auf den Schreibbefehl, speichert die Daten in einen Datenpuffer und schreibt die Daten auf ein Plattenmedium bei der Vollendung des Datenempfangs. Wenn das Schreiben der Daten auf das Plattenmedium vollendet ist, berichtet die Festplatte über einen Status, der ein Ausführungsergebnis des Schreibbefehls anzeigt, an den Host, und der Schreibbefehl wird vollendet. Im Schreibbefehl vom Host werden Informationen gezeigt, die eine Schreibstartadresse und die Anzahl von Schreibblöcken angeben. Ein Festplattenlaufwerk erkennt den Schreibbefehl durch eine MCU über eine Host-Schnittstelle. Die Daten vom Host werden temporär in einen Datenpuffer gespeichert und auf das Plattenmedium auf der Basis von Blockeinheiten geschrieben. Über den Status wird durch die folgenden zwei Verfahren berichtet:
    • I. ein Datenempfangsbefehl-Vollendungsverfahren zum Berichten über den Status zur Zeit der Vollendung des Datenempfangs und Vollenden des Schreibbefehls; und
    • II. ein Mediumschreibbefehl-Vollendungsverfahren zum Berichten über den Status zur Zeit der Vollendung des Schreibens der Daten auf die Platte und Vollenden des Schreibbefehls.
  • Gemäß dem Datenempfangsbefehl-Vollendungsverfahren wird es durch die Beendigung des Schreibbefehls bei der Vollendung des Datenempfangs vom Host leicht, den Prozeß des nächsten Schreibbefehls zu starten. Das heißt, es ist ein Befehlsvollendungsverfahren, durch das ein Befehl erteilt wird, Daten vorher abzurufen. Im Gegensatz dazu ist das Mediumschreibbefehl-Vollendungsverfahren ein Befehlsvollendungsverfahren zum Schreiben von Daten, während der Host bestätigt, ob die Daten normal auf das Plattenmedium geschrieben wurden oder nicht.
  • Wenn eine Vielzahl von Schreibbefehlen aufeinanderfolgend erteilt wird, ordnet das Festplattenlaufwerk die Vielzahl der Befehle in die Reihenfolge ab dem Schreibbefehl mit einer kurzen Zugriffszeit vor der Ausführung der Vielzahl von Schreibbefehlen um, wodurch die Befehlsverarbeitungsfähigkeit verbessert wird. Sobald die Ausführung gestartet ist, wird danach die Ausführungsreihenfolge nicht mehr geändert. Der Start der Ausführung gibt in diesem Fall den Start des Datenempfangs an.
  • Der Datenpuffer ist in einige Segmente genannte Blöcke geteilt. Der Schreibbefehl oder Lesebefehl von Daten wird unter Verwendung eines Segments ausgeführt. Ein Zweck des Teilens des Datenpuffers in eine Vielzahl von Blöcken ist, daß zur Zeit der Ausführung des Lesebefehls Daten des Lesebefehls oder nachfolgende Daten im Datenpuffer gehalten werden, und, wenn der Lesebefehl der im Datenpuffer gehalte nen Daten als nachfolgender Befehl erteilt wird, werden die Daten nicht aus dem Plattenmedium ausgelesen, sondern direkt vom Datenpuffer zum Host transferiert, wodurch ein Befehlsprozeß verkürzt wird.
  • Ein Zweck des Vorabrufs von Daten beim Datenempfangsbefehl-Vollendungsverfahren ist, daß alle oder ein Teil der Schreibdaten bereits im Datenpuffer vor der Vollendung der Bewegung des Kopfs zum Kopfsektor des erteilten Schreibbefehls empfangen wurden, und das Warten auf die Rotation des Plattenmediums aufgrund des Fehlens von Schreibdaten im Datenpuffer reduziert wird. Das heißt, wenn die Daten nicht vorher abgerufen werden, müssen die Daten während der Bewegung des Kopfs zum Zielsektor empfangen werden. Wenn die Daten vorher abgerufen werden, wird die Schreibzeit von Daten auf das Plattenmedium durch den vorhergehenden Schreibbefehl auch in die Empfangszeit der Vorabrufdaten vom Host eingeschlossen, so daß ausreichend Zeit für den Datenempfang bleibt, und das Warten auf die Rotation aufgrund des Fehlens von Schreibdaten im Datenpuffer tritt nicht leicht auf. Die Ausführung des Datenvorabrufs hat jedoch die folgenden Probleme.
  • (Problem in bezug auf das Befehlserteilungsverfahren)
  • 1A und 1B zeigen einen Datenfluß, wenn Schreibbefehle von zwei Blöcken vom Host erteilt werden, im Datenempfangsbefehl-Vollendungsverfahren zum Vollenden des Schreibbefehls an einem Punkt, wenn der Empfang der Schreibdaten vollendet ist. 1A zeigt eine Host-Schnittstelle, und zwei Schreibbefehle CMD1 und CMD2, die Daten von zwei Blöcken bezeichnen, werden aufeinanderfolgend erteilt. Wenn der Empfang der Schreibbefehle CMD1 und CMD2 zur Zeit t1 vollendet ist, empfängt das Festplattenlaufwerk Daten D11 und D12 von zwei Blöcken vom Host durch die Ausführung des Schreibbefehls CMD1, speichert sie in den Datenpuffer, be richtet über einen Status STS1 an den Host bei der Vollendung des Datenempfangs, und beendet den Schreibbefehl CMD1 zur Zeit t2. Der Empfang von Daten D21 und D22 des nächstens Schreibbefehls CMD2 wird demgemäß gestartet und als Vorabrufdaten in den Datenpuffer gespeichert. Über einen Status STS2 wird bei der Vollendung des Datenempfangs berichtet, wodurch der Schreibbefehl CMD2 zur Zeit t4 vollendet ist.
  • 1B zeigt eine Plattenschnittstelle. Parallel zum Empfang der Daten D11 und D12 von zwei Blöcken vom Host wird eine Kopfbewegung zu einem Zielsektor, der vom Schreibbefehl CMD1 bezeichnet wird, gestartet, und das Schreiben der Daten auf das Plattenmedium wird zur Zeit t3 vollendet. Wie oben angegeben, kann im Datenempfangsbefehl-Vollendungsverfahren zum Vollenden des Befehls an einem Punkt, wenn der Empfang der Schreibdaten vollendet ist, da es unnötig ist, über ein Ergebnis des Schreibens von Daten auf das Plattenmedium an den Host zu berichten, ein Prozeß des nächsten Schreibbefehls leicht gestartet werden, und ein sogenannter Datenvorabruf kann durchgeführt werden. Wenn das Schreiben von Daten auf das Plattenmedium im Datenempfangsbefehl-Vollendungsverfahren fehlschlägt, wird jedoch, da der Schreibbefehl bereits beendet wurde, über einen Fehler im Vorabrufbefehl an den Host berichtet, ohne daß der nächste Schreibbefehl nach dem Schreibbefehl ausgeführt wird, durch den die Daten schließlich vorher abgerufen wurden. Wenn ein Fehler beim Schreiben einer Vielzahl von aufeinanderfolgend vom Host erteilten Vorabrufbefehlen auf die Platte auftritt, wird nur über den Vorabrufbefehl, der schließlich fehlschlägt, berichtet. Demgemäß besteht ein Problem, daß der Host das Neuschreiben für alle der Vorabrufbefehle vor dem berichteten Vorabrufbefehl durchführen muß. Um das Problem zu lösen, wird üblicherweise das Datenschreibbefehl-Vollendungsverfahren verwendet, bei dem der Host bestätigen kann, daß die Daten normal auf das Plattenmedium geschrieben wurden.
  • 2A und 2B zeigen einen Datenfluß, wenn Schreibbefehle von zwei Blöcken vom Host erteilt werden, im Plattenschreibbefehl-Vollendungsverfahren zum Vollenden eines Befehls bei der Vollendung des Schreibens von Daten auf die Platte. 2A zeigt eine Host-Schnittstelle. Die beiden Schreibbefehle CMD1 und CMD2, die Daten von zwei Blöcken bezeichnen, werden aufeinanderfolgend erteilt. Wenn der Empfang der Schreibbefehle CMD1 und CMD2 zur Zeit t1 vollendet ist, empfängt das Festplattenlaufwerk die Daten D11 und D12 von zwei Blöcken vom Host durch die Ausführung des Schreibbefehls CMD1 und speichert sie in den Datenpuffer. 2B zeigt eine Plattenschnittstelle. Wenn der Empfang der Daten D11 und D12 von zwei Blöcken vom Host zur Zeit t2 vollendet ist, wird die Kopfbewegung zum Zielsektor, der vom Schreibbefehl CMD1 bezeichnet wird, gestartet, und das Schreiben der Daten D11 und D12 auf das Plattenmedium wird zur Zeit t3 vollendet. Bei der Vollendung des Schreibens auf die Platte berichtet die Host-Schnittstelle über den Status STS1 an den Host, wodurch der Schreibbefehl CMD1 vollendet wird. Anschließend werden die Daten D21 und D22 durch den Schreibbefehl CMD2 empfangen, und nach der Kopfbewegung werden die Daten auf die Platte geschrieben. In den letzten Jahren nimmt jedoch die Anzahl von Systemen zu, mit denen jeweils eine Vielzahl von Hosts und eine Vielzahl von Zielen (Festplattenlaufwerk und dgl.) verbunden ist. Wenn der Vorabruf von Daten nicht durchgeführt wird, wird der Datenempfang verzögert, da ein anderes Ziel und der Host kommunizieren, und ein Machteil, daß Daten nicht empfangen werden können, bis die Kopfbewegung zum Zielsektor vollendet ist, kann nicht länger vernachlässigt werden.
  • (Problem in Bezug auf die Optimierung der Ausführungsreihenfolge)
  • Wie in 1A und 1B gezeigt, besteht im Fall des Vorabrufs von Daten im Datenempfangsbefehl-Vollendungsverfahren, da die ab dem Befehlsempfang bis zum Start des Datenempfangs erforderliche Zeit kurz ist, eine Möglichkeit, daß die Ausführungsreihenfolge der Schreibbefehle für das Schreiben auf die Platte nicht optimiert ist, aber die Ausführung der Befehle gestartet wird. Wenn die Ausführungsreihenfolge nicht optimiert ist, besteht die Möglichkeit, daß sich die Verarbeitungsfähigkeit stärker verschlechtert als in dem Fall, wo der Vorabruf nicht ausgeführt wird. (Problem in bezug auf die Zerstörung von Vorabrufdaten) Wie in 2A und 2B gezeigt, werden, wenn die Daten im Mediumschreibbefehl-Vollendungsverfahren nicht vorher abgerufen werden, die aufeinanderfolgenden Schreibbefehle unter Verwendung eines Segments im Datenpuffer verarbeitet, so daß die Daten in den anderen Segmenten nicht zerstört werden. Wie in 2A und 2B gezeigt, besteht jedoch, wenn der Datenvorabruf gemäß dem Datenempfangsbefehl-Vollendungsverfahren durchgeführt wird, da eine Vielzahl von Segmenten verwendet wird, die Möglichkeit, daß Lesedaten, die bereits in jedem Segment gespeichert wurden, verlorengehen und sich die Leseleistung verschlechtert.
  • Aus Computer Design, April 1997, Seite 39, 42, 44 ist eine Plattenschreibvollendungssystem mit einer Befehls/Datenempfangseinheit und einer Mediumschreibeinheit bekannt.
  • Aus der US 5636355 A ist ein vorabrufspeicher bekannt, welcher ein spezielles Speichermanagementverfahren angibt, wie der ,write cache' verwaltet wird.
  • Aus Hans-Peter Messmer, PC Hardware, 5. Auflage, Addison-Wesley, 1998, Seite 907 ist ein Staturregister zum Realisieren eines Datenempfangsvollendungssystems bekannt. Aus DOS, Nr. 12, 1993, Seite 80,82,84 ist das ,Write Behind' beim Datenempfangsvollendungsverfahren bekannt, wie es auch in Verbindung mit den 1A und 1B beschrieben wurde.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß der Erfindung ist ein Plattenschreibvollendungssystem vorgesehen, bei welchem Daten vorher abgerufen werden, auch wenn ein Schreibbefehl bei der Vollendung des Schreibens von Daten auf ein Plattenmedium beendet wird, wodurch Schreibdaten in einem Datenpuffer gesichert werden, und die Verarbeitungsfähigkeit verbessert wird.
  • Gemäß der Erfindung ist ein Plattenschreibvollendungs system vorgesehen, bei welchem die Schreibreihenfolge von Daten auf eine Platte, wenn Daten einer Vielzahl von Schreibbefehlen empfangen werden, optimiert wird, und ein Pufferbereich, der von dem Befehl verwendet wird, durch den Daten auf die Platte geschrieben werden, und jener, der von einem Vorabrufbefehl verwendet wird, gleich gemacht werden, wodurch die Befehlsverarbeitungsfähigkeit durch den Vorabruf von Daten verbessert wird.
  • Gemäß der Erfindung ist ein Plattenschreibvollendungssystem vorgesehen, bei welchem ein von einem Host erteilter Schreibbefehl durch die Vollendung des Schreibens von Daten auf ein Medium beendet wird, mit: einer Befehlsempfangseinheit zum Empfangen einer Vielzahl von Schreibbefehlen, die aufeinanderfolgend vom Host erteilt werden, und Speichern dieser in eine Befehlswarteschlange; einer Datenempfangseinheit zum Empfangen von Daten vom Host durch das Ausführen des Schreibbefehls von einer Kopfposition in der Befehlswarteschlange und Speichern dieser in einen Datenpuffer; einer Mediumschreibeinheit zum Starten des Schreibens der Empfangsdaten auf das Medium bei der Vollendung des Datenempfangs durch die Datenempfangseinheit; einer Statusberichtseinheit zum Berichten über einen Status an den Host bei der Vollendung des Schreibens von Daten durch die Mediumschreibeinheit und Beenden des Schreibbefehls, der ausgeführt wird; und einer Vorabruf-Verarbeitungseinheit zum Empfangen der Daten als Vorabrufdaten vom Host und Speichern dieser in den Datenspeicher durch das Ausführen des nächsten Schreibbefehls, ohne auf die Vollendung des Schreibens der Empfangsdaten auf das Medium durch die Mediumschreibeinheit zu warten.
  • Wie oben angegeben, wird gemäß dem Plattenschreibvollendungssystem der Erfindung im Fall des Beendens des Schreibbefehls bei der Vollendung des Schreibens auf das Plattenmedium, wenn der Empfang der Daten des Befehls, der ausgeführt wird, für eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen vollendet ist, der Empfang der Daten des nächsten Befehls gestartet, ohne auf die Vollendung des Schreibens auf das Plattenmedium zu warten, so daß die Befehlsverarbeitungsfähigkeit verbessert werden kann. Das heißt, bei der herkömmlichen Vorrichtung zum Beenden des Schreibbefehls durch die Vollendung des Schreibens auf das Plattenmedium tritt wahrscheinlich eine Verzögerung des Plattenschreibprozesses auf, die aufgrund des Fehlens der Schreibdaten im Datenpuffer verursacht wird, wenn die Zugriffszeit kurz ist, oder wenn eine Vielzahl von Vorrichtungen verbunden sind, und wird ein Faktor für die Verschlechterung der Verarbeitungsfähigkeit. Da jedoch die Vorabrufdaten im Datenpuffer gemäß der Erfindung gesichert sind, wird die Verschlechterung der Verarbeitungsleistung eliminiert, und die stabile Verarbeitungsfähigkeit kann erhalten werden.
  • Der Datenempfang der Schreibbefehle nach dem Schreibbefehl, der ausgeführt wird, wird als "Vorabruf" von Daten definiert, und der Schreibbefehl, in dem der Datenvorabruf ausführt, ist als "Vorabruf-Schreibbefehl" definiert.
  • Das Plattenschreibvollendungssystema der Erfindung umfaßt ferner: einen Folgebefehlsempfangszeiger P1, der eine Speicherposition des als nächstes zu empfangenen Befehls für die Befehlswarteschlange angibt; einen Datenempfangszeiger P2, der einen Schreibbefehl am Start des Empfangs von Daten vom Host oder während des Datenempfangs zeigt; einen Mediumschreibzeiger P3, der einen Schreibbefehl am Start des Schreibens von Daten auf das Medium aus dem Datenpuffer oder während des Schreibens der Daten zeigt; und einen Statusberichtszeiger P4, der einen Befehl zeigt, um anschließend über einen Status zu berichten. Der Folgebefehlsempfangs zeiger P1 wird bei der Vollendung des Befehlsempfangs durch die Befehlsempfangseinheit weitergerückt. Der Datenempfangszeiger P2 wird bei der Vollendung des Datenempfangs durch die Datenempfangseinheit weitergerückt. Der Mediumschreibzeiger P3 wird bei der Vollendung des Mediumschreibens durch die Mediumschreibeinheit weitergerückt. Ferner wird der Statusberichtszeiger P4 bei der Vollendung des Statusberichts durch die Statusberichtseinheit weitergerückt. Der Folgebefehlsempfangszeiger P1, der Datenempfangszeiger P2, der Mediumschreibzeiger P3 und der Statusberichtszeiger P4 sind sequentiell angeordnet. Wann immer jeder Zeiger weiterrückt, wird der durch den weitergerückten Zeiger gezeigte Prozeß ausgeführt.
  • Das Plattenschreibvollendungssystem der Erfindung hat eine Optimierungsverarbeitungseinheit zum Umordnen der Ausführungsreihenfolge einer Vielzahl von Vorabruf-Schreibbefehlen in die Reihenfolge ab dem Vorabruf-Schreibbefehl, in dem die Zugriffszeit kurz ist, wodurch sie in dem Fall optimiert werden, wo eine Vielzahl von Vorabruf-Schreibbefehlen, in jedem von welchen die Vorabrufdaten bereits empfangen wurden, in der Befehlswarteschlange existiert. Die Optimierungsverarbeitungseinheit ermittelt die Zugriffszeit des Vorabruf-Schreibbefehls als Zeit, die ab der Vollendung des Mediumschreibens des vorhergehenden Schreibbefehls bis zum Start des Mediumschreibens des nächsten Schreibbefehls erforderlich ist, und ändert die Ausführungsreihenfolge in die Reihenfolge ab der kurzen Zugriffszeit, wodurch eine Optimierung vorgenommen wird. In dem Fall, wo eine Vielzahl von Vorabruf-Schreibbefehlen mit empfangenen Daten in der Befehlswarteschlange existiert, kann durch die Änderung der Ausführungsreihenfolge der Vorabruf-Schreibbefehle in die Reihenfolge ab der kurzen Zugriffszeit, wie oben angegeben, die Verarbeitungsfähigkeit verbessert werden. Das heißt, da im herkömmlichen Vorabruf-Datenprozeß die Optimierung der Ausführungsreihenfolge inadäquat ist, wurde zur Verhinderung der Verschlechterung der Verarbeitungsfähigkeit und der Verschlechterung der Verarbeitungsfähigkeit des Befehls mit den gelesenen Daten aufgrund der Zerstörung der Vorabrufdaten eine Gegenmaßnahme verwendet, so daß eine Hochleistungs-MPU für das Festplattenlaufwerk vorgesehen wird, um dadurch die Optimierung in einer kurzen Zeit durchzuführen, und die Anzahl von Vorabrufdaten wird unter Verwendung eines Datenpuffers mit hoher Kapazität erhöht, oder dgl. Gemäß der Erfindung kann jedoch die Befehlsverarbeitungsfähigkeit durch die Optimierung der Ausführungsreihenfolge der Vorabruf-Schreibbefehle ohne die Verwendung teurer Hardware verbessert werden.
  • Gemäß dem Plattenschreibvollendungssystem der Erfindung werden, wenn der Datenpuffer in eine Vielzahl von Bereichen geteilt wird, und eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen in die Befehlswarteschlange gespeichert wird, ein Pufferbereich, der vom Schreibbefehl während des Schreibens von Daten auf die Platte verwendet wird, und ein Pufferbereich, der vom Vorabruf-Schreibbefehl verwendet wird, identisch gemacht. Wenn beispielsweise der Datenpuffer in eine Vielzahl von Bereichen geteilt wird, die jeweils eine vorherbestimmte Größe aufweisen, und jeder der Bereiche in Teilbereiche mit einer vorherbestimmten Größe auf der Basis der Daten, die vom ersten Schreibbefehl gespeichert wurden, fein unterteilt wird, und eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen in die Befehlswarteschlange gespeichert wird, wird ein Teilbereich eines spezifischen Pufferbereichs für jeden Schreibbefehl während des Schreibens von Daten auf die Platte und den Vorabruf-Schreibbefehl verwendet. Wenn der Datenpuffer in eine Vielzahl von Bereichen jeweils mit einer vorherbestimm ten Größe geteilt wird, und eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen in der Befehlswarteschlange gespeichert wird, kann der spezifische Pufferbereich in Teilbereiche geteilt werden, und in Übereinstimmung mit der Datengröße jedes Schreibbefehls während des Schreibens von Daten auf die Platte und des Vorabruf-Schreibbefehls verwendet werden. Indem der Pufferbereich, der für den Schreibbefehl während des Schreibens von Daten auf die Platte verwendet wird, und der Pufferbereich, der vom Vorabruf-Schreibbefehl verwendet wird, identisch gemacht werden, wie oben angegeben, werden die Vorabrufdaten in einem freien Bereich im Pufferbereich empfangen, der vom ersten der Vielzahl von Schreibbefehle verwendet wird. Der Datenvorabruf wird realisiert, ohne die in den anderen Bereichen gespeicherten Vorabrufdaten zu zerstören.
  • Eine weitere Ausführungsform der Erfindung bezieht sich auf ein Plattenschreibvollendungssystem, bei welcher ein von einem Host erteilter Schreibbefehl durch die Vollendung des Datenempfangs vom Host beendet wird. Das Plattenschreibvollendungssystem eines derartigen Datenempfangsbefehl-Vollendungsverfahrens umfaßt: eine Befehlsempfangseinheit zum Empfangen einer Vielzahl von Schreibbefehlen, die aufeinanderfolgend von einem Host erteilt werden, und Speichern dieser in eine Befehlswarteschlange; eine Datenempfangseinheit zum Empfangen von Daten durch die Ausführung des Schreibbefehls von der Kopfposition der Befehlswarteschlange und Speichern dieser in einen Datenpuffer; eine Statusberichtseinheit zum Berichten über einen Status an den Host bei der Vollendung des Datenempfangs durch die Datenempfangseinheit, wodurch der Schreibbefehl, der ausgeführt wird, beendet wird; eine Mediumschreibeinheit zum Starten des Schreibens der Empfangsdaten auf das Medium bei der Vollendung des Datenempfangs durch die Datenempfangseinheit; und eine Optimierungsverarbeitungseinheit zum Umordnen einer Ausführungsreihenfolge einer Vielzahl von Vorabruf-Schreibbefehlen in die Reihenfolge ab dem Vorabruf-Schreibbefehl, in dem eine Zugriffszeit kurz ist, wodurch sie in dem Fall optimiert werden, wo eine Vielzahl von Vorabruf-Schreibbefehlen, in denen die Vorabrufdaten bereits empfangen wurden, in der Befehlswarteschlange existiert. Die Optimierungsverarbeitungseinheit ermittelt eine Zugriffszeit des Vorabruf-Schreibbefehls als Zeit, die ab der Vollendung des Schreibens von Daten auf das Medium des vorhergehenden Schreibbefehls bis zum Start des Schreibens von Daten auf das Medium des nächsten Schreibbefehls erforderlich ist, und ändert die Ausführungsreihenfolge in die Reihenfolge des Vorabruf-Schreibbefehls, in dem die Zugriffszeit kurz ist, wodurch sie optimiert werden. In dem Fall, wo eine Vielzahl von Vorabruf-Schreibbefehlen mit empfangenen Daten in der Befehlswarteschlange existiert, kann durch die Änderung der Ausführungsreihenfolge der Vorabruf-Schreibbefehle in die Reihenfolge ab dem Vorabruf-Schreibbefehl, in dem die Zugriffszeit kurz ist, wie oben angegeben, die Befehlsverarbeitungsfähigkeit verbessert werden. Gemäß dem Plattenschreibvollendungssystem werden, wenn der Datenpuffer in eine Vielzahl von Bereichen geteilt wird, und eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen in die Befehlswarteschlange gespeichert wird, ein Pufferbereich, der vom Schreibbefehl während des Schreibens von Daten auf die Platte verwendet wird, und ein Pufferbereich, der vom Vorabruf-Schreibbefehl verwendet wird, identisch gemacht. Wenn beispielsweise der Datenpuffer in eine Vielzahl von Bereichen geteilt wird, die jeweils eine vorherbestimmte Größe aufweisen, und jeder der Bereiche ferner in Teilbereiche jeweils mit einer vorherbestimmten Größe auf der Basis der Daten, die durch die Ausführung des ersten Schreibbefehls gespeichert wurden, fein unterteilt wird, und eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen in die Befehlswarteschlange gespeichert wird, wird der Teilbereich im spezifischen Pufferbereich für jeden Schreibbefehl während des Schreibens von Daten auf die Platte und den Vorabruf-Schreibbefehl verwendet. Wenn der Datenpuffer in eine Vielzahl von Bereichen jeweils mit einer vorherbestimmten Größe geteilt wird, und eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen in der Befehlswarteschlange gespeichert wird, kann der spezifische Pufferbereich in Teilbereiche in Übereinstimmung mit der Datengröße jedes Schreibbefehls während des Schreibens von Daten auf die Platte und des Vorabruf-Schreibbefehls geteilt werden und verwendet werden. Indem der Pufferbereich, der durch den Schreibbefehl während des Schreibens von Daten auf die Platte verwendet wird, und der Pufferbereich, der durch den Vorabruf-Schreibbefehl verwendet wird, identisch gemacht werden, wie oben angegeben, werden die Vorabrufdaten in einem freien Bereich im Pufferbereich empfangen, der vom ersten der Vielzahl von Schreibbefehle verwendet wird. So wird der Datenvorabruf realisiert, ohne die in den anderen Bereichen existierenden Vorabrufdaten zu zerstören.
  • Die obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden durch die folgende detaillierte Beschreibung mit Bezugnahme auf die Zeichnungen besser verständlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1A und 1B sind Zeitdiagramme für einen Schreibzustand einer herkömmlichen Vorrichtung, bei der ein Befehl durch die Vollendung des Datenempfangs von einem Host beendet wird;
  • 2A und 2B sind Zeitdiagramme für einen Schreib zustand einer herkömmlichen Vorrichtung, bei der ein Befehl durch die Vollendung des Schreibens von Daten auf eine Platte beendet wird;
  • 3 ist ein Blockbild eines Festplattenlaufwerks, bei dem die Erfindung verwendet wird;
  • 4 ist ein Blockbild eines Festplattenkontrollers in 3;
  • 5 ist ein funktionelles Blockbild einer Ausführungsform der Erfindung, bei der ein Befehl von einem Host durch die Vollendung des Schreibens von Daten auf eine Platte beendet wird;
  • 6 ist eine erläuternde Formatdarstellung von Befehlen, die in der Erfindung verwendet werden;
  • 7 ist eine erläuternde Formatdarstellung von Zuständen, die in der Erfindung verwendet werden;
  • 8A und 8B sind erläuternde Darstellungen einer Befehlswarteschlange und einer Zeigertabelle, die in einem Steuerspeicher in 5 vorgesehen sind;
  • 9 ist eine erläuternde Darstellung von Setzzuständen von Zeigern für die Befehlswarteschlange in 8A und 8B;
  • 10A und 10B sind Zeitdiagramme für einen Datenvorabrufprozeß gemäß der Ausführungsform von 5;
  • 11A bis 11E sind erläuternde Darstellungen der Befehlswarteschlange und des Datenpuffers zu den Zeiten t1 bis t5 der Zeitdiagramme von 10A und 10B;
  • 12A und 12B sind Flußdiagramme für einen Schreibprozeß in 5 durch eine Zeigersteuerung;
  • 13A und 13B sind erläuternde Darstellungen eines Optimierungsprozesses von Schreibbefehlen mit vorher abgerufenen Daten;
  • 14 ist ein Flußdiagramm für einen Optimierungsprozeß eines Vorabruf-Schreibbefehls;
  • 15A und 15B sind erläuternde Darstellungen einer Konstruktion eines Datenpuffers zum Speichern von Vorabrufdaten; und
  • 16 ist ein funktionelles Blockbild einer weiteren Ausführungsform der Erfindung, bei der ein Befehl bei der Vollendung des Datenempfangs vom Host beendet wird.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 3 ist ein Blockbild eines Festplattenlaufwerks, bei dem die Erfindung verwendet wird. Das Festplattenlaufwerk ist aus einem SCSI-Kontroller 10, einem Laufwerkskontroller 12 und einem Plattengehäuse 14 konstruiert. Der SCSI-Kontroller 10 hat: eine MCU 16; einen Flash-Speicher 18, der als Steuerspeicher verwendet wird; einen Programmspeicher 20, in dem ein Steuerprogramm gespeichert wurde; einen Festplattenkontroller 22; und einen Datenpuffer 24. Der Laufwerkskontroller 12 hat: eine Laufwerksschnittstellenlogik 26; einen DSP 28; eine Lese/Schreib-LSI 20; eine Servodemodulationseinheit 32; und einen Servotreiber 34. Eine Kopf-IC 36 ist im Plattengehäuse 14 vorgesehen. Die Kopf-IC 34 ist mit Kombinationsköpfen 38-1 bis 38-6 verbunden, die jeweils einen Schreibkopf und einen Lesekopf umfassen. Die Kombinationsköpfe 38-1 bis 38-6 sind für die entsprechenden Aufzeichnungsoberflächen von Magnetplatten 40-1 bis 40-3 vorgesehen und werden jeweils an willkürlichen Sektorpositionen der Plattenmedien 40-1 bis 40-3 durch das Treiben mit einem VCM 44 positioniert. Jede der Magnetplatten 40-1 bis 40-3 wird von einem Spindelmotor 42 bei einer vorherbestimmten Geschwindigkeit gedreht.
  • Ein Schreibbefehl, der vom Host erteilt wird, wird über den Festplattenkontroller 22 in eine Befehlswarteschlange im Flash-Speicher 18 gespeichert. Die MCU 16 extrahiert den Schreibbefehl aus der Kopfposition der Befehlswarteschlange im Flash-Speicher 18 und ersucht den Host, Schreibdaten unter Verwendung des Festplattenkontrollers 22 zu transferieren. Die vom Host transferierten Schreibdaten werden in den Datenpuffer 24 gespeichert. Nach der Vollendung des Speicherns der Schreibdaten in den Datenpuffer 24 aktiviert die MCU 16 den Festplattenkontroller 22, wodurch ermöglicht wird, daß die Schreiboperationen für die Magnetplatten von 40-1 zur Seite 40-3 durchgeführt werden. Das heißt, die im Datenpuffer 24 gespeicherten Schreibdaten gehen durch den Festplattenkontroller 22, die Laufwerksschnittstellenlogik 26, die Lese/Schreib-LSI 30 und die Schreibsystemkopf-IC 36, und werden in die vom Schreibbefehl bezeichnete Sektorposition auf der Magnetplatte 40-1 beispielsweise vom Kombinationskopf 38-1 geschrieben. Gleichzeitig steuert der DSP 28 die Kopfpositionierungsoperation durch den VCM 44 zur vom Schreibbefehl angegebenen Sektorposition auf der Basis eines Servodemulationssignals, das über den Servotreiber 34 und die Servodemodulationseinheit 32 erhalten wird. Wenn der Kombinationskopf 38-1 an einem vom Schreibbefehl bezeichneten Zielsektor positioniert ist, wird das Schreiben der Schreibdaten auf die Platte ausgeführt. Wenn das Schreiben der Schreibdaten aus dem Datenpuffer 24 auf die Magnetplatte vollendet ist, berichtet auf diese Weise die MCU 16 über einen Status, der das normale Ende des Schreibens der Schreibdaten anzeigt, an den Host über den Festplattenkontroller 22.
  • 4 ist ein Blockbild einer internen Konstruktion des Festplattenkontrollers 22 in 3. Der Festplattenkontroller 22 umfaßt: eine Mikroprozessor-Schnittstellenlogik 46, einen Datenflußkontroller 48, einen Pufferkontroller 50, einen SCSI-Sequenzer 52, einen Plattenformatierer 54, eine Reed Solomon ECC-Einrichtung 56, und einen SCSI-Kontroller 58. Für den SCSI-Kontroller 58 ist ein SCSI-Port 64 zum Verbinden mit dem Host vorgesehen. Für den SCSI-Kontroller 58 und den Plattenformatierer 54 ist ein Datenpuffer-Port 62 zum Verbinden mit dem Datenpuffer 24 vorgesehen. Ferner ist für den Plattenformatierer 54 ein Platten-Port 60 zum Verbinden mit der Laufwerks-I/F-Logik 26 in 3 vorgesehen. Der Schreibbefehl vom Host wird vom SCSI-Port 64 dem SCSI-Kontroller 58 zugeführt, zur Seite der MCU 16 durch den Pufferkontroller 50 und die Mikroprozessor-I/F-Logik 46 gesendet, und in eine Befehlswarteschlange im Flash-Speicher 18 gespeichert. Schreibdaten, die vom Host durch die Ausführung des Schreibbefehls gesendet werden, kommen über den SCSI-Konroller 58 aus dem SCSI-Port 64 und werden über den Datenpuffer-Port 62 im Datenpuffer 24 gespeichert. Die im Datenpuffer 24 gespeicherten Schreibdaten werden ausgelesen und über den Datenpuffer-Port 62 zum Plattenformatierer 54 transferiert, und werden einem Formatierungsprozeß unterworfen, um sie auf die Magnetplatte zu schreiben. Gleichzeitig wird ein ECC-Codierprozeß mit dem Reed Solomon-Code mit einer Multibyte-Korrekturfunktion an den Schreibdaten durch die Reed Solomon ECC-Einrichtung 56 durchgeführt. Die erhaltenen verarbeiteten Schreibdaten werden vom Platten-Port 60 zur Seite der Magnetplatte gesendet und darauf geschrieben. Der Transfer von Befehlen und Daten zwischen der Vorrichtung und dem Host wird vom SCSI-Sequenzer 52 und SCSI-Kontroller 58 gesteuert. Die Schreib- und Leseoperationen von Daten in den Datenpuffer 24 bzw. aus diesem werden vom Pufferkontroller 50 gesteuert. Ferner wird das Schreiben der Schreibdaten, die aus dem Datenpuffer ausgelesen werden, auf die Platte über den Platten-Port vom Datenflußkontroller 48 gesteuert.
  • 5 ist ein funktionelles Blockbild in der Ausführungsform des Plattenschreibvollenduagssystems gemäß der Erfindung. Dieses Plattenschreibvollenduagssystem ist eine Vor richtung des Mediumschreibbefehl-Vollendungsverfahrens, so daß der vom Host erteilte Schreibbefehl durch die Vollendung des Schreibens von Daten auf das Medium beendet wird, und sie ist dadurch gekennzeichnet, daß die Daten als Vorabrufdaten vom Host durch die Ausführung des nächsten Schreibbefehls empfangen werden, ohne auf die Vollendung des Schreibens von Daten auf das Medium durch den Schreibbefehl zu warten, durch den das Schreiben von Daten auf die Platte aktuell ausgeführt wird. Das Plattenschreibvollendungssystem umfaßt: eine Befehlsempfangseinheit 66, eine Datenempfangseinheit 68, eine Mediumschreibeinheit 70, eine Statusberichtseinheit 72, und eine Vorabruf-Verarbeitungseinheit 74. Eine Befehlswarteschlange 76 und eine Zeigertabelle 78 sind für die Befehlsempfangseinheit 66, Datenempfangseinheit 68, Mediumschreibeinheit 70 und Vorabruf-Verarbeitungseinheit 74 durch den Steuerspeicher vorgesehen, der durch den Flash-Speicher 18 in 3 realisiert wird. Die Befehlsempfangseinheit 66 empfängt eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen und speichert sie in die Befehlswarteschlange 76. Die Datenempfangseinheit 68 empfängt die Daten vom Host und speichert sie in den Datenpuffer 24 durch die Ausführung des Schreibbefehls von der Kopfposition in der Befehlswarteschlange 76. Die Mediumschreibeinheit 70 vollendet das Schreiben der Empfangsdaten auf das Medium bei der Vollendung des Empfangs der Schreibdaten vom Host durch die Datenempfangseinheit 68. Die Statusberichtseinheit 72 berichtet über den Status an den Host bei der Vollendung des Schreibens durch die Mediumschreibeinheit 70, wodurch der Schreibbefehl, der ausgeführt wird, beendet wird. Ferner empfängt die Vorabruf-Verarbeitungseinheit 74 die Daten vom Host als Vorabrufdaten und speichert sie in den Datenpuffer 74, indem der nächste Schreibbefehl ausgeführt wird, ohne auf die Vollendung des Schreibens der Empfangsdaten auf das Medium durch die Mediumschreibeinheit 70 zu warten. 6 ist eine erläuternde Formatdarstellung von Befehlen, die vom Host erteilt werden, und ein Befehl mit einer Länge von 6 Bytes ist als Beispiel dargestellt. Wenn nun "2A" als Befehlscode 80 in bezug auf diesen Befehl gesetzt wird, ist es ein Schreibbefehl von "erweitertes Schreiben". Es ist möglich, das Schreiben von Daten zu bezeichnen, wobei eine willkürliche Anzahl von Blöcken vorliegt, die durch eine Transferdatenlänge gezeigt wird, welche durch das vierte Byte vom durch das erste, zweite und dritte Byte bezeichneten Logikblock bezeichnet wird.
  • 7 ist eine erläuternde Formatdarstellung von Zuständen, über die dem Host bei der Vollendung des Schreibens von Daten auf das Plattenmedium berichtet wird. Dieser Status ist Statusinformationen von einem Byte. Fünf Bits des ersten bis fünften Bits werden für einen Statusbytecode verwendet. Es gibt: einen Gut-Status, in dem die Befehlsausführung normal beendet wird; einen Prüfbedingungsstatus, der eine Abnormalität wie Fehler, nicht ausführbar, abnormales Ende, Sensorgenerierung oder dgl. zeigt; ein Belegt-Status, der zeigt, daß sich das Festplattenlaufwerk in einem belegten Zustand befindet, und der Befehl inakzeptabel ist; einen Zwischen/Gut-Status, der das normale Ende eines Verbindungsinstruktionsbefehls zeigt; einen Reservierungs/Konfliktstatus, der zeigt, daß der als weiterer Host dienende Initiator in einem Reservierungszustand ist; einen Warteschlange-voll-Status, der zeigt, daß es keinen freien Platz in der Befehlswarteschlange gibt, und kein Befehl in der Befehlswarteschlange registriert werden kann; und dgl.
  • 8A und 8B sind erläuternde Darstellungen der Befehlswarteschlange 76 und Zeigertabelle 78, die im Flash-Speicher 18 als Steuerspeicher in 5 vorgesehen sind. 8A zeigt die Befehlswarteschlange 76 und zeigt einen Zustand, wo beispielsweise vier Schreibbefehle CMD1, CMD2, CMD3 und CMD4, die vom Host erteilt werden, und von denen jeder das Befehlsformat von 6 aufweist, in der Befehlswarteschlange gespeichert wurden. Die Zeigertabelle 78 von 8B ist für die Schreibbefehle CMD1 bis CMD4 vorgesehen, die in der Befehlswarteschlange 76 gespeichert sind. Die Zeigertabelle 78 hat: den Folgebefehlsempfangszeiger P1, der die Speicherposition eines als nächstes zu empfangenden Befehls für die Befehlswarteschlange 76 zeigt; den Datenempfangszeiger P2, der einen Befehl, welcher den Start des Datenempfangs vom Host angibt, oder einen Befehl zeigt, der angibt, daß die Daten empfangen werden; den Mediumschreibzeiger P3, der einen Befehl, der den Start des Schreibens von Daten auf das Medium aus dem Datenpuffer 24 angibt, oder einen Befehl zeigt, der angibt, daß die Daten geschrieben werden; und den Statusberichtszeiger P4, der einen Befehl zum anschließenden Berichten über einen Status angibt. Von diesen Zeigern gezeigte Kopfadressen A001, A002, A004 und A005 der Schreibbefehle CMD1 bis CMD4 in der Befehlswarteschlange 76 wurden jeweils in diesen vier Arten von Zeigern P1 bis P4 gespeichert. Jeder der Zeiger P1 bis P4 wird um Eins weitergerückt, wenn der entsprechende Prozeß beendet ist. Das heißt, der Folgebefehlsempfangszeiger P1 rückt bei der Vollendung des Befehlsempfangs durch die Befehlsempfangseinheit 66 weiter. Der Datenempfangszeiger P2 rückt bei der Vollendung des Datenempfangs durch die Datenempfangseinheit 68 weiter. Der Mediumschreibzeiger P3 rückt bei der Vollendung des Schreibens von Daten auf das Medium durch die Mediumschreibeinheit 70 weiter. Ferner rückt der Statusberichtszeiger P4 bei der Vollendung des Statusberichts durch die Statusberichtseinheit 72 weiter. Die Zeiger P1 bis P4 sind in der Reihenfolge des Folgebefehlsempfangszeigers P1, des Datenempfangszeigers P2, des Mediumschreibzeigers P3 und des Statusberichtszeigers P4 angeordnet. wann immer jeder Zeiger weiterrückt, wird der durch den weitergerückten Zeiger gezeigte Prozeß ausgeführt.
  • Die Beziehung der Zeigertabelle 78 für die Befehlswarteschlange 76 in 8A kann wie in 9 gezeigt ausgedrückt werden. Die Zeiger P1, P2, P3 und P4 werden wie in 9 gezeigt in die vier Schreibbefehle CMD1 bis CMD4, die in der Befehlswarteschlange 76 gespeichert sind, und den ersten freien Bereich gesetzt, indem die Adressen A001 bis A005 in der Befehlswarteschlange in die Zeigertabelle 78 wie in 8B gezeigt gesetzt werden. Im Fall des Schreibens von Daten kann der Zeiger in Übereinstimmung mit der folgenden Reihenfolge weiterrücken:
    • I. Folgebefehlsempfangszeiger P1
    • II. Datenempfangszeiger P2
    • III. Mediumschreibzeiger P3
    • IV. Statusberichtszeiger P4
  • sDa der davor lokalisierte Zeiger weiterrückt, kann daher der durch diesen Zeiger gezeigte Prozeß ausgeführt werden. Im Fall von 9 werden die vier Schreibbefehle CMD1 bis CMD4 empfangen und werden in Übereinstimmung mit den Schreibbefehlen CMD1, CMD2, CMD3 und CMD4 ausgeführt. Der Schreibbefehl CMD1, in dem der Statusberichtszeiger P4 gesetzt wurde, gibt einen Zustand an, wo die Daten auf die Platte geschrieben wurden, und über den Status berichtet wird. Der Schreibbefehl CMD2, in dem der Mediumschreibzeiger P3 gesetzt wurde, gibt an, daß die Daten vom Host bereits empfangen wurden, und das Schreiben von Daten auf die Platte in bezug auf den Schreibbefehl CMD2 gestartet wird oder ausgeführt wird. Der Schreibbefehl CMD3, in dem der Datenempfangszeiger P2 gesetzt wurde, gibt an, daß der Empfang der Daten vom Host gestartet wird oder ausgeführt wird. In dem Plattenschreibvollendungssystem der Erfindung wird durch die Setzsteuerung der Zeiger P1 bis P4 für die Befehlswarteschlange 76, wie oben angegeben, der Schreibprozeß realisiert, der den Datenvorabruf enthält, wenn eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen ausgeführt wird.
  • 10A und 10B sind Zeitdiagramme für den Schreibprozeß durch die im funktionellen Block in 5 gezeigte Informationsverarbeitungsvorrichtung der Erfindung. 10A zeigt einen Zustand der Hostschnittstelle vom Host zum Datenpuffer, und als Beispiel einen Fall, wo die beiden Schreibbefehle CMD1 und CMD2, die zwei Blöcke bezeichnen, aufeinanderfolgend vom Host erteilt wurden. Wenn die Schreibbefehle CMD1 und CMD2 vom Host empfangen werden, und der Befehlsempfang zur Zeit t1 vollendet ist, wird der Transfer der Daten D11 und D12 des Schreibbefehls CMD1 anschließend vom Host angefordert. Der Empfang der Daten D11 und D12 wird zur Zeit t2 beendet. In der Plattenschnittstelle in 10B wird, nachdem die Schreibbefehle CMD1 und CMD2 vom Host zur Zeit t1 empfangen wurden, eine Kopfbewegung 82 gestartet, um die Daten auf die Platte durch die Ausführung des Schreibbefehls CMD1 zu schreiben. Bei der Vollendung der Kopfbewegung werden die Daten D11 und D12, die im Datenpuffer bei der Vollendung des Empfangs gespeichert werden, auf die Platte zur Zeit t2 geschrieben. Parallel zum Schreiben der Daten D11 und D12 auf die Platte ersucht die Vorabruf-Verarbeitungseinheit 74 in 5 den Host, die Daten D21 und D22 des. nächsten Schreibbefehls CMD2 zu transferieren. Parallel zum Schreiben der Daten D11 und D12 auf die Platte werden die Daten D21 und D22 des nächsten Schreibbefehls CMD2 als Vorabrufdaten vom Host empfangen und im Datenpuffer 24 gespeichert. Wenn das Schreiben der Daten D11 und D12 auf die Platte in der Plattenschnittstelle zur Zeit t3 beendet wird, und der Empfang der Daten D21 und D22 des nächsten Schreibbefehls CMD2 vom Host anschließend zur Zeit t4 vollendet wird, wird über den Status STS1, der das normale Ende des Schreibens des Schreibbefehls CMD1 auf die Platte angibt, an den Host berichtet. Der Statusbericht wird zur Zeit t5 vollendet. Gleichzeitig wird eine Kopfbewegung 84 durch die Ausführung des nächsten Schreibbefehls CMD2 gestartet. Die empfangenen Daten D21 und D22 werden als Vorabrufdaten auf die Platte durch die Vollendung der Kopfbewegung geschrieben, und über den Status wird berichtet. In dem Plattenschreibvollendungssystem der Erfindung können, wie oben angegeben, sogar im Verfahren zum Berichten über den Status an den Host bei der Vollendung des Schreibens von Daten auf die Platte und Beenden des Schreibbefehls, parallel zum Schreiben der Daten auf die Platte durch den Schreibbefehl, der aktuell ausgeführt wird, die Daten des als nächstes auszuführenden Schreibbefehls als Vorabrufdaten vom Host empfangen werden. Anschließend an die Vollendung des Schreibens auf die Platte, das aktuell ausgeführt wird, können die Daten des nächsten Schreibbefehls sofort auf die Platte geschrieben werden. Demgemäß wird eine Verzögerung des Plattenschreibprozesses verhindert, die auftritt, da die Daten vom Host im Datenpuffer beim Schreiben von Daten auf die Platte nicht existieren. Die Verarbeitungsleistung des Schreibprozesses kann deutlich verbessert werden.
  • 11A bis 11E zeigen zeitsequentiell eine Zeigereinstellung für die Befehlswarteschlange 76 im Schreibprozeß in 10A und 10B sowie Zustände des Datenpuffers 24. 11A entspricht der Zeit t1 in 10A und 10B, und zeigt einen Zustand, wo der Folgebefehlsempfangszeiger P1 bei der Vollendung des Empfangs des Schreibbefehls CMD2 um "1" weiterrückt, und die nächste Befehlsspeicherposition ist gezeigt. In diesem Fall werden im Datenpuffer 24 keine Daten empfangen. 11B entspricht der Zeit t2 in 10A und 10B, und zeigt einen Zustand, wo der Datenempfangszeiger P2 bei der Vollendung des Empfangs der Daten D11 und D12 des Schreibbefehls CMD1 um "1" weiterrückt, und der Datenempfang ist in bezug auf den nächsten Schreibbefehl CMD2 gezeigt. In diesem Fall wurden die vom Host empfangenen Daten D11 und D12 im Datenpuffer 24 in bezug auf den Schreibbefehl CMD1 gespeichert, der aktuell durchgeführt wird. 11C entspricht der Zeit t3 in 10A und 10B, und zeigt einen Zustand, wo der Mediumschreibzeiger P3 bei der Vollendung des Schreibens der Daten D11 und D12 auf die Platte um "1" weiterrückt, und der Zeiger P3 wurde an die gleiche Position gesetzt wie jene des Datenempfangszeigers P2, welcher den Empfang der Daten D21 und D22 des nächsten Schreibbefehls CMD2 angibt, der aktuell ausgeführt wird. In diesem Fall wurden die Daten D21 und die Daten des halben Wegs der Daten D22 des nächsten Schreibbefehls CMD2 im Datenpuffer 24 gespeichert. 11D entspricht der Zeit t4 in 10A und 10B, und zeigt einen Zustand zur Zeit t4, wenn der Vorabruf der Daten D21 und D22 des nächsten Schreibbefehls CMD2 vollendet wurde. Da der Datenempfang des nächsten Schreibbefehls CMD2 in diesem Fall vollendet ist, rückt in diesem Fall der Datenempfangszeiger P2 um "1" weiter, und wird an die gleiche Position gesetzt wie jene des nächsten Befehlsempfangszeigers P1, der Statusberichtszeiger P4 wird in den Schreibbefehl CMD1 gesetzt, und der Mediumschreibzeiger P3 wird in den nächsten Schreibbefehl CMD2 gesetzt. Da die Schnittstelle mit dem Host aufgrund der Vollendung des Empfangs der Daten D21 und D22 frei wird, wird daher über den Status STS1 in bezug auf den Schreibbefehl CMD1 durch das Setzen des Statusberichtszeigers P4 berichtet. Gleichzeitig werden die Daten D21 und D22 auf die Platte durch die Ausführung des Schreibbefehls CMD2 durch den Mediumschreibzeiger P3 geschrieben. 11E zeigt einen Zustand, in dem der Bericht des Status STS1 des Schreibbefehls CMD1 zur Zeit t5 in 10A und 10B vollendet wurde. In diesem Fall rückt der Statusberichtszeiger P4 um "1" weiter, und wird an die gleiche Position des Schreibbefehls CMD2 gesetzt wie jene des Mediumschreibzeigers P3. Über den Status des Schreibbefehls CMD2 wird vom Statusberichtszeiger P4 berichtet, nachdem auf die Vollendung des Schreibens der Daten D21 und D22 auf das Medium gewartet wurde. Zu dieser Zeit wird der Datenpuffer 24 als freier Bereich für die Daten D11 und D12 am Ende des Statusberichts des Schreibbefehls CMD1 behandelt.
  • 12A und 12B sind Flußdiagramme für einen Schreibprozeß unter Verwendung der Zeiger P1 bis P4 in der Zeigertabelle 78 in der Ausführungsform von 5. Der Schreibprozeß wird durch jede von einer Befehlsempfang-Vollendungsunterbrechung in Schritt S1, einer Host-Datenempfang-Vollendungsunterbrechung in Schritt S3, einer Datenschreib-Vollendungsunterbrechung in Schritt S5, und einer Statusbericht-Vollendungsunterbrechung in Schritt S7 aktiviert. Wenn in irgendeinem der Schritte S1, S3, S5 und S7 eine Unterbrechung auftritt, wird, wie in den Schritten S2, S4, S6 und S8 gezeigt, jeder des Folgebefehlsempfangszeigers P1, Datenempfangszeigers P2, Mediumschreibzeigers P3 und Statusberichtszeigers P4 um "1" hochgezählt, wodurch die bezeichnete Position für die Befehlswarteschlange weitergerückt wird. Die Prozesse gemäß dem Flußdiagramm von 12A und 12B werden nun wie folgt in bezug auf den Fall beschrieben, wo die beiden Schreibbefehle CMD1 und CMD2, die in 10A und 10B gezeigt sind, aufeinanderfolgend vom Host erteilt werden. Wenn der Empfang der Schreibbefehle CMD1 und CMD2 vom Host zur Zeit t1 vollendet ist, wird zuerst die Befehlsempfangs-Vollendungsunterbrechung in Schritt S1 erhalten. Es folgt Schritt S2, und der Folgebefehlsempfangszeiger P1 rückt um "1" weiter. Anschließend folgt Schritt S9, und das Vorliegen oder Fehlen des Befehls zum Berichten über den Status wird diskriminiert. Was die Zeiger betrifft, da die Zeiger P2, P3 und P4 in bezug auf den Schreibbefehl CMD1 gesetzt wurden, wie in 11A gezeigt, und die Bedingung von P3 ≠ P4 als Bedingung des Vorliegens des Statusberichts nicht erfüllt wird, geht zu dieser Zeit die Verarbeitungsroutine zu Schritt S10 weiter, und es wird diskriminiert, ob die Daten empfangen werden können oder nicht. In Schritt S10 wird bestimmt, daß die Daten empfangen werden können, wenn eine Beziehung von P1 ≠ P2 zwischen den Zeigern P1 und P2 besteht. Da die Zeiger P1 und P2 die verschiedenen Positionen angeben, wie in 11A gezeigt, ist zu dieser Zeit P1 ≠ P2 erfüllt, und die Daten können in bezug auf den Schreibbefehl CMD1 empfangen werden. Anschließend folgt Schritt S11, und es wird diskriminiert, ob das Festplattenlaufwerk selbst aktuell den Hostbus verwendet oder nicht. Da der Hostbus nicht verwendet wird, wird in diesem Fall der Datenempfang in Schritt S12 aktiviert. In Schritt S13 erfolgt eine Prüfung, um zu sehen, ob die Daten auf die Platte geschrieben werden können. Die Daten können auf die Platte geschrieben werden, wenn die Beziehung von P2 ≠ P3 zwischen den Zeigern P2 und P3 erfüllt ist. Da die Zeiger P2 und P3 an derselben Position existieren, wie in 11A gezeigt, können zu dieser Zeit die Daten nicht geschrieben werden. Eine Serie von Prozessen wird beendet.
  • Wenn der Empfang der Daten D11 und D12 zur Zeit t2 in 10A und 10B vollendet ist, wird die Host-Datenempfang-Vollendungsunterbrechung in Schritt S3 in 12A erhalten. Der Datenempfangszeiger P2 rückt in Schritt S4 um "1" weiter. So wird der Zeigersetzzustand für die Befehlswarteschlange 76 in 11B abgeleitet. Anschließend folgt Schritt S9, und das Vorliegen oder Fehlen des Befehls zum Berichten über den Status wird diskriminiert. Da es in diesem Fall den Befehl zum Berichten über den Status nicht gibt, wird in Schritt S10 diskriminiert, ob die Daten empfangen werden können oder nicht. Da die Zeiger P1 und P2 an den verschiedenen Positionen existieren, wie in 11B gezeigt, können zu dieser Zeit die Daten empfangen werden. Da in Schritt S11 bestimmt wird, daß das Festplattenlaufwerk selbst den Hostbus nicht verwendet, wird der Datenempfang des nächsten Schreibbefehls CMD2 in Schritt S12 aktiviert. Anschließend wird in Schritt S13 diskriminiert, ob die Daten auf die Platte geschrieben werden können oder nicht. Da die Zeiger P2 und P3 an den verschiedenen Positionen existieren, wie in 11B gezeigt, können in diesem Fall die Daten geschrieben werden, und das Schreiben der bereits empfangenen Daten D11 und D12 auf die Platte wird in Schritt S14 aktiviert.
  • Wenn das Schreiben der Daten D11 und D12 auf die Platte zur Zeit t3 in 10A und 10B vollendet ist, wird die Datenschreib-Vollendungsunterbrechung in Schritt S5 in 12A und 12B erhalten. Der Mediumschreibzeiger P3 rückt in Schritt S6 um "1" weiter. So wird der Zeigersetzzustand für die Befehlswarteschlange 76 in 11C erhalten. Nun folgt Schritt S9, und das Vorliegen oder Fehlen des Befehls zum Berichten über den Status wird diskriminiert. Da der Statusberichtszeiger P4 auf den Befehl CMD1 gesetzt wurde, und der Zeiger P3 an der anderen Position existiert, wie in 11C gezeigt, wird in diesem Fall das Vorliegen des Statusberichts bestimmt, und es folgt Schritt S15. In Schritt S15 erfolgt eine Prüfung, um zu sehen, ob das Festplattenlaufwerk selbst den Hostbus verwendet. Da der Hostbus die Daten D22 des Schreibbefehls CMD2 empfängt, und zur Zeit t3 in 10A und 10B verwendet wird, wird in diesem Fall die Statusaktivierung in Schritt S16 nicht durchgeführt. Die Verarbeitungsroutine geht zu Schritt S13 weiter. Obwohl in Schritt 513 diskriminiert wird, ob die Daten geschrieben werden können oder nicht, da die Zeiger P2 und P3 an der gleichen Position des Schreibbefehls CMD2 existieren, können in diesem Fall, wie in 11C gezeigt, die Daten nicht geschrieben werden. Schritt S14 wird übersprungen, und eine Serie von Prozessen wird beendet. Unter der Annahme, daß nun der Empfang der Daten D21 und D22 des Schreibbefehls CMD2 zur Zeit t4 in 10A und 10B vollendet ist, wird nun die Host-Datenempfangs-Vollendungsunterbrechung in Schritt S3 in 12A und 12B erhalten. Der Datenempfangszeiger P2 rückt in Schritt S4 um "1" weiter. So wird der Zeigersetzzustand für die Befehlswarteschlange 76 in 11D erhalten. Anschließend folgt Schritt S9, und das Vorliegen des Statusberichts wird entschieden. Es folgt Schritt S15. Da der Datenempfang vom Host vollendet wurde, wird in diesem Fall der Hostbus nicht verwendet, so daß der Statusbericht in Schritt S16 aktiviert wird. Nun folgt Schritt S13, und es wird diskriminiert, ob die Daten geschrieben werden können oder nicht. Da die Zeiger P2 und P3 an den verschiedenen Positionen existieren, wie in 11D gezeigt, können zu dieser Zeit die Daten in bezug auf den Schreibbefehl CMD2 geschrieben werden, in dem der Zeiger P3 gesetzt wurde. Das Schreiben der Daten D21 und D22 auf die Platte wird in Schritt S14 aktiviert. Wenn der Bericht über den Status STS1 in bezug auf den Schreibbefehl CMD1 zur Zeit t5 in 10A und 10B vollendet ist, wird in Schritt S7 in 12A und 12B die Statusbericht-Vollendungsunterbrechung erhalten. Der Statusberichtszeiger P4 rückt in Schritt S8 um "1" weiter, so daß der Zeigersetzzustand für die Befehlswarteschlange 76 in 11E erhalten wird. Anschließend folgt Schritt S9, und das Vorliegen oder Fehlen des Statusberichts wird diskriminiert. Da die Zeiger P3 und P4 in diesem Fall auf denselben Schreibbefehl CMD2 gesetzt wurden, gibt es keinen Statusbe richt. In Schritt S10 wird diskriminiert, ob die Daten aktuell empfangen werden können oder nicht. Da jedoch die Zeiger P1 und P2 an die freien Positionen gesetzt wurden, wird die Aktivierung des Datenempfangs in Schritt S12 nicht durchgeführt. In Schritt S13 wird diskriminiert, ob die Daten geschrieben werden können oder nicht. Obwohl die Zeiger P2 und P3 an den verschiedenen Positionen existieren, da das Schreiben auf die Platte in bezug auf den Schreibbefehl CMD2 bereits aktiviert wurde, wird die Datenschreibaktivierung in Schritt S14 nicht durchgeführt. Eine Serie von Prozessen wird beendet.
  • 13A und 13B sind erläuternde Darstellungen des Optimierungsprozesses des Vorabruf-Schreibbefehls. 13A zeigt einen Speicherzustand der Befehlswarteschlange 76. In diesem Fall ist ein Zustand gezeigt, wo sieben Schreibbefehle CMD1 bis CMD7 aufeinanderfolgend vom Host erteilt wurden. Der durch den Datenempfangszeiger P2 gezeigte Schreibbefehl CMD6 ist in einem Zustand, wo der Datenempfang vom Host gestartet wird, oder die Daten empfangen werden, und die vier Schreibbefehle CMD2 bis CMDS vor dem Schreibbefehl CMD6 sind in einem Zustand, wo die Daten bereits vorher abgerufen wurden und vom Host empfangen wurden, und das Schreiben auf die Platte erwartet wird. Was den Kopfschreibbefehl CMD1 betrifft, werden die Daten vom Zeiger P3 auf die Platte geschrieben. Das heißt, die entsprechenden Schreibbefehle sind in den folgenden Zuständen. Was den Schreibbefehl CMD1 betrifft, werden die Daten auf die Platte geschrieben. Was die Schreibbefehle CMD2 bis CMD5 betrifft, wurden die Daten bereits vorher abgerufen. Was den Schreibbefehl CMD6 betrifft, werden die Daten vom Host empfangen. Was den Schreibbefehl CMD7 betrifft, wird der Datenempfang vom Host erwartet. Während die Daten durch die Ausführung des Schreibbefehls CMD1 auf die Platte geschrieben werden, wird zu dieser Zeit die Ausführungsreihenfolge der Schreibbefehle CMD2 bis CMD5 mit vorher abgerufenen Daten in die Reihenfolge ab dem Schreibbefehl umgeordnet, in dem die Zugriffszeit von der Plattenschreibendposition des Schreibbefehls CMD1 am kürzesten ist, der aktuell ausgeführt wird. Unter der Annahme, daß beispielsweise die Zugriffszeit des Schreibbefehls CMD4 die kürzeste ist, wird die Reihenfolge der Schreibbefehle CMD2 und CMD4 wie in 13B gezeigt ausgetauscht. Nach dem Ende des Schreibens des Schreibbefehls CMD1 auf die Platte wird das Schreiben des Schreibbefehls CMD4 auf die Platte beendet.
  • 14 ist ein Flußdiagramm für einen Vorabruf-Schreibbefehl-Optimierungsprozeß in dem Plattenschreibvollendungssystem der Erfindung. Zuerst wird in Schritt S1 eine Winkeldifferenz θt [rad] zwischen der Sektorendposition, wo die Daten aktuell auf die Platte geschrieben werden, und der Sektorstartposition, auf die als nächstes zuzugreifen ist, berechnet. Die Winkeldifferenz θt kann berechnet werden, indem eine Differenz zwischen den Sektoradressen in einen Winkel umgewandelt wird. Anschließend wird in Schritt S2 eine Suchvorhersagezeit ts, die von der Sektorendposition, wo das Datenschreiben aktuell durchgeführt wird, zum nächsten Startsektor erforderlich ist, aus der Spuradresse berechnet. In Schritt S3 wird ein Drehwinkel θs [rad], unter dem sich die nächste Sektorkopfposition für die Suchvorhersagezeit bewegt, berechnet. Unter der Annahme, daß nun eine Winkelgeschwindigkeit des Plattenmediums gleich ω [rad/s] ist, wird der Sektordrehwinkel θs erhalten durch θs = ω × ts
  • Anschließend wird in Schritt S4 die Winkeldifferenz θt zwischen der aktuellen Sektorendposition und der nächsten Sektorstartposition mit dem Drehwinkel θs an der nächsten Sektorkopfposition verglichen, die aus der Suchvorhersage zeit ts berechnet wird. Das heißt, wenn der Drehwinkel θs an der nächsten Sektorkopfposition, die aus der Suchvorhersagezeit ts berechnet wird, gleich der oder kleiner als die Winkeldifferenz θt zwischen der Sektorendposition und der nächsten Sektorstartposition ist, wird die Suchoperation vollendet, bis die nächste Sektorkopfposition den Kopf erreicht, und es muß nicht auf die Plattenrotation gewartet werden. Wenn andererseits der Drehwinkel θs an der nächsten Sektorkopfposition, die aus der Suchvorhersagezeit ts erhalten wird, die Winkeldifferenz θt zwischen der Sektorendposition und der nächsten Sektorstartposition überschreitet, wird die Plattenrotation abgewartet. Wenn die Winkeldifferenz θt zwischen der Sektorendposition und der nächsten Sektorstartposition gleich dem oder größer als der Drehwinkel θs an der nächsten Sektorkopfposition ist, die aus der Suchvorhersagezeit ts in Schritt S4 berechnet wird, folgt Schritt S5. Eine Zugriffszeit t wird als Wert berechnet, bei dem die Zeit, die durch das Teilen der Winkeldifferenz (θt – θs) durch die Winkelgeschwindigkeit ω erhalten wird, zur Suchvorhersagezeit ts addiert wird. Wenn die Winkeldifferenz θt hingegen kleiner ist als der Drehwinkel θs, der aus der Suchvorhersagezeit ts erhalten wird, folgt Schritt S6. Eine Zugriffszeit wird berechnet, welche die Rotationswartezeit enthält, wobei die Zeit, die durch das Teilen des Winkels erhalten wird, der durch das Subtrahieren der Winkeldifferenz (θt – θs) von 2π abgeleitet wird, was eine Rotation bei der Winkelgeschwindigkeit ω angibt, zur Suchzeit addiert wird. In Schritt S7 wird diskriminiert, ob die Prozesse in bezug auf alle Vorabruf-Schreibbefehle durchgeführt wurden oder nicht. Die Prozesse in Schritt S1 bis S6 werden wiederholt, bis alle Prozesse beendet sind. Wenn der Berechnungsprozeß der Zugriffszeit in Schritt S7 in bezug auf alle Vorabruf-Schreibbefehle beendet ist, wird der Vorabrufbefehl, in dem die Zugriffszeit die kürzeste ist, zur Position des als nächstes auszuführenden Befehls in Schritt S8 umgeordnet. Wie oben angegeben, wird die Zugriffszeit während der Ausführung des Schreibens eines bestimmten Schreibbefehls auf die Platte in bezug auf den Vorabrufbefehl mit vorher abgerufenen Daten im Plattenschreib-Wartezustand berechnet, und der Schreibbefehl mit der kürzesten Zugriffszeit wird zur Position des als nächstes auszuführenden Schreibbefehls umgeordnet, so daß die Verarbeitungsleistung deutlich verbessert werden kann.
  • 15A und 15B sind erläuternde Darstellungen der Segmentteilung des Datenpuffers, der in dem Plattenschreibvollendungssystem der Erfindung verwendet wird. Im Datenpuffer 24 in 15A ist der Datenpuffer 24 beispielsweise in acht Segmente 82-1 bis 82-8 geteilt. Jedes der Segmente 82-1 bis 82-8 ist weiter in acht Teilsegmente 84-1 bis 84-8 unterteilt, wie im Kopfsegment 82-1 gezeigt. Wenn eine Vielzahl von Schreibbefehlen aufeinanderfolgend vom Host erteilt wird, wird ein Segment in bezug auf die Vielzahl von Schreibbefehlen, die aufeinanderfolgend erteilt wurden, verwendet, und die Teilsegmente 84-1 bis 84-8 werden individuell in bezug auf jeden Schreibbefehl verwendet. Eine Teilsegmentgröße wird vom Empfang im ersten Schreibbefehl entschieden. Beispielsweise wird das Segment in Teilsegmente unterteilt, die jeweils die gleiche Größe haben wie die vom ersten Schreibbefehl bezeichnete Anzahl von Datenblöcken. So können im Fall von 15A zusätzlich zum ersten Schreibbefehl die Daten der sieben Schreibbefehle anschließend in bezug auf das Segment 82-1 vorher abgerufen werden. Spezifisch ausgedrückt wird das freie Teilsegment gesucht, bevor der Datenvorabruf ausgeführt wird, und das für die Befehlsinformationen zu verwendende Teilsegment wird gesetzt. Beim Schreiben werden die Daten auf der Basis der Informationen des Teilsegments geschrieben.
  • 15B zeigt eine weitere Ausführungsform der Unterteilung der Teilsegmente für den Datenvorabruf des Datenpuffers 24. Da in 15A die Teilsegmente in regelmäßigen Intervallen beim Datenempfang des ersten Schreibbefehls bestimmt wurden, können, wenn ein Schreibbefehl mit einer größeren Blockgröße als jener des Teilsegments erteilt wird, die Daten nicht im Puffer gespeichert werden, so daß der Datenvorabruf zu diesem Zeitpunkt beendet wird. Wenn in 15B die Kopfposition und Größe des Teilsegments als Segmentinformationen gesetzt werden können, auch wenn die Blockgröße nicht konstant ist, kann daher, indem das Teilsegment in Übereinstimmung mit der bezeichneten Blockgröße gesetzt wird, der Datenvorabruf durchgeführt werden. Beispielsweise im Fall eines Segments 82-1 in 15B, wie für jedes der Teilsegmente 84-1 bis 84-4, können durch das Setzen der Kopfposition und Größe des Teilsegments in Entsprechung zur Blockgröße jedes Schreibbefehls die Teilsegmente dynamisch gesichert werden.
  • 16 ist ein funktionelles Blockbild einer weiteren Ausführungsform des Plattenschreibvollendungssystem der Erfindung. Diese Ausführungsform ist dadurch gekennzeichnet, daß die Optimierung der Ausführungsreihenfolge und die Datenpufferteilung gemäß der Erfindung bei dem Plattenschreibvollendungssystem des Datenempfangsbefehl-Vollendungsverfahrens verwendet werden, so daß der vom Host erteilte Schreibbefehl durch die Vollendung des Datenempfangs vom Host beendet wird. Das Plattenschreibvollendungssystem ist durch eine Befehlsempfangseinheit 100, eine Datenempfangseinheit 102, eine Mediumschreibeinheit 104 und eine Statusberichtseinheit 106 konstruiert. Die Befehlswarteschlange 76 und Zeigertabelle 78 sind für den Flash-Speicher 18 als Steuerspeicher vorgesehen. Die Befehlsempfangseinheit 100 empfängt eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen und speichert sie in die Befehlswarteschlange 76. Die Datenempfangseinheit 102 empfängt die Daten durch die Ausführung des Schreibbefehls von der Kopfposition in der Befehlswarteschlange 76 und speichert sie in den Datenpuffer 24. Die Statusberichtseinheit 106 berichtet über den Status an den Host bei der Vollendung des Datenempfangs vom Host durch die Datenempfangseinheit 102, wodurch der Schreibbefehl, der ausgeführt wird, beendet wird. Die Mediumschreibeinheit 104 startet das Schreiben der Empfangsdaten auf das Medium bei der Vollendung des Datenempfangs vom Host durch die Datenempfangseinheit. Abgesehen von diesen ist in der Ausführungsform in 16 eine Optimierungsverarbeitungseinheit 108 vorgesehen. Wenn eine Vielzahl von Vorabruf-Schreibbefehlen, in denen die Vorabrufdaten bereits empfangen wurden, in der Befehlswarteschlange 76 existiert, ordnet die Optimierungsverarbeitungseinheit 108 die Ausführungsreihenfolge der Vielzahl von Vorabruf-Schreibbefehlen in die Reihenfolge ab dem Vorabruf-Schreibbefehl mit der kürzesten Zugriffszeit um, wodurch sie optimiert wird. Spezifisch ausgedrückt, wird, wie in 13A gezeigt, in bezug auf die Schreibbefehle CMD2 und CMD5 mit vorher abgerufenen Daten die Reihenfolge so umgeordnet, daß der Schreibbefehl, in dem die Zugriffszeit von der Schreibendsektorposition des Schreibbefehls CMD1, durch den das Schreiben auf die Platte aktuell ausgeführt wird, die kürzeste ist, der als nächstes auszuführende Schreibbefehl wird. Wenn beispielsweise die Zugriffszeit des Schreibbefehls CMD4 die kürzeste ist, wird der als nächstes auszuführende Schreibbefehl zum Schreibbefehl CMD4 umgeordnet, wie in 13B gezeigt. Der Optimierungsprozeß des Vorabruf-Schreibbefehls wird in Übereinstimmung mit dem Flußdiagramm von 14 durchgeführt. Ferner wird in der Ausführungsform von 16 als Verfahren zum Teilen des Datenpuffers 24 in Segmente entweder ein Verfahren zum festgelegten Unterteilen des Segments in die Teilsegmente auf der Basis der Anzahl von Blöcken des ersten Schreibbefehls verwendet, wie in 15A gezeigt, oder ein Verfahren zum dynamischen Unterteilen des Segments in die Teilsegmente durch das Zuordnen der Kopfposition der Teilsegmente und der Anzahl von Blöcken bei jedem Schreibbefehl, wie in 15B gezeigt.
  • Gemäß der Erfindung wird, wie oben angegeben, in bezug auf die Vorrichtung, so daß der vom Host erteilte Schreibbefehl durch die Vollendung des Schreibens auf die Platte beendet wird, indem der Datenvorabruf durchgeführt wird, wobei die Daten vom Host in bezug auf den nächsten Schreibbefehl empfangen werden, ohne daß auf die Vollendung des Schreibens auf die Platte gewartet wird, die Verzögerung des Schreibprozesses verhindert, die auftritt, da keine Daten im Datenpuffer beim Schreiben auf die Platte existieren. Die Verschlechterung der Verarbeitungsfähigkeit wird verhindert, die in dem Fall wahrscheinlich auftreten wird, wo die Zugriffszeit jedes Schreibbefehls, wenn eine Vielzahl von Schreibbefehlen aufeinanderfolgend erteilt wird, kurz ist, oder in dem Fall, wo eine Vielzahl von Plattenschreibvollendungssystemen mit dem Host verbunden sind. Das Plattenschreibvollendungssystem mit einer hohen Verarbeitungsleistung für den Schreibbefehl kann realisiert werden.
  • Was die Vielzahl von Schreibbefehlen betrifft, in denen der Datenvorabruf vom Host beendet wurde, kann durch das Umordnen des als nächstes auszuführenden Befehls, so daß er der Befehl mit der kürzesten Zugriffszeit wird, der Vorabruf-Schreibbefehl optimiert werden. Der Schreibprozeß mit höherer Leistung kann sowohl durch die Verbesserung der Leistung aufgrund des Datenvorabrufs als auch die Verbesserung der Verarbeitungsleistung aufgrund der Optimierung der Befehlsausführungsreihenfolge realisiert werden.
  • Ferner werden als Verfahren zur Verwendung des Pufferbereichs im Fall eines Datenvorabrufs der Pufferbereich, der vom Schreibbefehl während des Schreibens auf die Platte verwendet wird, und der Pufferbereich, der vom Vorabruf-Schreibbefehl verwendet wird, identisch gemacht, so daß eine Situation verhindert werden kann, daß die Daten der anderen Segmente im Datenpuffer aufgrund des Vorabrufprozesses des Schreibbefehls zerstört werden. Indem der Datenpuffer als Lesepuffer bestmöglich ausgenützt wird, kann die Verschlechterung der Leseleistung mit Sicherheit verhindert werden.
  • Was das Verfahren zum Beenden des Schreibbefehls durch den Statusbericht bei der Vollendung des Schreibens auf die Platte in 5 und das Verfahren zum Beenden des Schreibbefehls durch den Statusbericht bei der Vollendung des Datenempfangs vom Host in 16 betrifft, sind Mittel wie ein Schalter zum Schalten und Setzen des Modus einer der beiden Befehlsbeendigungsverfahren für dieselbe Festplatte vorgesehen, wodurch die selektive Verwendung entweder der Ausführungsform von 5 oder der Ausführungsform von 16, wenn notwendig, ermöglicht wird. Die Ausführungsform von 5 oder die Ausführungsform von 16 kann individuell für jedes Festplattenlaufwerk verwendet werden. Die vorliegende Erfindung enthält verschiedene geeignete Modifikationen, ohne von den Aufgaben und Vorteilen der Erfindung abzuweichen, und ist ferner nicht auf die in den Ausführungsformen angegebenen Zahlenwerte beschränkt.

Claims (11)

  1. Plattenschreibvollendungssystem, bei welchem ein von einem Host erteilter Schreibbefehl durch die Vollendung des Schreibens von Daten auf ein Medium beendet wird, mit: einer Befehlsempfangseinheit (66) zum Empfangen einer Vielzahl von Schreibbefehlen, die aufeinanderfolgend vom Host erteilt werden, und Speichern dieser in eine Befehlswarteschlange; einer Datenempfangseinheit (68) zum Empfangen von Daten vom Host und Speichern dieser in einen Datenpuffer durch das Ausführen des Schreibbefehls von einer Kopfposition in der Befehlswarteschlange; einer Mediumschreibeinheit (70) zum Starten des Schreibens der Empfangsdaten auf das Medium bei der Vollendung des Datenempfangs durch die Datenempfangseinheit (68); einer Statusberichtseinheit (72) zum Berichten über einen Status an den Host bei der Vollendung des Schreibens durch die Mediumschreibeinheit (70), wodurch der Schreibbefehl, der ausgeführt wird, beendet wird; gekennzeichnet durch eine Vorabruf-Verarbeitungseinheit (74) zum Empfangen der Daten als Vorabrufdaten vom Host und Speichern dieser in den Datenpuffer durch das Ausführen des nächsten Schreibbefehls, ohne auf die Vollendung des Schreibens der Empfangsdaten auf das Medium durch die Mediumschreibeinheit (70) zu warten.
  2. System nach Anspruch 1, bei welcher ein Folgebefehlsempfangszeiger P1, der eine Speicherposition des als nächstes zu empfangenen Befehls zeigt, ein Datenempfangszeiger P2, der den Schreibbefehl am Start des Datenempfangs vom Host oder während des Datenempfangs zeigt, ein Mediumschreibzeiger P3, der den Schreibbefehl am Start des Schreibens von Daten auf das Medium aus dem Datenpuffer (24) oder während des Schreibens der Daten zeigt, und ein Statusberichtszeiger P4, der den Schreibbefehl zeigt, um über einen nächsten Status zu berichten, ferner für die Befehlswarteschlange vorgesehen sind, welcher Folgebefehlsempfangszeiger P1 bei der Vollendung des Befehlsempfangs durch die Befehlsempfangseinheit (66) weiterrückt, welcher Datenempfangszeiger P2 bei der Vollendung des Datenempfangs durch die Datenempfangseinheit (68) weiterrückt, welcher Mediumschreibzeiger P3 bei der Vollendung des Mediumschreibens durch die Mediumschreibeinheit (70) weiterrückt, und ferner welcher Statusberichtszeiger P4 bei der Vollendung des Statusberichts durch die Statusberichtseinheit (72) weiterrückt, wobei die Zeiger in der Reihenfolge des Folgebefehlsempfangszeigers P1, des Datenempfangszeigers P2, des Mediumschreibzeigers P3 und des Statusberichtszeigers P4 angeordnet sind, und, wann immer jeder Zeiger weiterrückt, ein durch den weitergerückten Zeiger gezeigter Prozeß ausgeführt wird.
  3. System nach Anspruch 1, ferner mit einer Optimierungsverarbeitungseinheit, so daß, wenn eine Vielzahl von Vorabruf-Schreibbefehlen, in denen die Daten bereits vorher abgerufen wurden, in der Befehlswarteschlange existiert, eine Ausführungsreihenfolge der Vielzahl von Vorabruf-Schreibbefehlen in die Reihenfolge ab dem Vorabruf-Schreibbefehl mit einer kurzen Zugriffszeit umgeordnet wird, wodurch die Ausführungsreihenfolge optimiert wird.
  4. System nach Anspruch 3, bei welcher die Optimierungsverarbeitungseinheit die Zugriffszeit des Vorabruf-Schreibbefehls als Zeit ermittelt, die ab der Vollendung des Mediumschreibens des vorhergehenden Schreibbefehls bis zu einem Start des Mediumschreibens des nächsten Schreibbefehls erforderlich ist, und die Ausführungsreihenfolge in die Reihenfolge ab dem Vorabruf-Schreibbefehl mit der kurzen Zugriffszeit ändert, wodurch die Ausführungsreihenfolge optimiert wird.
  5. System nach Anspruch 1, bei welcher, wenn der Datenpuffer (24) in eine Vielzahl von Bereichen geteilt wird, und eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen in die Befehlswarteschlange gespeichert wird, ein Pufferbereich, der vom Schreibbefehl während des Mediumschreibens verwendet wird, und ein Pufferbereich, der vom Vorabruf-Schreibbefehl verwendet wird, identisch gemacht werden.
  6. System nach Anspruch 5, bei welcher, wenn der Datenpuffer (24) in eine Vielzahl von Bereichen geteilt wird, die jeweils eine vorherbestimmte Größe aufweisen, und jeder der Bereiche ferner in Teilbereiche mit einer vorherbestimmten Größe fein unterteilt wird, die von den Daten des Schreibbefehls bestimmt wird, der zuerst gespeichert wurde, und die Vielzahl der vom Host aufeinanderfolgend erteilten Schreibbefehle in die Befehlswarteschlange gespeichert wird, ein Teilbereich in einem spezifischen Pufferbereich für jeden Schreibbefehl während des Mediumschreibens und den Vorabruf-Schreibbefehl verwendet wird.
  7. System nach Anspruch 1, bei welcher, wenn der Datenpuffer (24) in eine Vielzahl von Bereichen geteilt wird, die jeweils eine vorherbestimmte Größe aufweisen, und eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen in die Befehlswarteschlange gespeichert wird, ein spezifischer Pufferbereich in Teilbereiche in Übereinstimmung mit einer Datengröße jedes Schreibbefehls während des Mediumschreibens und des Vorabruf-Schreibbefehls geteilt wird und verwendet wird.
  8. Plattenschreibvollendungssystem, bei welchem ein von einem Host erteilter Schreibbefehl durch die Vollendung des Datenempfangs vom Host beendet wird, mit: einer Befehlsempfangseinheit (66) zum Empfangen einer Vielzahl von Schreibbefehlen, die aufeinanderfolgend vom Host erteilt werden, und Speichern dieser in eine Befehlswarteschlange; einer Datenempfangseinheit (68) zum Empfangen von Daten vom Host und Speichern dieser in einen Datenpuffer (24) durch das Ausführen des Schreibbefehls von einer Kopfposition in der Befehlswarteschlange; einer Statusberichtseinheit (72) zum Berichten über einen Status an den Host bei der Vollendung des Datenempfangs durch die Datenempfangseinheit (68), wodurch der Schreibbefehl, der ausgeführt wird, beendet wird; einer Mediumschreibeinheit (70) zum Starten des Schreibens der Empfangsdaten auf das Medium bei der Vollendung des Datenempfangs durch die Datenempfangseinheit (68); gekennzeichnet durch eine Optimierungsverarbeitungseinheit zum, wenn eine Vielzahl von Vorabruf-Schreibbefehlen, in denen die Daten bereits vorher abgerufen wurden, in der Befehlswarteschlange existiert, Umordnen einer Ausführungsreihenfolge der Vielzahl von Vorabruf-Schreibbefehlen in die Reihenfolge ab dem Vorabruf-Schreibbefehl mit einer kurzen Zugriffszeit, wodurch die Ausführungsreihenfolge optimiert wird.
  9. System nach Anspruch 8, bei welcher die Optimierungsverarbeitungseinheit die Zugriffszeit des Vorabruf-Schreibbefehls als Zeit ermittelt, die ab der Vollendung des Mediumschreibens des vorhergehenden Schreibbefehls bis zu einem Start des Mediumschreibens des nächsten Schreibbefehls erforderlich ist, und die Ausführungsreihenfolge in die Reihenfolge ab dem Vorabruf-Schreibbefehl mit der kurzen Zugriffszeit ändert, wodurch die Ausführungsreihenfolge optimiert wird. 10. System nach Anspruch 8, bei welcher, wenn der Datenpuffer (24) in eine Vielzahl von Bereichen geteilt wird, und eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen in die Befehlswarteschlange gespeichert wird, ein Pufferbereich, der vom Schreibbefehl während des Mediumschreibens verwendet wird, und ein Pufferbereich, der vom Vorabruf-Schreibbefehl verwendet wird, identisch gemacht werden.
  10. System nach Anspruch 10, bei welcher, wenn der Datenpuffer (24) in eine Vielzahl von Bereichen geteilt wird, die jeweils eine vorherbestimmte Größe aufweisen, und jeder der Bereiche ferner in Teilbereiche mit einer vorherbestimmten Größe fein unterteilt wird, die von den Daten des Schreibbefehls bestimmt wird, der zuerst gespeichert wurde, und die Vielzahl der vom Host aufeinanderfolgend erteilten Schreibbefehle in die Befehlswarteschlange gespeichert wird, ein Teilbereich in einem spezifischen Pufferbereich für jeden Schreibbefehl während des Mediumschreibens und den Vorabruf-Schreibbefehl verwendet wird.
  11. System nach Anspruch 8, bei welcher, wenn der Datenpuffer in eine Vielzahl von Bereichen geteilt wird, die jeweils eine vorherbestimmte Größe aufweisen, und eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen in die Befehlswarteschlange gespeichert wird, ein spezifischer Pufferbereich in Teilbereiche in Übereinstimmung mit einer Datengröße jedes Schreibbefehls während des Mediumschreibens und des Vorabruf-Schreibbefehls geteilt wird und verwendet wird.
DE19945993A 1999-02-26 1999-09-24 Plattenschreibvollendungssystem Expired - Fee Related DE19945993B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPP11-049613 1999-02-26
JP04961399A JP3745552B2 (ja) 1999-02-26 1999-02-26 情報記憶装置

Publications (2)

Publication Number Publication Date
DE19945993A1 DE19945993A1 (de) 2000-09-14
DE19945993B4 true DE19945993B4 (de) 2005-08-04

Family

ID=12836097

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19945993A Expired - Fee Related DE19945993B4 (de) 1999-02-26 1999-09-24 Plattenschreibvollendungssystem

Country Status (4)

Country Link
US (1) US6389508B1 (de)
JP (1) JP3745552B2 (de)
KR (1) KR100327182B1 (de)
DE (1) DE19945993B4 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560657B1 (en) * 1999-12-23 2003-05-06 Intel Corporation System and method for controlling peripheral devices
US7406547B2 (en) * 2000-08-09 2008-07-29 Seagate Technology Llc Sequential vectored buffer management
US6807586B2 (en) * 2002-01-09 2004-10-19 International Business Machines Corporation Increased computer peripheral throughput by using data available withholding
US6925539B2 (en) 2002-02-06 2005-08-02 Seagate Technology Llc Data transfer performance through resource allocation
JP4170044B2 (ja) * 2002-08-16 2008-10-22 富士通株式会社 ディスク記憶装置
US7346714B2 (en) 2002-09-05 2008-03-18 Canon Kabushiki Kaisha Notification of completion of communication with a plurality of data storage areas
US6938184B2 (en) * 2002-10-17 2005-08-30 Spinnaker Networks, Inc. Method and system for providing persistent storage of user data
JP2005215729A (ja) * 2004-01-27 2005-08-11 Hitachi Global Storage Technologies Netherlands Bv データ伝送制御方法及び記憶装置
KR100585132B1 (ko) * 2004-02-21 2006-06-01 삼성전자주식회사 최적화된 기록 순서 재배열 방법 및 장치, 기록 방법, 기록 매체
US7009795B2 (en) * 2004-02-26 2006-03-07 Hitachi Global Storage Technologies Netherlands, B.V. System and method for correcting for head tilt in HDD
JP2006127401A (ja) * 2004-11-01 2006-05-18 Fujitsu Ltd 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム
US20060271718A1 (en) * 2005-05-27 2006-11-30 Diplacido Bruno Jr Method of preventing error propagation in a PCI / PCI-X / PCI express link
JP4740766B2 (ja) * 2006-02-27 2011-08-03 富士通株式会社 データ受信装置、データ送受信システム、データ送受信システムの制御方法及びデータ受信装置の制御プログラム
US9329800B2 (en) * 2007-06-29 2016-05-03 Seagate Technology Llc Preferred zone scheduling
US20110004718A1 (en) * 2009-07-02 2011-01-06 Ross John Stenfort System, method, and computer program product for ordering a plurality of write commands associated with a storage device
US11669272B2 (en) * 2019-05-31 2023-06-06 Micron Technology, Inc. Predictive data transfer based on availability of media units in memory sub-systems
KR20220104511A (ko) * 2021-01-18 2022-07-26 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템
JP2023136082A (ja) * 2022-03-16 2023-09-29 キオクシア株式会社 メモリシステムおよび制御方法
CN118426711B (zh) * 2024-07-05 2024-09-06 合肥康芯威存储技术有限公司 一种存储设备及其控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636355A (en) * 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
US5841598A (en) * 1994-10-28 1998-11-24 Olympus Optical Co., Ltd. Information recording/reproducing apparatus and data processing method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2905373B2 (ja) * 1993-10-01 1999-06-14 富士通株式会社 ディスク制御装置及びその制御方法
JPH1021012A (ja) * 1996-06-28 1998-01-23 Toshiba Corp 磁気ディスク装置及び同装置のコマンド処理方法
US6078998A (en) * 1997-02-11 2000-06-20 Matsushita Electric Industrial Co., Ltd. Real time scheduling of prioritized disk requests
US6092149A (en) * 1997-05-28 2000-07-18 Western Digital Corporation Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses
US6145052A (en) * 1997-11-04 2000-11-07 Western Digital Corporation Disk drive with adaptive pooling for command reordering
US6170042B1 (en) * 1998-02-24 2001-01-02 Seagate Technology Llc Disc drive data storage system and method for dynamically scheduling queued commands
JPH11273243A (ja) * 1998-03-20 1999-10-08 Toshiba Corp ディスク装置及び同装置に適用されるライトバッファ制御方法
US6272565B1 (en) * 1999-03-31 2001-08-07 International Business Machines Corporation Method, system, and program for reordering a queue of input/output (I/O) commands into buckets defining ranges of consecutive sector numbers in a storage medium and performing iterations of a selection routine to select and I/O command to execute

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636355A (en) * 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
US5841598A (en) * 1994-10-28 1998-11-24 Olympus Optical Co., Ltd. Information recording/reproducing apparatus and data processing method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Computer Design, April 1997, S. 39, 42, 44 *
DOS, August 1996, S. 214-217 *
DOS, Nr. 12, 1993, S. 80, 82, 84 *
Hans Peter Messmer, PC Hardware, 5. Auflage, Addison-Wesley, 1998, S. 907 *

Also Published As

Publication number Publication date
DE19945993A1 (de) 2000-09-14
JP3745552B2 (ja) 2006-02-15
KR100327182B1 (ko) 2002-03-13
JP2000250715A (ja) 2000-09-14
KR20000056966A (ko) 2000-09-15
US6389508B1 (en) 2002-05-14

Similar Documents

Publication Publication Date Title
DE19945993B4 (de) Plattenschreibvollendungssystem
DE3280428T2 (de) Datenspeichersystem fuer einen arbeitsrechner.
DE69706693T2 (de) Verfahren und vorrichtung für mehrere kontexte in speicheruntersystemzieleinrichtungen
DE69412775T2 (de) System zur Kontrolle der Befehlswarteschlange der Paritätsplatte in einer Speicherplattenanordnung
DE2350884C2 (de) Adreßumsetzungseinheit
DE60033994T2 (de) Verfahren und System zur Ausgabe an und zum Ordnen von Befehlen in einem Festplattenlaufwerk
DE69834739T2 (de) Ausgleichen von daten die zwischen verschiedenen leitern fliessen die auf unterschiedlichen frequenzen operieren
DE19983589B4 (de) Hochfrequenz-Pipeline-Entkopplungswarteschlangengestaltung
DE68929229T2 (de) Steuergerät mit einem Cache-Speicher und Verfahren zur Steuerung des Cache-Speichers
DE2921387C2 (de) Verfahren zum Austauschen von Informationen zwischen einer Datenverarbeitungsanlage und einem Magnetplattenspeicher
DE69417874T2 (de) Verfahren zur aufgabenzuordnung zwischen zwei armen die auf der gleichen magnetplatte auf einem einzelplattenantrieb benutzt werden
DE2500721C2 (de) Sekundärspeicher für digitale Datenverarbeitungssysteme
DE69807101T2 (de) Segmentiertes dma mit xor-puffer für speicheruntersysteme
DE19648752B4 (de) Befehlsausführungsverfahren für ein CD-ROM Laufwerk
DE3935235A1 (de) Speicherungsverfahren fuer microcomputersysteme
DE4029980C2 (de) Umspeicherverfahren und Umspeichersystem zur Erhöhung der Systemzuverlässigkeit
DE60008148T2 (de) System und verfahren zum abrollen von schleifen in einem trace-cache
DE3932474A1 (de) Platten-steuervorrichtung und plattenzugriff-steuerverfahren
DE69423077T2 (de) Steuerungsvorrichtungen für nichtflüchtige Speicheranordnungen
DE10393803T5 (de) Verfahren und Vorrichtung zum Bestimmen einer Seitenverwaltungsimplementierung bei dynamischem Speicher mit wahlfreiem Zugriff
DE112019000211T5 (de) Effizientes und selektives ersatzweises Speichern von Bits in Arbeitsspeichersystemen
DE10084982B4 (de) Steuern einer Burst-Sequenz in synchronen Speichern
DE3421737C2 (de) Vorrichtung zur Ermittlung einer Überlappung von Operanden
DE602004004780T2 (de) Verfahren und einrichtung zum transferieren von daten zwischen einem hauptspeicher und einer speichereinrichtung
DE3928213C2 (de) Subsystem mit einer externen Speichervorrichtung und Datenverarbeitungsverfahren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee