DE19945993A1 - Informationsspeichervorrichtung - Google Patents

Informationsspeichervorrichtung

Info

Publication number
DE19945993A1
DE19945993A1 DE19945993A DE19945993A DE19945993A1 DE 19945993 A1 DE19945993 A1 DE 19945993A1 DE 19945993 A DE19945993 A DE 19945993A DE 19945993 A DE19945993 A DE 19945993A DE 19945993 A1 DE19945993 A1 DE 19945993A1
Authority
DE
Germany
Prior art keywords
data
command
write
host
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.)
Granted
Application number
DE19945993A
Other languages
English (en)
Other versions
DE19945993B4 (de
Inventor
Masaaki 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

Im Fall der Beendigung von Daten von Schreibbefehlen, die von einer Befehlsempfangseinheit und einer Datenempfangseinheit empfangen werden, bei der Vollendung des Schreibens von Daten auf ein Plattenmedium durch eine Mediumschreibeinheit, wenn der Datenempfang des Schreibbefehls, der ausgeführt wird, für eine Vielzahl von aufeinanderfolgend von einem Host erteilten Plattenschreibbefehlen vollendet ist, startet eine Vorabruf-Verarbeitungseinheit den Datenempfang des nächsten Schreibbefehls und ruft die Daten vorher ab, ohne auf die Vollendung des Schreibens von Daten auf das Plattenmedium zu warten.

Description

HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
Die vorliegende Erfindung bezieht sich auf eine Infor­ mationsspeichervorrichtung, wie ein Magnetplattenlaufwerk oder dgl., zum Schreiben von Daten, die durch einen Schreib­ befehl von einem Host auf ein Medium transferiert werden. Insbesondere betrifft die Erfindung eine Informationsspei­ chervorrichtung 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 einer als Festplatte bekannten Infor­ mationsspeichervorrichtung, wenn ein Host Daten auf die Festplatte schreibt, der Host einen Schreibbefehl, die Fest­ platte ersucht den Host, Daten zu generieren, ansprechend auf den Schreibbefehl, speichert die Daten in einen Daten­ puffer und schreibt die Daten auf ein Plattenmedium bei der Vollendung des Datenempfangs. Wenn das Schreiben der Daten auf das Plattenmedium vollendet ist, berichtet die Fest­ platte über einen Status, der ein Ausführungsergebnis des Schreibbefehls anzeigt, an den Host, und der Schreibbefehl wird vollendet. Im Schreibbefehl vom Host werden Informa­ tionen gezeigt, die eine Schreibstartadresse und die Anzahl von Schreibblöcken angeben. Ein Festplattenlaufwerk erkennt den Schreibbefehl durch eine MCU über eine Host-Schnitt­ stelle. Die Daten vom Host werden temporär in einen Daten­ puffer gespeichert und auf das Plattenmedium auf der Basis von Blockeinheiten geschrieben. Über den Status wird durch die folgenden zwei Verfahren berichtet:
  • A) ein Datenempfangsbefehl-Vollendungsverfahren zum Berichten über den Status zur Zeit der Vollendung des Daten­ empfangs und Vollenden des Schreibbefehls; und
  • B) 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 Vollen­ dung 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 Befehls­ vollendungsverfahren 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 aufeinanderfol­ gend erteilt wird, ordnet das Festplattenlaufwerk die Viel­ zahl der Befehle in die Reihenfolge ab dem Schreibbefehl mit einer kurzen Zugriffszeit vor der Ausführung der Vielzahl von Schreibbefehlen um, wodurch die Befehlsverarbeitungs­ fä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 Befehls­ prozeß verkürzt wird.
Ein Zweck des Vorabrufs von Daten beim Datenempfangs­ befehl-Vollendungsverfahren ist, daß alle oder ein Teil der Schreibdaten bereits im Datenpuffer vor der Vollendung der Bewegung des Kopfs zum Kopfsektor des erteilten Schreibbe­ fehls 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 Bewe­ gung 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 auf­ grund 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)
Fig. 1A und 1B zeigen einen Datenfluß, wenn Schreibbe­ fehle von zwei Blöcken vom Host erteilt werden, im Daten­ empfangsbefehl-Vollendungsverfahren zum Vollenden des Schreibbefehls an einem Punkt, wenn der Empfang der Schreib­ daten vollendet ist. Fig. 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 Vollen­ dung 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 Vorab­ rufdaten in den Datenpuffer gespeichert. Über einen Status STS2 wird bei der Vollendung des Datenempfangs berichtet, wodurch der Schreibbefehl CMD2 zur Zeit t4 vollendet ist.
Fig. 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 Schreib­ befehls leicht gestartet werden, und ein sogenannter Daten­ vorabruf kann durchgeführt werden. Wenn das Schreiben von Daten auf das Plattenmedium im Datenempfangsbefehl-Vollen­ dungsverfahren fehlschlägt, wird jedoch, da der Schreibbe­ fehl bereits beendet wurde, über einen Fehler im Vorabruf­ befehl an den Host berichtet, ohne daß der nächste Schreib­ befehl 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 fehl­ schlä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-Vollen­ dungsverfahren verwendet, bei dem der Host bestätigen kann, daß die Daten normal auf das Plattenmedium geschrieben wurden.
Fig. 2A und 2B zeigen einen Datenfluß, wenn Schreibbe­ fehle von zwei Blöcken vom Host erteilt werden, im Platten­ schreibbefehl-Vollendungsverfahren zum Vollenden eines Befehls bei der Vollendung des Schreibens von Daten auf die Platte. Fig. 2A zeigt eine Host-Schnittstelle. Die beiden Schreibbefehle CMD1 und CMD2, die Daten von zwei Blöcken be­ zeichnen, werden aufeinanderfolgend erteilt. Wenn der Emp­ fang 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 Schreib­ befehls CMD1 und speichert sie in den Datenpuffer. Fig. 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 Schreib­ befehl 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. An­ schließend werden die Daten D21 und D22 durch den Schreibbe­ fehl 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 (Fest­ plattenlaufwerk 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 Nachteil, 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ührungs­ reihenfolge)
Wie in Fig. 1A und 1B gezeigt, besteht im Fall des Vor­ abrufs von Daten im Datenempfangsbefehl-Vollendungsver­ fahren, 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 Aus­ führung der Befehle gestartet wird. Wenn die Ausführungs­ reihenfolge 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 Fig. 2A und 2B gezeigt, werden, wenn die Daten im Mediumschreibbefehl-Vollendungsverfahren nicht vorher abge­ rufen 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 Fig. 2A und 2B gezeigt, besteht jedoch, wenn der Datenvorabruf gemäß dem Datenempfangsbefehl-Vollendungsver­ fahren 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.
ZUSAMMENFASSUNG DER ERFINDUNG
Gemäß der Erfindung ist eine Informationsspeichervor­ richtung vorgesehen, bei welcher 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 eine Informationsspeichervor­ richtung vorgesehen, bei welcher 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 eine Informationsspeichervor­ richtung vorgesehen, bei welcher ein von einem Host erteil­ ter Schreibbefehl durch die Vollendung des Schreibens von Daten auf ein Medium beendet wird, mit: einer Befehlsemp­ fangseinheit zum Empfangen einer Vielzahl von Schreibbefeh­ len, die aufeinanderfolgend vom Host erteilt werden, und Speichern dieser in eine Befehlswarteschlange; einer Daten­ empfangseinheit zum Empfangen von Daten vom Host durch das Ausführen des Schreibbefehls von einer Kopfposition in der Befehlswarteschlange und Speichern dieser in einen Daten­ puffer; einer Mediumschreibeinheit zum Starten des Schrei­ bens der Empfangsdaten auf das Medium bei der Vollendung des Datenempfangs durch die Datenempfangseinheit; einer Status­ berichtseinheit 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äß der Informationsspei­ chervorrichtung 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 er­ halten werden.
Der Datenempfang der Schreibbefehle nach dem Schreibbe­ fehl, der ausgeführt wird, wird als "Vorabruf" von Daten definiert, und der Schreibbefehl, in dem der Datenvorabruf ausführt, ist als "Vorabruf-Schreibbefehl" definiert.
Die Informationsspeichervorrichtung 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 Medium­ schreibzeiger 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 Statusbe­ richtszeiger 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 Daten­ empfangszeiger P2 wird bei der Vollendung des Datenempfangs durch die Datenempfangseinheit weitergerückt. Der Medium­ schreibzeiger P3 wird bei der Vollendung des Mediumschrei­ bens durch die Mediumschreibeinheit weitergerückt. Ferner wird der Statusberichtszeiger P4 bei der Vollendung des Statusberichts durch die Statusberichtseinheit weiterge­ rückt. Der Folgebefehlsempfangszeiger P1, der Datenempfangs­ zeiger P2, der Mediumschreibzeiger P3 und der Statusbe­ richtszeiger P4 sind sequentiell angeordnet. Wann immer jeder Zeiger weiterrückt, wird der durch den weitergerückten Zeiger gezeigte Prozeß ausgeführt.
Die Informationsspeichervorrichtung der Erfindung hat eine Optimierungsverarbeitungseinheit zum Umordnen der Aus­ führungsreihenfolge einer Vielzahl von Vorabruf-Schreibbe­ fehlen 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-Schreibbe­ fehlen, in jedem von welchen die Vorabrufdaten bereits emp­ fangen 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 Vorabruf­ daten eine Gegenmaßnahme verwendet, so daß eine Hochlei­ stungs-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 Vorab­ ruf-Schreibbefehle ohne die Verwendung teurer Hardware ver­ bessert werden.
Gemäß der Informationsspeichervorrichtung 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 Teilbe­ reich eines spezifischen Pufferbereichs für jeden Schreibbe­ fehl 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 aufeinander­ folgend vom Host erteilten Schreibbefehlen in der Befehls­ warteschlange gespeichert wird, kann der spezifische Puffer­ bereich in Teilbereiche geteilt werden, und in Übereinstim­ mung 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 Be­ reichen gespeicherten Vorabrufdaten zu zerstören.
Eine weitere Ausführungsform der Erfindung bezieht sich auf eine Informationsspeichervorrichtung, bei welcher ein von einem Host erteilter Schreibbefehl durch die Vollendung des Datenempfangs vom Host beendet wird. Die Informations­ speichervorrichtung eines derartigen Datenempfangsbefehl- Vollendungsverfahrens umfaßt: eine Befehlsempfangseinheit zum Empfangen einer Vielzahl von Schreibbefehlen, die auf­ einanderfolgend von einem Host erteilt werden, und Speichern dieser in eine Befehlswarteschlange; eine Datenempfangs­ einheit zum Empfangen von Daten durch die Ausführung des Schreibbefehls von der Kopfposition der Befehlswarteschlange und Speichern dieser in einen Datenpuffer; eine Statusbe­ richtseinheit zum Berichten über einen Status an den Host bei der Vollendung des Datenempfangs durch die Datenemp­ fangseinheit, 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-Schreib­ befehlen 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-Schreibbe­ fehlen, in denen die Vorabrufdaten bereits empfangen wurden, in der Befehlswarteschlange existiert. Die Optimierungsver­ arbeitungseinheit ermittelt eine Zugriffszeit des Vorabruf- Schreibbefehls als Zeit, die ab der Vollendung des Schrei­ bens von Daten auf das Medium des vorhergehenden Schreibbe­ fehls 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 Vor­ abruf-Schreibbefehlen mit empfangenen Daten in der Befehls­ warteschlange existiert, kann durch die Änderung der Aus­ führungsreihenfolge der Vorabruf-Schreibbefehle in die Rei­ henfolge ab dem Vorabruf-Schreibbefehl, in dem die Zugriffs­ zeit kurz ist, wie oben angegeben, die Befehlsverarbeitungs­ fähigkeit verbessert werden. Gemäß der Informationsspeicher­ vorrichtung werden, wenn der Datenpuffer in eine Vielzahl von Bereichen geteilt wird, und eine Vielzahl von aufeinan­ derfolgend vom Host erteilten Schreibbefehlen in die Be­ fehlswarteschlange gespeichert wird, ein Pufferbereich, der vom Schreibbefehl während des Schreibens von Daten auf die Platte verwendet wird, und ein Pufferbereich, der vom Vor­ abruf-Schreibbefehl verwendet wird, identisch gemacht. Wenn beispielsweise der Datenpuffer in eine Vielzahl von Berei­ chen 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 Teilbe­ reich im spezifischen Pufferbereich für jeden Schreibbefehl während des Schreibens von Daten auf die Platte und den Vor­ abruf-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 Befehlswarte­ schlange gespeichert wird, kann der spezifische Pufferbe­ reich 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 de­ taillierte Beschreibung mit Bezugnahme auf die Zeichnungen besser verständlich.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1A und 1B sind Zeitdiagramme für einen Schreib­ zustand einer herkömmlichen Vorrichtung, bei der ein Befehl durch die Vollendung des Datenempfangs von einem Host be­ endet wird;
Fig. 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;
Fig. 3 ist ein Blockbild eines Festplattenlaufwerks, bei dem die Erfindung verwendet wird;
Fig. 4 ist ein Blockbild eines Festplattenkontrollers in Fig. 3;
Fig. 5 ist ein funktionelles Blockbild einer Ausfüh­ rungsform der Erfindung, bei der ein Befehl von einem Host durch die Vollendung des Schreibens von Daten auf eine Platte beendet wird;
Fig. 6 ist eine erläuternde Formatdarstellung von Befehlen, die in der Erfindung verwendet werden;
Fig. 7 ist eine erläuternde Formatdarstellung von Zuständen, die in der Erfindung verwendet werden;
Fig. 8A und 8B sind erläuternde Darstellungen einer Be­ fehlswarteschlange und einer Zeigertabelle, die in einem Steuerspeicher in Fig. 5 vorgesehen sind;
Fig. 9 ist eine erläuternde Darstellung von Setzzustän­ den von Zeigern für die Befehlswarteschlange in Fig. 8A und 8B;
Fig. 10A und 10B sind Zeitdiagramme für einen Daten­ vorabrufprozeß gemäß der Ausführungsform von Fig. 5;
Fig. 11A bis 11E sind erläuternde Darstellungen der Be­ fehlswarteschlange und des Datenpuffers zu den Zeiten t1 bis t5 der Zeitdiagramme von Fig. 10A und 10B;
Fig. 12A und 12B sind Flußdiagramme für einen Schreib­ prozeß in Fig. 5 durch eine Zeigersteuerung;
Fig. 13A und 13B sind erläuternde Darstellungen eines Optimierungsprozesses von Schreibbefehlen mit vorher abge­ rufenen Daten;
Fig. 14 ist ein Flußdiagramm für einen Optimierungs­ prozeß eines Vorabruf-Schreibbefehls;
Fig. 15A und 15B sind erläuternde Darstellungen einer Konstruktion eines Datenpuffers zum Speichern von Vorab­ rufdaten; und
Fig. 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
Fig. 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-Kon­ troller 10 hat: eine MCU 16; einen Flash-Speicher 18, der als Steuerspeicher verwendet wird; einen Programmspeicher 20, in dem ein Steuerprogramm gespeichert wurde; einen Fest­ plattenkontroller 22; und einen Datenpuffer 24. Der Lauf­ werkskontroller 12 hat: eine Laufwerksschnittstellenlogik 26; einen DSP 28; eine Lese/Schreib-LSI 20; eine Servo­ demodulationseinheit 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 Sektorposi­ tionen 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 vorherbestimm­ ten 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 transfe­ rieren. 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 Sektorposi­ tion auf der Magnetplatte 40-1 beispielsweise vom Kombina­ tionskopf 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 bezeichne­ ten 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 Festplatten­ kontroller 22.
Fig. 4 ist ein Blockbild einer internen Konstruktion des Festplattenkontrollers 22 in Fig. 3. Der Festplattenkontrol­ ler 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 Ver­ binden mit der Laufwerks-I/F-Logik 26 in Fig. 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 ge­ sendet, und in eine Befehlswarteschlange im Flash-Speicher 18 gespeichert. Schreibdaten, die vom Host durch die Ausfüh­ rung 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ß unter­ worfen, um sie auf die Magnetplatte zu schreiben. Gleich­ zeitig 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 Leseopera­ tionen von Daten in den Datenpuffer 24 bzw. aus diesem werden vom Pufferkontroller 50 gesteuert. Ferner wird das Schreiben der Schreibdaten, die aus dem Datenpuffer ausge­ lesen werden, auf die Platte über den Platten-Port vom Datenflußkontroller 48 gesteuert.
Fig. 5 ist ein funktionelles Blockbild in der Ausfüh­ rungsform der Informationsspeichervorrichtung gemäß der Er­ findung. Diese Informationsspeichervorrichtung 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 Vorabruf­ daten vom Host durch die Ausführung des nächsten Schreib­ befehls 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. Die Informationsspeichervorrichtung umfaßt: eine Befehlsempfangseinheit 66, eine Datenempfangs­ einheit 68, eine Mediumschreibeinheit 70, eine Statusbe­ richtseinheit 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 Fig. 3 realisiert wird. Die Befehlsempfangs­ einheit 66 empfängt eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen und speichert sie in die Be­ fehlswarteschlange 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.
Fig. 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 ge­ setzt wird, ist es ein Schreibbefehl von "erweitertes Schreiben". Es ist möglich, das Schreiben von Daten zu be­ zeichnen, wobei eine willkürliche Anzahl von Blöcken vor­ liegt, die durch eine Transferdatenlänge gezeigt wird, welche durch das vierte Byte vom durch das erste, zweite und dritte Byte bezeichneten Logikblock bezeichnet wird.
Fig. 7 ist eine erläuternde Formatdarstellung von Zu­ ständen, über die dem Host bei der Vollendung des Schreibens von Daten auf das Plattenmedium berichtet wird. Dieser Sta­ tus ist Statusinformationen von einem Byte. Fünf Bits des ersten bis fünften Bits werden für einen Statusbytecode ver­ wendet. Es gibt: einen Gut-Status, in dem die Befehlsausfüh­ rung 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 beleg­ ten Zustand befindet, und der Befehl inakzeptabel ist; einen Zwischen/Gut-Status, der das normale Ende eines Verbindungs­ instruktionsbefehls zeigt; einen Reservierungs/Konfliktsta­ tus, 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 Be­ fehlswarteschlange gibt, und kein Befehl in der Befehlswar­ teschlange registriert werden kann; und dgl.
Fig. 8A und 8B sind erläuternde Darstellungen der Be­ fehlswarteschlange 76 und Zeigertabelle 78, die im Flash- Speicher 18 als Steuerspeicher in Fig. 5 vorgesehen sind.
Fig. 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 Fig. 6 aufweist, in der Befehls­ warteschlange gespeichert wurden. Die Zeigertabelle 78 von Fig. 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 Be­ fehls für die Befehlswarteschlange 76 zeigt; den Datenemp­ fangszeiger P2, der einen Befehl, welcher den Start des Datenempfangs vom Host angibt, oder einen Befehl zeigt, der angibt, daß die Daten empfangen werden; den Mediumschreib­ zeiger 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 Befehlswarte­ schlange 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 Befehlsemp­ fangseinheit 66 weiter. Der Datenempfangszeiger P2 rückt bei der Vollendung des Datenempfangs durch die Datenempfangsein­ heit 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 Statusbe­ richtszeiger 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 Zei­ ger gezeigte Prozeß ausgeführt.
Die Beziehung der Zeigertabelle 78 für die Befehlswar­ teschlange 76 in Fig. 8A kann wie in Fig. 9 gezeigt ausge­ drückt werden. Die Zeiger P1, P2, P3 und P4 werden wie in Fig. 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 Fig. 8B gezeigt gesetzt werden. Im Fall des Schreibens von Daten kann der Zeiger in Übereinstimmung mit der folgenden Reihenfolge weiterrücken:
  • A) Folgebefehlsempfangszeiger P1
  • B) Datenempfangszeiger P2
  • C) Mediumschreibzeiger P3
  • D) Statusberichtszeiger P4
Da der davor lokalisierte Zeiger weiterrückt, kann daher der durch diesen Zeiger gezeigte Prozeß ausgeführt werden. Im Fall von Fig. 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 aus­ geführt wird. Der Schreibbefehl CMD3, in dem der Datenemp­ fangszeiger P2 gesetzt wurde, gibt an, daß der Empfang der Daten vom Host gestartet wird oder ausgeführt wird. In der Informationsspeichervorrichtung der Erfindung wird durch die Setzsteuerung der Zeiger P1 bis P4 für die Befehlswarte­ schlange 76, wie oben angegeben, der Schreibprozeß reali­ siert, der den Datenvorabruf enthält, wenn eine Vielzahl von aufeinanderfolgend vom Host erteilten Schreibbefehlen ausge­ führt wird.
Fig. 10A und 10B sind Zeitdiagramme für den Schreibpro­ zeß durch die im funktionellen Block in Fig. 5 gezeigte In­ formationsverarbeitungsvorrichtung der Erfindung. Fig. 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 t vollendet ist, wird der Transfer der Daten D11 und D12 des Schreibbefehls CMD1 an­ schließend vom Host angefordert. Der Empfang der Daten D11 und D12 wird zur Zeit t2 beendet. In der Plattenschnitt­ stelle in Fig. 10B wird, nachdem die Schreibbefehle CMD1 und CMD2 vom Host zur Zeit t1 empfangen wurden, eine Kopfbewe­ gung 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 gespei­ chert werden, auf die Platte zur Zeit t2 geschrieben. Paral­ lel zum Schreiben der Daten D11 und D12 auf die Platte er­ sucht die Vorabruf-Verarbeitungseinheit 74 in Fig. 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 ge­ startet. Die empfangenen Daten D21 und D22 werden als Vorab­ rufdaten auf die Platte durch die Vollendung der Kopfbewe­ gung geschrieben, und über den Status wird berichtet. In der Informationsspeichervorrichtung 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, paral­ lel 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.
Fig. 11A bis 11E zeigen zeitsequentiell eine Zeigerein­ stellung für die Befehlswarteschlange 76 im Schreibprozeß in Fig. 10A und 108 sowie Zustände des Datenpuffers 24. Fig. 11A entspricht der Zeit t1 in Fig. 10A und 10B, und zeigt einen Zustand, wo der Folgebefehlsempfangszeiger P1 bei der Voll­ endung des Empfangs des Schreibbefehls CMD2 um "1" weiter­ rückt, und die nächste Befehlsspeicherposition ist gezeigt. In diesem Fall werden im Datenpuffer 24 keine Daten empfan­ gen. Fig. 11B entspricht der Zeit t2 in Fig. 10A und 10B, und zeigt einen Zustand, wo der Datenempfangszeiger P2 bei der Vollendung des Empfangs der Daten D11 und D12 des Schreibbe­ fehls 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 gespei­ chert, der aktuell durchgeführt wird. Fig. 11C entspricht der Zeit t3 in Fig. 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 Schreibbe­ fehls CMD2 im Datenpuffer 24 gespeichert. Fig. 11D entspricht der Zeit t4 in Fig. 10A und 10B, und zeigt einen Zustand zur Zeit t4, wenn der Vorabruf der Daten D21 und D22 des näch­ sten Schreibbefehls CMD2 vollendet wurde. Da der Datenemp­ fang des nächsten Schreibbefehls CMD2 in diesem Fall voll­ endet 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 Statusbe­ richtszeiger P4 wird in den Schreibbefehl CMD1 gesetzt, und der Mediumschreibzeiger P3 wird in den nächsten Schreibbe­ fehl CMD2 gesetzt. Da die Schnittstelle mit dem Host auf­ grund 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 Statusberichtszei­ gers P4 berichtet. Gleichzeitig werden die Daten D21 und D22 auf die Platte durch die Ausführung des Schreibbefehls CMD2 durch den Mediumschreibzeiger P3 geschrieben. Fig. 11E zeigt einen Zustand, in dem der Bericht des Status STS1 des Schreibbefehls CMD1 zur Zeit t5 in Fig. 10A und 10B vollendet wurde. In diesem Fall rückt der Statusberichtszeiger P4 um "1" weiter, und wird an die gleiche Position des Schreibbe­ fehls CMD2 gesetzt wie jene des Mediumschreibzeigers P3. Über den Status des Schreibbefehls CMD2 wird vom Statusbe­ richtszeiger 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.
Fig. 12A und 12B sind Flußdiagramme für einen Schreib­ prozeß unter Verwendung der Zeiger P1 bis P4 in der Zeiger­ tabelle 78 in der Ausführungsform von Fig. 5. Der Schreibpro­ zeß wird durch jede von einer Befehlsempfang-Vollendungs­ unterbrechung in Schritt S1, einer Host-Datenempfang-Vollen­ dungsunterbrechung in Schritt S3, einer Datenschreib-Vollen­ dungsunterbrechung in Schritt S5, und einer Statusbericht- Vollendungsunterbrechung in Schritt S7 aktiviert. Wenn in irgendeinem der Schritte S1, S3, S5 und S7 eine Unterbre­ chung auftritt, wird, wie in den Schritten S2, S4, S6 und S8 gezeigt, jeder des Folgebefehlsempfangszeigers P1, Datenemp­ fangszeigers P2, Mediumschreibzeigers P3 und Statusberichts­ zeigers P4 um "1" hochgezählt, wodurch die bezeichnete Posi­ tion für die Befehlswarteschlange weitergerückt wird. Die Prozesse gemäß dem Flußdiagramm von Fig. 12A und 12B werden nun wie folgt in bezug auf den Fall beschrieben, wo die beiden Schreibbefehle CMD1 und CMD2, die in Fig. 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 Fig. 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 be­ steht. Da die Zeiger P1 und P2 die verschiedenen Positionen angeben, wie in Fig. 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 Fig. 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 Fig. 10A und 10B vollendet ist, wird die Host-Datenempfang- Vollendungsunterbrechung in Schritt S3 in Fig. 12A erhalten. Der Datenempfangszeiger P2 rückt in Schritt S4 um "1" wei­ ter. So wird der Zeigersetzzustand für die Befehlswarte­ schlange 76 in Fig. 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 Fig. 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 Fig. 11B gezeigt, können in diesem Fall die Daten ge­ schrieben werden, und das Schreiben der bereits empfangenen Daten D11 und D12 auf die Platte wird in Schritt S14 akti­ viert.
Wenn das Schreiben der Daten D11 und D12 auf die Platte zur Zeit t3 in Fig. 10A und 10B vollendet ist, wird die Datenschreib-Vollendungsunterbrechung in Schritt S5 in Fig. 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 Fig. 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 Fig. 11c gezeigt, wird in diesem Fall das Vorliegen des Sta­ tusberichts bestimmt, und es folgt Schritt S15. In Schritt S15 erfolgt eine Prüfung, um zu sehen, ob das Festplatten­ laufwerk selbst den Hostbus verwendet. Da der Hostbus die Daten D22 des Schreibbefehls CMD2 empfängt, und zur Zeit t3 in Fig. 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 S13 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 Fig. 11C gezeigt, die Daten nicht ge­ schrieben 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 Fig. 10A und 10B vollendet ist, wird nun die Host-Datenempfangs-Vollendungsunterbrechung in Schritt S3 in Fig. 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 Fig. 11D erhalten. An­ schließend folgt Schritt S9, und das Vorliegen des Statusbe­ richts wird entschieden. Es folgt Schritt S15. Da der Daten­ empfang 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 Posi­ tionen existieren, wie in Fig. 11D gezeigt, können zu dieser Zeit die Daten in bezug auf den Schreibbefehl CMD2 geschrie­ ben werden, in dem der Zeiger P3 gesetzt wurde. Das Schrei­ ben 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 Fig. 10A und 10B vollendet ist, wird in Schritt S7 in Fig. 12A und 12B die Statusbericht-Vollendungsunterbrechung erhalten. Der Status­ berichtszeiger P4 rückt in Schritt S8 um "1" weiter, so daß der Zeigersetzzustand für die Befehlswarteschlange 76 in Fig. 11E erhalten wird. Anschließend folgt Schritt S9, und das Vorliegen oder Fehlen des Statusberichts wird diskrimi­ niert. 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 Zei­ ger 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 Datenschreibaktivie­ rung in Schritt S14 nicht durchgeführt. Eine Serie von Pro­ zessen wird beendet.
Fig. 13A und 13B sind erläuternde Darstellungen des Optimierungsprozesses des Vorabruf-Schreibbefehls. Fig. 13A zeigt einen Speicherzustand der Befehlswarteschlange 76. In diesem Fall ist ein Zustand gezeigt, wo sieben Schreibbe­ fehle 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 CMD5 vor dem Schreibbe­ fehl 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 Kopfschreib­ befehl CMD1 betrifft, werden die Daten vom Zeiger P3 auf die Platte geschrieben. Das heißt, die entsprechenden Schreibbe­ fehle 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 Hast 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 Reihen­ folge ab dem Schreibbefehl umgeordnet, in dem die Zugriffs­ zeit 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 Fig. 13B gezeigt aus­ getauscht. Nach dem Ende des Schreibens des Schreibbefehls CMD1 auf die Platte wird das Schreiben des Schreibbefehls CMD4 auf die Platte beendet.
Fig. 14 ist ein Flußdiagramm für einen Vorabruf-Schreib­ befehl-Optimierungsprozeß in der Informationsspeichervor­ richtung der Erfindung. Zuerst wird in Schritt S1 eine Win­ keldifferenz θ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 Suchvorher­ sagezeit 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 Suchvorhersage­ zeit ts berechnet wird, gleich der oder kleiner als die Win­ keldifferenz θt zwischen der Sektorendposition und der näch­ sten Sektorstartposition ist, wird die Suchoperation voll­ endet, 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 Sektor­ kopfposition, 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 Sektorstart­ position gleich dem oder größer als der Drehwinkel θs an der nächsten Sektorkopfposition ist, die aus der Suchvorhersage­ zeit 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 Suchvorhersage­ zeit ts addiert wird. Wenn die Winkeldifferenz θt hingegen kleiner ist als der Drehwinkel θs, der aus der Suchvorher­ sagezeit ts erhalten wird, folgt Schritt S6. Eine Zugriffs­ zeit 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 Aus­ führung des Schreibens eines bestimmten Schreibbefehls auf die Platte in bezug auf den Vorabrufbefehl mit vorher abge­ rufenen 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 ver­ bessert werden kann.
Fig. 15A und 15B sind erläuternde Darstellungen der Seg­ mentteilung des Datenpuffers, der in der Informationsspei­ chervorrichtung der Erfindung verwendet wird. Im Datenpuffer 24 in Fig. 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 unter­ teilt, 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, ver­ wendet, und die Teilsegmente 84-1 bis 84-8 werden indivi­ duell in bezug auf jeden Schreibbefehl verwendet. Eine Teil­ segmentgröße wird vom Empfang im ersten Schreibbefehl ent­ schieden. 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 Fig. 15A zusätzlich zum ersten Schreibbe­ fehl die Daten der sieben Schreibbefehle anschließend in bezug auf das Segment 82-1 vorher abgerufen werden. Spezi- fisch ausgedrückt wird das freie Teilsegment gesucht, bevor der Datenvorabruf ausgeführt wird, und das für die Befehls­ informationen zu verwendende Teilsegment wird gesetzt. Beim Schreiben werden die Daten auf der Basis der Informationen des Teilsegments geschrieben.
Fig. 15B zeigt eine weitere Ausführungsform der Unter­ teilung der Teilsegmente für den Datenvorabruf des Daten­ puffers 24. Da in Fig. 15A die Teilsegmente in regelmäßigen Intervallen beim Datenempfang des ersten Schreibbefehls be­ stimmt 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 Fig. 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 Teil­ segment in Übereinstimmung mit der bezeichneten Blockgröße gesetzt wird, der Datenvorabruf durchgeführt werden. Bei­ spielsweise im Fall eines Segments 82-1 in Fig. 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 Teil­ segmente dynamisch gesichert werden.
Fig. 16 ist ein funktionelles Blockbild einer weiteren Ausführungsform der Informationsspeichervorrichtung der Er­ findung. Diese Ausführungsform ist dadurch gekennzeichnet, daß die Optimierung der Ausführungsreihenfolge und die Datenpufferteilung gemäß der Erfindung bei der Informations­ speichervorrichtung des Datenempfangsbefehl-Vollendungsver­ fahrens verwendet werden, so daß der vom Host erteilte Schreibbefehl durch die Vollendung des Datenempfangs vom Host beendet wird. Die Informationsspeichervorrichtung ist durch eine Befehlsempfangseinheit 100, eine Datenempfangs­ einheit 102, eine Mediumschreibeinheit 104 und eine Status­ berichtseinheit 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 Befehls­ warteschlange 76. Die Datenempfangseinheit 102 empfängt die Daten durch die Ausführung des Schreibbefehls von der Kopf­ position 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 Datenemp­ fangs vom Host durch die Datenempfangseinheit 102, wodurch der Schreibbefehl, der ausgeführt wird, beendet wird. Die Mediumschreibeinheit 104 startet das Schreiben der Empfangs­ daten auf das Medium bei der Vollendung des Datenempfangs vom Host durch die Datenempfangseinheit. Abgesehen von diesen ist in der Ausführungsform in Fig. 16 eine Optimie­ rungsverarbeitungseinheit 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-Schreib­ befehl mit der kürzesten Zugriffszeit um, wodurch sie optimiert wird. Spezifisch ausgedrückt, wird, wie in Fig. 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 Schreib­ endsektorposition des Schreibbefehls CMD1, durch den das Schreiben auf die Platte aktuell ausgeführt wird, die kürze­ ste 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 Fig. 13B gezeigt. Der Optimierungsprozeß des Vorabruf- Schreibbefehls wird in Übereinstimmung mit dem Flußdiagramm von Fig. 14 durchgeführt. Ferner wird in der Ausführungsform von Fig. 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 Fig. 15A gezeigt, oder ein Verfahren zum dynamischen Unter­ teilen des Segments in die Teilsegmente durch das Zuordnen der Kopfposition der Teilsegmente und der Anzahl von Blöcken bei jedem Schreibbefehl, wie in Fig. 15B gezeigt.
Gemäß der Erfindung wird, wie oben angegeben, in bezug auf die Vorrichtung, so daß der vom Host erteilte Schreibbe­ fehl 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 Schreib­ befehl 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 Zu­ griffszeit jedes Schreibbefehls, wenn eine Vielzahl von Schreibbefehlen aufeinanderfolgend erteilt wird, kurz ist, oder in dem Fall, wo eine Vielzahl von Informationsspeicher­ vorrichtungen mit dem Host verbunden sind. Die Informations­ speichervorrichtung 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 Vorab­ ruf-Schreibbefehl optimiert werden. Der Schreibprozeß mit höherer Leistung kann sowohl durch die Verbesserung der Leistung aufgrund des Datenvorabrufs als auch die Verbesse­ rung der Verarbeitungsleistung aufgrund der Optimierung der Befehlsausführungsreihenfolge realisiert werden.
Ferner werden als Verfahren zur Verwendung des Puffer­ bereichs im Fall eines Datenvorabrufs der Pufferbereich, der vom Schreibbefehl während des Schreibens auf die Platte ver­ wendet 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 Verschlech­ terung 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 Fig. 5 und das Verfahren zum Beenden des Schreibbe­ fehls durch den Statusbericht bei der Vollendung des Daten­ empfangs vom Host in Fig. 16 betrifft, sind Mittel wie ein Schalter zum Schalten und Setzen des Modus einer der beiden Befehlsbeendigungsverfahren für dieselbe Festplatte vorgese­ hen, wodurch die selektive Verwendung entweder der Ausfüh­ rungsform von Fig. 5 oder der Ausführungsform von Fig. 16, wenn notwendig, ermöglicht wird. Die Ausführungsform von Fig. 5 oder die Ausführungsform von Fig. 16 kann individuell für jedes Festplattenlaufwerk verwendet werden. Die vorlie­ gende Erfindung enthält verschiedene geeignete Modifika­ tionen, ohne von den Aufgaben und Vorteilen der Erfindung abzuweichen, und ist ferner nicht auf die in den Ausfüh­ rungsformen angegebenen Zahlenwerte beschränkt.

Claims (12)

1. Informationsspeichervorrichtung, bei welcher ein von einem Host erteilter Schreibbefehl durch die Vollendung des Schreibens von Daten auf ein Medium beendet wird, mit:
einer Befehlsempfangseinheit zum Empfangen einer Viel­ zahl von Schreibbefehlen, die aufeinanderfolgend vom Host erteilt werden, und Speichern dieser in eine Befehlswarte­ schlange;
einer Datenempfangseinheit 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 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 durch die Mediumschreibeinheit, wodurch der Schreibbefehl, der ausgeführt wird, beendet 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 Schreibbe­ fehls, ohne auf die Vollendung des Schreibens der Emp­ fangsdaten auf das Medium durch die Mediumschreibeinheit zu warten.
2. Vorrichtung nach Anspruch 1, bei welcher
ein Folgebefehlsempfangszeiger P1, der eine Speicher­ position 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 oder während des Schreibens der Daten zeigt, und ein Status­ berichtszeiger P4, der den Schreibbefehl zeigt, um über einen nächsten Status zu berichten, ferner für die Befehls­ warteschlange vorgesehen sind,
welcher Folgebefehlsempfangszeiger P1 bei der Vollen­ dung des Befehlsempfangs durch die Befehlsempfangseinheit weiterrückt, welcher Datenempfangszeiger P2 bei der Vollen­ dung des Datenempfangs durch die Datenempfangseinheit wei­ terrückt, welcher Mediumschreibzeiger P3 bei der Vollendung des Mediumschreibens durch die Mediumschreibeinheit weiter­ rückt, und ferner welcher Statusberichtszeiger P4 bei der Vollendung des Statusberichts durch die Statusberichtsein­ heit weiterrückt,
wobei die Zeiger in der Reihenfolge des Folgebefehls­ empfangszeigers P1, des Datenempfangszeigers P2, des Medium­ schreibzeigers P3 und des Statusberichtszeigers P4 angeord­ net sind, und, wann immer jeder Zeiger weiterrückt, ein durch den weitergerückten Zeiger gezeigter Prozeß ausgeführt wird.
3. Vorrichtung nach Anspruch 1, ferner mit einer Optimie­ rungsverarbeitungseinheit, 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-Schreib­ befehl mit einer kurzen Zugriffszeit umgeordnet wird, wodurch die Ausführungsreihenfolge optimiert wird.
4. Vorrichtung nach Anspruch 3, bei welcher die Optimie­ rungsverarbeitungseinheit 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. Vorrichtung nach Anspruch 1, bei welcher, 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 Mediumschreibens verwendet wird, und ein Pufferbereich, der vom Vorabruf-Schreibbefehl verwendet wird, identisch gemacht werden.
6. Vorrichtung nach Anspruch 5, bei welcher, wenn der Datenpuffer 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 Schreibbe­ fehls bestimmt wird, der zuerst gespeichert wurde, und die Vielzahl der vom Host aufeinanderfolgend erteilten Schreib­ befehle 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. Vorrichtung nach Anspruch 1, 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 Schreib­ befehlen in die Befehlswarteschlange gespeichert wird, ein spezifischer Pufferbereich in Teilbereiche in Überein­ stimmung mit einer Datengröße jedes Schreibbefehls während des Mediumschreibens und des Vorabruf-Schreibbefehls geteilt wird und verwendet wird.
8. Informationsspeichervorrichtung, bei welcher ein von einem Host erteilter Schreibbefehl durch die Vollendung des Datenempfangs vom Host beendet wird, mit:
einer Befehlsempfangseinheit zum Empfangen einer Viel­ zahl von Schreibbefehlen, die aufeinanderfolgend vom Host erteilt werden, und Speichern dieser in eine Befehlswarte­ schlange;
einer Datenempfangseinheit 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 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;
einer Mediumschreibeinheit zum Starten des Schreibens der Empfangsdaten auf das Medium bei der Vollendung des Datenempfangs durch die Datenempfangseinheit; und
einer 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 Viel­ zahl von Vorabruf-Schreibbefehlen in die Reihenfolge ab dem Vorabruf-Schreibbefehl mit einer kurzen Zugriffszeit, wodurch die Ausführungsreihenfolge optimiert wird.
9. Vorrichtung nach Anspruch 8, bei welcher die Optimie­ rungsverarbeitungseinheit 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. Vorrichtung nach Anspruch 8, bei welcher, 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 Mediumschreibens verwendet wird, und ein Pufferbereich, der vom Vorabruf-Schreibbefehl verwendet wird, identisch gemacht werden.
11. Vorrichtung nach Anspruch 10, bei welcher, wenn der Datenpuffer 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 Schreibbe­ fehls bestimmt wird, der zuerst gespeichert wurde, und die Vielzahl der vom Host aufeinanderfolgend erteilten Schreib­ befehle 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.
12. Vorrichtung nach Anspruch 8, bei welcher, wenn der Datenpuffer in eine Vielzahl von Bereichen geteilt wird, die jeweils eine vorherbestimmte Größe aufweisen, und eine Viel­ zahl von aufeinanderfolgend vom Host erteilten Schreibbe­ fehlen in die Befehlswarteschlange gespeichert wird, ein spezifischer Pufferbereich in Teilbereiche in Überein­ stimmung 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 true DE19945993A1 (de) 2000-09-14
DE19945993B4 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230297262A1 (en) * 2022-03-16 2023-09-21 Kioxia Corporation Memory system and control method

Families Citing this family (18)

* 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 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템
CN118426711B (zh) * 2024-07-05 2024-09-06 合肥康芯威存储技术有限公司 一种存储设备及其控制方法

Family Cites Families (10)

* 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
JP2905373B2 (ja) * 1993-10-01 1999-06-14 富士通株式会社 ディスク制御装置及びその制御方法
US5841598A (en) * 1994-10-28 1998-11-24 Olympus Optical Co., Ltd. Information recording/reproducing apparatus and data processing method
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230297262A1 (en) * 2022-03-16 2023-09-21 Kioxia Corporation Memory system and control method
US12079499B2 (en) * 2022-03-16 2024-09-03 Kioxia Corporation Managing superblock writes using data transfer lists

Also Published As

Publication number Publication date
JP3745552B2 (ja) 2006-02-15
KR100327182B1 (ko) 2002-03-13
JP2000250715A (ja) 2000-09-14
DE19945993B4 (de) 2005-08-04
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.
DE68929229T2 (de) Steuergerät mit einem Cache-Speicher und Verfahren zur Steuerung des Cache-Speichers
DE69706693T2 (de) Verfahren und vorrichtung für mehrere kontexte in speicheruntersystemzieleinrichtungen
DE69807101T2 (de) Segmentiertes dma mit xor-puffer für speicheruntersysteme
DE102011086098B4 (de) Parallele Speicherlese- und Speicherschreib-Operationen in einem Speicher mit serieller Schnittstelle
US5729718A (en) System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering
DE3851730T2 (de) Cachespeicherverwaltung für ein peripheres Ratenspeichersubsystem.
DE60033994T2 (de) Verfahren und System zur Ausgabe an und zum Ordnen von Befehlen in einem Festplattenlaufwerk
DE69535330T2 (de) Caching-System mit Explitzer Folgeliste
DE2921387C2 (de) Verfahren zum Austauschen von Informationen zwischen einer Datenverarbeitungsanlage und einem Magnetplattenspeicher
DE69117371T2 (de) Hintergrund-Plattenoberflächenanalyse durch eine Steuerung für intelligente Speicherplattenanordnung ausgeführt
DE10084484C2 (de) Drehoptimierte Suchinitiierung
DE69522318T2 (de) System und verfahren zum kodieren einer servoadresse
DE3935235A1 (de) Speicherungsverfahren fuer microcomputersysteme
EP0471434B1 (de) Verfahren und Einrichtung zur Steuerung eines Mehrsegment-Cache-Speichers
DE60008148T2 (de) System und verfahren zum abrollen von schleifen in einem trace-cache
DE3810233A1 (de) Verfahren zur behandlung von sektorenfehlern in plattenspeichern
DE19914730A1 (de) Verfahren zum Verhindern eines Datenübertrags an beschädigte Adressen
DE4029980A1 (de) On-line-umspeichersystem und platten-untersystem
DE10050171B4 (de) Verfahren zur Steuerung von Cache-Speichern
DE69706727T2 (de) Datenblockanordnung mit frei wählbar angeordneten Blöcken auf einem Magnetband
DE112020004007B4 (de) Beheben von lesefehlern in einem bandlaufwerk
DE112011102139B4 (de) Bandspeichereinheit und Schreibverfahren dafür
DE69126108T2 (de) Rotierende Speicheranordnung

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