DE19945993A1 - Informationsspeichervorrichtung - Google Patents
InformationsspeichervorrichtungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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)
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 |
-
1999
- 1999-02-26 JP JP04961399A patent/JP3745552B2/ja not_active Expired - Fee Related
- 1999-08-17 US US09/376,028 patent/US6389508B1/en not_active Expired - Lifetime
- 1999-08-17 KR KR1019990033904A patent/KR100327182B1/ko not_active IP Right Cessation
- 1999-09-24 DE DE19945993A patent/DE19945993B4/de not_active Expired - Fee Related
Cited By (2)
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 |