DE4039891A1 - Verfahren und vorrichtung zur cachespeichersteuerung - Google Patents
Verfahren und vorrichtung zur cachespeichersteuerungInfo
- Publication number
- DE4039891A1 DE4039891A1 DE4039891A DE4039891A DE4039891A1 DE 4039891 A1 DE4039891 A1 DE 4039891A1 DE 4039891 A DE4039891 A DE 4039891A DE 4039891 A DE4039891 A DE 4039891A DE 4039891 A1 DE4039891 A1 DE 4039891A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- record
- written
- field
- cache memory
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Description
Die vorliegende Erfindung betrifft ein Verfahren zur
Cachespeichersteuerung, mit dem der Prozeß des Schreibens
von Daten von einer Datenverarbeitungseinheit in eine
Speichereinheit bei Verwendung eines Cachespeichers be
schleunigt werden kann, und eine Vorrichtung zur Cache
speichersteuerung, mit der das genannte Verfahren zur
Cachespeichersteuerung ausgeführt werden kann.
Für Datenverarbeitungssysteme, die eine Datenverarbei
tungseinheit, eine Steuereinheit für einen Cachespeicher
und eine Speichereinheit, die jeweils miteinander verbun
den sind, umfassen, ist beispielsweise in JP 55-1 57 053-A
die Verwendung eines Verfahrens zum Steuern des Schreib
prozesses von Daten von der Datenverarbeitungseinheit in
die Speichereinheit vorgeschlagen worden.
Gemäß einem ersten Steuerverfahren, wie es im betreffen
den Stand der Technik beschrieben ist, wird von der Da
tenverarbeitungseinheit ein Schreibprozeß beendet, wenn
Daten in einen Cachespeicher geschrieben worden sind. Die
im Cachespeicher gespeicherten Daten werden später zu ei
nem geeigneten Zeitpunkt in die Speichereinheit geschrie
ben. Dieser Schreibprozeß wird Schreibverzögerungsprozeß
genannt. Daten, die in den Cachespeicher und anschließend
nicht sofort in die Speichereinheit geschrieben werden,
werden Schreibverzögerungsdaten genannt. In der erwähnten
Anmeldung JP 55-1 57 053-A wird jedoch die Technik, gemäß
der die von der Datenverarbeitungseinheit empfangenen Da
ten in die Speichereinheit geschrieben werden, nicht im
einzelnen offenbart.
Gemäß einem zweiten Steuerverfahren wird der Schreibpro
zeß von der Datenverarbeitungseinheit nur dann beendet,
wenn Daten in die Speichereinheit geschrieben worden
sind.
Gemäß einem dritten Steuerverfahren werden Schreibdaten,
die von der Datenverarbeitungseinheit geliefert werden,
in permanente Schreibdaten und in temporäre Schreibdaten
klassifiziert. Der Schreibprozeß für die permanenten
Schreibdaten wird von der Datenverarbeitungseinheit nur
dann beendet, wenn die Daten in die Speichereinheit ge
schrieben worden sind. Andererseits wird der Schreibpro
zeß für die temporären Daten von der Datenverarbeitungs
einheit dann beendet, wenn die Daten in den Cachespeicher
geschrieben worden sind, wobei die temporären Daten nie
mals in die Speichereinheit geschrieben werden.
Von den drei erwähnten Steuerverfahren verwendet das
zweite Steuerverfahren keinen Cachespeicher, vielmehr
greift es direkt auf die Speichereinheit zu. Obwohl das
dritte erwähnte Steuerverfahren einen Cachespeicher ver
wendet, ist der Nutzungsgrad dieses Cachespeichers stark
begrenzt. Daher stellt im wesentlichen nur das erste er
wähnte Steuerverfahren ein Cachespeicher-Steuerverfahren
dar, mit dem der Schreibprozeß beschleunigt werden kann.
Es ist jedoch schwierig, dieses erste Cachespeicher-Steu
erverfahren zum Schreiben von Daten von der Datenverar
beitungseinheit in einen Datensatz in der Speichereinheit
zu verwenden, wenn die Daten zu diesem Zeitpunkt nicht im
Cachespeicher gespeichert sind.
Der Grund hierfür liegt darin, daß in dem Fall, in dem
zum Zeitpunkt des Schreibens von Daten von der Datenver
arbeitungseinheit in die Speichereinheit der entspre
chende Datensatz nicht im Cachespeicher gespeichert ist,
die Möglichkeit besteht, daß der Datensatz, dessen Daten
satznummer von der Seite der Datenverarbeitungseinheit
bestimmt wird, nicht in der Speichereinheit gespeichert
wird. Wenn ferner die Speichereinheit das Duplikat eines
Datensatzes, dessen Datensatznummer von der Seite der Da
tenverarbeitungseinheit bestimmt wird, speichert, ist es
nicht möglich zu entscheiden, in welchen Datensatz die
Daten geschrieben werden sollen, wodurch ein korrekter
Schreibverzögerungsprozeß verhindert wird.
Somit kann das obige Cachespeicher-Steuerverfahren kaum
verwendet werden, falls ein zu schreibender Datensatz zum
Zeitpunkt des Schreibens von Daten von der Datenverarbei
tungseinheit nicht im Cachespeicher gespeichert ist. Da
her ist hier die Beschleunigung des Schreibprozesses un
möglich.
Aus JP 59-1 35 563-A ist eine Technik für eine mit einem
Cachespeicher und einem nichtflüchtigen Speicher verse
hene Plattenspeicher-Steuervorrichtung bekannt. In dieser
Technik schreibt die Plattenspeicher-Steuervorrichtung
die von einer Datenverarbeitungseinheit empfangenen Daten
sowohl in den Cachespeicher als auch in den nichtflüchti
gen Speicher. Wenn der Cachespeicher ausfällt, bevor die
in ihm befindlichen Schreibverzögerungsdaten in die Plat
tenspeichereinheit geschrieben worden sind, sind die Da
ten im nichtflüchtigen Speicher gesichert. Damit kann ein
hoch zuverlässiger Schreibverzögerungsprozeß verwirklicht
werden. Es wird jedoch dabei dem Fall keine Beachtung ge
schenkt, in dem ein Datensatz, für den die Datenverarbei
tungseinheit die Schreibanforderung ausgibt, nicht im Ca
chespeicher vorhanden ist.
Wie oben beschrieben, kann mit dem herkömmlichen Cache
speicher-Steuerverfahren der Schreibprozeß beschleunigt
werden, sofern ein den Daten von der Datenverarbeitungs
einheit entsprechender Datensatz zum Zeitpunkt des
Schreibens der Daten im Cachespeicher gespeichert ist,
weil der Schreibprozeß beendet werden kann, wenn die Da
ten im Cachespeicher gespeichert sind. Wenn jedoch ein
den Daten entsprechender Datensatz im Cachespeicher zum
Zeitpunkt des Schreibens der Daten nicht gespeichert ist,
kann der Schreibprozeß kaum beschleunigt werden.
Es ist daher eine erste Aufgabe der vorliegenden Erfin
dung, ein Cachespeicher-Steuerverfahren zu schaffen, mit
dem der Schreibprozeß selbst dann beschleunigt werden
kann, wenn ein zu schreibender Datensatz zum Zeitpunkt
des Schreibens der Daten von einer Datenverarbeitungsein
heit nicht im Cachespeicher gespeichert ist, indem der
Schreibprozeß beendet wird, sobald die Daten in den Ca
chespeicher gespeichert worden sind.
Es ist eine zweite Aufgabe der vorliegenden Erfindung,
eine Vorrichtung zur Cachespeichersteuerung zu schaffen,
mit der das Cachespeicher-Steuerverfahren der ersten Auf
gabe ausgeführt werden kann.
Um die Geschwindigkeit des Schreibprozesses weiter zu er
höhen, ist es notwendig, den Schreibprozeß von Schreib
verzögerungsdaten in eine Speichereinheit effizient aus
zuführen. Hierzu ist es notwendig, wie später beschrieben
wird, die physikalische Position der Speichereinheit in
bezug auf die Schreibverzögerungsdaten zu kennen.
Es ist daher eine dritte Aufgabe der vorliegenden Erfin
dung, ein Cachespeicher-Steuerverfahren zu schaffen, das
die physikalische Position der Schreibverzögerungsdaten
in der Speichereinheit zu berechnen erlaubt, wenn die Da
ten in den Cachespeicher gespeichert worden sind, selbst
wenn ein zu schreibender Datensatz nicht im Cachespeicher
gespeichert worden ist.
Es ist eine vierte Aufgabe der vorliegenden Erfindung,
eine Cachespeicher-Steuerverfahren zu schaffen, mit der
das Cachespeicher-Steuerverfahren gemäß der dritten Auf
gabe geeignet ausgeführt werden kann.
Die erste Aufgabe wird erfindungsgemäß durch die drei
folgenden Cachespeicher-Steuerverfahren gelöst:
In dem ersten erfindungsgemäßen Cachespeicher-Steuerver fahren, in dem ein Informationsverarbeitungssystem mit einer Datenverarbeitungseinheit, einer Steuereinheit für einen Cachespeicher und einer einen Datensatz speichern den Speichereinheit, die jeweils miteinander verbunden sind, verwendet wird, führt die Steuereinheit folgende Prozesse aus: (a) Empfang einer Schreibanforderung für einen zu schreibenden Datensatz von der Datenverarbei tungseinheit; (b) Empfang von in den Zieldatensatz zu schreibenden Daten von der Datenverarbeitungseinheit, falls der zu schreibende Datensatz nicht im Cachespeicher gespeichert ist; (c) Speichern der empfangenen Daten in den Cachespeicher; (d) Melden des Abschlusses des Daten schreibprozesses an die Datenverarbeitungseinheit; (e) Prüfen, ob der Zieldatensatz, in den die im Cachespeicher gespeicherten Daten geschrieben werden sollen, in der Speichereinheit gespeichert ist; (f) Schreiben der im Ca chespeicher gespeicherten Daten in den Zieldatensatz in der Speichereinheit, falls der Datensatz gespeichert wor den ist oder Unterlassen des Schreibens der im Cachespei cher gespeicherten Daten und Melden dieses Zustandes an die Datenverarbeitungseinheit, falls der Datensatz nicht in der Speichereinheit gespeichert ist.
In dem ersten erfindungsgemäßen Cachespeicher-Steuerver fahren, in dem ein Informationsverarbeitungssystem mit einer Datenverarbeitungseinheit, einer Steuereinheit für einen Cachespeicher und einer einen Datensatz speichern den Speichereinheit, die jeweils miteinander verbunden sind, verwendet wird, führt die Steuereinheit folgende Prozesse aus: (a) Empfang einer Schreibanforderung für einen zu schreibenden Datensatz von der Datenverarbei tungseinheit; (b) Empfang von in den Zieldatensatz zu schreibenden Daten von der Datenverarbeitungseinheit, falls der zu schreibende Datensatz nicht im Cachespeicher gespeichert ist; (c) Speichern der empfangenen Daten in den Cachespeicher; (d) Melden des Abschlusses des Daten schreibprozesses an die Datenverarbeitungseinheit; (e) Prüfen, ob der Zieldatensatz, in den die im Cachespeicher gespeicherten Daten geschrieben werden sollen, in der Speichereinheit gespeichert ist; (f) Schreiben der im Ca chespeicher gespeicherten Daten in den Zieldatensatz in der Speichereinheit, falls der Datensatz gespeichert wor den ist oder Unterlassen des Schreibens der im Cachespei cher gespeicherten Daten und Melden dieses Zustandes an die Datenverarbeitungseinheit, falls der Datensatz nicht in der Speichereinheit gespeichert ist.
In dem zweiten erfindungsgemäßen Cachespeicher-Steuerver
fahren wird ein Informationsverarbeitungssystem mit einer
Datenverarbeitungseinheit, einer Steuereinheit für einen
Cachespeicher und einer einen Datensatz mit einem eine
Datensatznummer enthaltenden Steuerfeld speichernden
Speichereinheit, die jeweils miteinander verbunden sind,
verwendet wird, führt die Steuereinheit folgende Prozesse
aus: (a) Empfang einer Schreibanforderung von der Daten
verarbeitungseinheit, wobei die Schreibanforderung eine
Datensatzbestimmungsinformation zum Bestimmen eines zu
schreibenden Datensatzes, eine Feldbestimmungsinformation
zum Bestimmen eines zu schreibenden Feldes im Datensatz
und eine Prozeßmodus-Bestimmungsinformation zum Bestimmen
eines auszuführenden Prozeßmodus in dem Fall, in dem der
Datensatz nicht im Cachespeicher gespeichert ist, ent
hält; (b) Empfang von entsprechend dem durch die Pro
zeßbestimmungsinformation bestimmten Prozeßmodus in das
bestimmte Feld zu schreibenden Daten von der Datenverar
beitungseinheit, falls der zu schreibende und durch die
Datensatzbestimmungsinformation bestimmte Datensatz nicht
im Cachespeicher gespeichert ist und falls das zu schrei
bende und durch die Feldbestimmungsinformation bestimmte
Feld das Steuerfeld nicht enthält; (c) Speichern der Da
ten in den Cachespeicher; und (d) Melden des Abschlusses
eines Schreibprozesses an die Datenverarbeitungseinheit.
In dem dritten erfindungsgemäßen Cachespeicher-Steuerver
fahren, in dem ein Informationsverarbeitungssystem mit
einer Datenverarbeitungseinheit, einer Steuereinheit für
einen Cachespeicher und einer einen Datensatz mit einer
Mehrzahl von physikalischen Bereichen zum Speichern eines
ein Steuerfeld einschließlich einer Datensatznummer auf
weisenden Datensatzes speichernden Speichereinheit, die
jeweils miteinander verbunden sind, verwendet wird, hält
die Steuereinheit für jeden physikalischen Bereich eine
Strukturbedingungsinformation, die angibt, ob "in dem
physikalischen Bereich ist kein Datensatz-Duplikat des
Datensatzes vorhanden" erfüllt ist, und führt folgende
Prozesse aus: (a) Empfang einer Schreibanforderung von
der Datenverarbeitungseinheit, wobei die Schreibanforde
rung eine Datensatzbestimmungsinformation zum Bestimmen
eines zu schreibenden Datensatzes und eine Feldbestim
mungsinformation zum Bestimmen eines in den Datensatz zu
schreibenden Feldes enthält; (b) Empfang von Daten von
der Datenverarbeitungseinheit, die in das bestimmte Feld
entsprechend dem durch die Prozeßmodus-Bestimmungsinfor
mation bestimmten Prozeßmodus geschrieben werden soll,
falls der zu schreibende und durch die Datensatzbestim
mungsinformation bestimmte Datensatz nicht im Cachespei
cher gespeichert ist, falls das zu schreibende und durch
die Feldbestimmungsinformation bestimmte Feld das Steuer
feld nicht enthält und falls die Strukturbedingung er
füllt wird; (c) Speichern der Daten in den Cachespeicher;
und (d) Melden des Abschlusses eines Schreibprozesses an
die Datenverarbeitungseinheit.
Die dritte Aufgabe wird erfindungsgemäß gelöst durch die
folgenden vierten und fünften Cachespeicher-Steuerverfah
ren:
In dem vierten Cachespeicher-Steuersystem, das in einer Informationsverarbeitungseinheit mit einer Datenverarbei tungseinheit, einer Steuereinheit für einen Cachespeicher und einer einen Datensatz mit einer Mehrzahl von physika lischen Bereichen zum Speichern eines ein Steuerfeld ein schließlich einer Datensatznummer speichernden Steuerein heit, die jeweils miteinander verbunden sind, verwendet wird, führt die Steuereinheit die folgenden Prozesse aus: (a) Empfang einer Schreibanforderung von der Datenverar beitungseinheit, wobei die Schreibanforderung eine Daten satzbestimmungsinformation für die Bestimmung eines zu schreibenden Datensatzes, eine Feldbestimmungsinformation für die Bestimmung eines im Datensatz zu schreibenden Feldes und eine Strukturbedingungsinformation enthält, wobei die Strukturbedingungsinformation angibt, ob die folgende Bedingung erfüllt ist: "Die Datensatznummer des Datensatzes am Beginn des physikalischen Bereichs zum Speichern von Datensätzen ist "Null" und die Nummern der folgenden Datensätze sind in aufsteigender Ordnung, je weils um "Eins" erhöht, gegeben, wobei jeder Datensatz ein vom Steuerfeld verschiedenes Feld besitzt, wobei die Längen der vom Steuerfeld verschiedenen Felder eines je den Datensatzes mit der Datensatznummer "Eins" oder grö ßer gleich sind und wobei das vom Steuerfeld verschiedene Feld des Datensatzes mit der Datensatznummer "Null" eine vorgegebene Länge besitzt"; (b) Empfang von in ein be stimmtes Feld zu schreibenden Daten von der Datenverar beitungseinheit, falls der zu schreibende und von der Da tensatzbestimmungsinformation bestimmte Datensatz nicht im Cachespeicher gespeichert ist, falls das zu schrei bende und durch die Feldbestimmungsinformation bestimmte Feld das Steuerfeld nicht enthält und falls die Struktur bedingung erfüllt ist; (c) Speichern der Daten im Cache speicher; und (d) Meldung des Abschlusses eines Schreib prozesses an die Datenverarbeitungseinheit.
In dem vierten Cachespeicher-Steuersystem, das in einer Informationsverarbeitungseinheit mit einer Datenverarbei tungseinheit, einer Steuereinheit für einen Cachespeicher und einer einen Datensatz mit einer Mehrzahl von physika lischen Bereichen zum Speichern eines ein Steuerfeld ein schließlich einer Datensatznummer speichernden Steuerein heit, die jeweils miteinander verbunden sind, verwendet wird, führt die Steuereinheit die folgenden Prozesse aus: (a) Empfang einer Schreibanforderung von der Datenverar beitungseinheit, wobei die Schreibanforderung eine Daten satzbestimmungsinformation für die Bestimmung eines zu schreibenden Datensatzes, eine Feldbestimmungsinformation für die Bestimmung eines im Datensatz zu schreibenden Feldes und eine Strukturbedingungsinformation enthält, wobei die Strukturbedingungsinformation angibt, ob die folgende Bedingung erfüllt ist: "Die Datensatznummer des Datensatzes am Beginn des physikalischen Bereichs zum Speichern von Datensätzen ist "Null" und die Nummern der folgenden Datensätze sind in aufsteigender Ordnung, je weils um "Eins" erhöht, gegeben, wobei jeder Datensatz ein vom Steuerfeld verschiedenes Feld besitzt, wobei die Längen der vom Steuerfeld verschiedenen Felder eines je den Datensatzes mit der Datensatznummer "Eins" oder grö ßer gleich sind und wobei das vom Steuerfeld verschiedene Feld des Datensatzes mit der Datensatznummer "Null" eine vorgegebene Länge besitzt"; (b) Empfang von in ein be stimmtes Feld zu schreibenden Daten von der Datenverar beitungseinheit, falls der zu schreibende und von der Da tensatzbestimmungsinformation bestimmte Datensatz nicht im Cachespeicher gespeichert ist, falls das zu schrei bende und durch die Feldbestimmungsinformation bestimmte Feld das Steuerfeld nicht enthält und falls die Struktur bedingung erfüllt ist; (c) Speichern der Daten im Cache speicher; und (d) Meldung des Abschlusses eines Schreib prozesses an die Datenverarbeitungseinheit.
In dem fünften erfindungsgemäßen Cachespeicher-Steuerver
fahren, das in einem Informationsverarbeitungssystem mit
einer Datenverarbeitungseinheit, einer Steuereinheit für
einen Cachespeicher und einer einen Datensatz mit einer
Mehrzahl von physikalischen Bereichen zum Speichern eines
ein Steuerfeld einschließlich einer Datensatznummer be
sitzenden Datensatzes speichernden Speichereinheit, die
jeweils miteinander verbunden sind, verwendet wird, hält
die Steuereinheit in jedem physikalischen Bereich eine
Strukturbedingungsinformation, die angibt, ob folgende
Bedingung erfüllt ist: "die Datensatznummer des Daten
satzes am Beginn des physikalischen Bereichs zum Spei
chern von Datensätzen ist "Null" und die Nummern der fol
genden Datensätze sind in aufsteigender Ordnung, jeweils
um "Eins" erhöht, gegeben, wobei jeder Datensatz ein vom
Steuerfeld verschiedenes Feld besitzt, wobei die Längen
der vom Steuerfeld verschiedenen Felder eines jeden Da
tensatzes mit der Datensatznummer "Eins" oder größer
gleich sind und wobei das vom Steuerfeld verschiedene
Feld des Datensatzes mit der Datensatznummer "Null" eine
vorgegebene Länge besitzt"; ferner führt die Steuerein
heit folgende Prozesse aus: (a) Empfang einer Schreiban
forderung von der Datenverarbeitungseinheit, wobei die
Schreibanforderung eine Datensatzbestimmungsinformation
zum Bestimmen eines zu schreibenden Datensatzes und eine
Feldbestimmungsinformation zum Bestimmen eines im Daten
satz zu schreibenden Feldes enthält; (b) Empfang von im
bestimmten Feld zu schreibenden Daten von der Datenverar
beitungseinheit, falls der zu schreibende und durch die
Datensatzbestimmungsinformation bestimmte Datensatz nicht
im Cachespeicher gespeichert ist, falls das zu schrei
bende und durch die Feldbestimmungsinformation bestimmte
Feld nicht das Steuerfeld enthält und falls die Struktur
bedingung erfüllt ist; (c) Speichern der Daten im Cache
speicher; und (d) Melden des Abschlusses eines Schreib
prozesses an die Datenverarbeitungseinheit.
Die zweite und die vierte Aufgabe werden erfindungsgemäß
durch eine Cachespeicher-Steuervorrichtung gelöst, die
mit Mitteln zum Ausführen des ersten bis fünften Cache
speicher-Steuerverfahrens ausgerüstet ist.
In dem ersten erfindungsgemäßen Cachespeicher-Steuerver
fahren werden auf dieser Stufe Daten im Cachespeicher ge
speichert und der Abschluß des Schreibprozesses an die
Datenverarbeitungseinheit gemeldet, selbst wenn zu
schreibende und von der Datenverarbeitungseinheit gelie
ferte Daten nicht im Cachespeicher gespeichert sind.
Schreibverzögerungsdaten im Cachespeicher werden mittels
eines Schreibverzögerungsprozesses in die Speichereinheit
geschrieben. Wenn der zu schreibende Datensatz in der
Speichereinheit nicht vorhanden ist, wird ein derartiges
Ergebnis gemeldet. Auf diese Weise kann der Schreibprozeß
unabhängig davon, ob die Daten von der Datenverarbei
tungseinheit im Cachespeicher gespeichert sind, beschleu
nigt werden.
In den erfindungsgemäßen zweiten und vierten Cachespei
cher-Steuerverfahren werden aufgrund des Empfangs einer
Schreibanforderung von der Datenverarbeitungseinheit zu
schreibende und von der Datenverarbeitungseinheit gelie
ferte Daten von der Steuereinheit selbst dann im Cache
speicher gespeichert, wenn die Daten nicht im Cachespei
cher gespeichert sind, ferner meldet die Steuereinheit
auf dieser Stufe den Abschluß des Schreibprozesses an die
Datenverarbeitungseinheit.
In den erfindungsgemäßen dritten und fünften Cachespei
cher-Steuerverfahren prüft die Steuereinheit, ob in der
Speichereinheit die Datensatznummer möglicherweise dop
pelt vorliegt, speichert die Daten im Cachespeicher und
meldet auf dieser Stufe den Abschluß des Schreibprozesses
an die Datenverarbeitungseinheit, falls zu schreibende
und von der Datenverarbeitungseinheit gelieferte Daten
nicht im Cachespeicher gespeichert sind. Dadurch kann das
Auftreten eines Fehlers während des Schreibverzögerungs
prozesses vermieden werden, ferner kann der Schreibprozeß
beschleunigt werden. Für die Prüfung einer gedoppelten
Datensatznummer hält die Datenverarbeitungseinheit eine
lnformation, die angibt, ob in der Speichereinheit eine
Datensatznummer doppelt vorhanden ist.
In den erfindungsgemäßen vierten und fünften Cachespei
cher-Steuerverfahren kann die physikalische Position der
Speichereinheit in bezug auf die Schreibverzögerungsdaten
entsprechend der Strukturinformation wie etwa der auf
steigenden Ordnung der Datensatznummern berechnet werden,
wodurch die Effizienz des Schreibverzögerungsprozesses
weiter verbessert wird.
Die erfindungsgemäße Cachespeicher-Steuervorrichtung, mit
denen die ersten bis fünften erfindungsgemäßen Cachespei
cher-Steuerverfahren ausgeführt werden, arbeiten gemäß
den oben beschriebenen Funktionsabläufen.
Weitere Aufgaben, Merkmale und Vorteile der Erfindung
sind in den Unteransprüchen angegeben.
Die Erfindung wird im folgenden anhand bevorzugter Aus
führungsformen mit Bezug auf die Zeichnung näher erläu
tert; es zeigen:
Fig. 1 ein Blockschaltbild der Steuereinheit gemäß
der ersten Ausführungsform der Erfindung;
Fig. 2 ein Blockschaltbild des erfindungsgemäßen In
formationsverarbeitungssystems;
Fig. 3 den Aufbau der Plattenspeichereinheit 24;
Fig. 4 ein Beispiel der Struktur des Datensatzes
301;
Fig. 5 ein Beispiel einer weiteren Struktur des Da
tensatzes 301;
Fig. 6 ein Beispiel der Struktur des Cachespeichers
26 gemäß der ersten Ausführungsform der Er
findung;
Fig. 7 ein Beispiel der Struktur des Segments gemäß
der ersten Ausführungsform der Erfindung;
Fig. 8 ein Beispiel der Struktur des Verzeichnisses
28 gemäß der ersten Ausführungsform der Er
findung;
Fig. 9 ein Beispiel der Struktur der Segmentverwal
tungsinformation 500 gemäß der ersten Ausfüh
rungsform der Erfindung;
Fig. 10 ein Beispiel der Struktur einer Spurtabelle
501 gemäß der ersten Ausführungsform der Er
findung;
Fig. 11 eine Erläuterung des Leersegmentwarteschlan
gen-Kopfzeigers 502 gemäß der ersten Ausfüh
rungsform der Erfindung;
Fig. 12 ein Beispiel der Struktur des Schreibverzöge
rungsspeichers 27 gemäß der ersten Ausfüh
rungsform der Erfindung;
Fig. 13 ein Beispiel der Struktur der Schreibverzöge
rungsinformation 1100 gemäß der ersten Aus
führungsform der Erfindung;
Fig. 14 ein Beispiel der Struktur des Direktors 25
der ersten Ausführungsform der Erfindung;
Fig. 15 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Cachespeicher-Partialschreib
teil 10 gemäß der ersten Ausführungsform der
Erfindung ausgeführt werden;
Fig. 16 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Schreibverzögerungs-Bereits
stellungsteil 11 ausgeführt werden;
Fig. 17 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Schreibverzögerungs-Übertra
gungsteil 12 gemäß der ersten Ausführungsform
der vorliegenden Erfindung ausgeführt werden;
Fig. 18 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Schreibverzögerungsfehler-Ent
scheidungsteil 13 ausgeführt werden;
Fig. 19 ein Blockschaltbild der grundlegenden Struk
tur der Steuereinheit gemäß einer zweiten
Ausführungsform der Erfindung;
Fig. 20 ein Beispiel der Struktur des Schreibverzöge
rungsspeichers 27 gemäß der zweiten Ausfüh
rungsform der Erfindung;
Fig. 21 ein Beispiel der Struktur der Schreibverzöge
rungs-Spurinformation ª 1700 gemäß der zwei
ten Ausführungsform der Erfindung;
Fig. 22 ein Zustandsübergangdiagramm des Spurzustan
des ª 1800 gemäß der zweiten Ausführungsform
der Erfindung;
Fig. 23 ein Beispiel der Struktur des Direktors 25
gemäß der zweiten Ausführungsform der Erfin
dung;
Fig. 24A ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Schreibverzögerungsinforma
tion-Verwaltungsteil ª 14 gemäß der zweiten
Ausführungsform der Erfindung ausgeführt wer
den;
Fig. 24B ein weiteres Flußdiagramm zur Erläuterung der
Prozesse, die vom Schreibverzögerungsspurin
formation-Verwaltungsteil ª 14 gemäß der
zweiten Ausführungsform der Erfindung ausge
führt werden;
Fig. 25 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Schreibverzögerungsinforma
tion-Spurverwaltungsteil b 15 gemäß der zwei
ten Ausführungsform der Erfindung ausgeführt
werden;
Fig. 26 ein Blockschaltbild der grundlegenden Struk
tur der Steuereinheit 23 gemäß einer dritten
Ausführungsform der Erfindung;
Fig. 27 ein Beispiel der Struktur der Segmentverwal
tungsinformation 500 gemäß der dritten Aus
führungsform der Erfindung;
Fig. 28 ein Beispiel der Struktur der Schreibverzöge
rungsinformation 1100 gemäß der dritten Aus
führungsform der Erfindung,;
Fig. 29 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Cachespeicher-Partialschreib
teil 10 gemäß der dritten Ausführungsform der
Erfindung ausgeführt werden;
Fig. 30 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Schreibverzögerungs-Bereit
stellungsteil 11 gemäß der dritten Ausfüh
rungsform der Erfindung ausgeführt werden;,
Fig. 31 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Schreibverzögerungs-Übertra
gungsteil 12 gemäß der dritten Ausführungs
form der Erfindung ausgeführt werden;
Fig. 32 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Schreibverzögerungsfehler-Ent
scheidungsteil 13 gemäß der dritten Ausfüh
rungsform der Erfindung ausgeführt werden;
Fig. 33 begriffliche Erläuterungen für das Verfahren
des effizienten Schreibens des Schreibverzö
gerungsdatensatzes 160;
Fig. 34 weitere begriffliche Erläuterungen für das
Verfahren des effizienten Schreibens des
Schreibverzögerungsdatensatzes 160;
Fig. 35 ein Blockschaltbild der grundlegenden Struk
tur der Steuereinheit 23 gemäß einer vierten
Ausführungsform der Erfindung;
Fig. 36 ein Beispiel der Struktur des Schreibverzöge
rungsspeichers 27 gemäß der vierten Ausfüh
rungsform der Erfindung;
Fig. 37 ein Beispiel der Struktur der Schreibverzöge
rungsspurinformation b 2800 gemäß der vierten
Ausführungsform der Erfindung;
Fig. 38 ein Zustandsübergangdiagramm des Spurzustan
des b 2900 gemäß der vierten Ausführungsform
der Erfindung;
Fig. 39 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Cachespeicher-Partialschreib
teil 10 gemäß der vierten Ausführungsform der
Erfindung ausgeführt werden;
Fig. 40A ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Schreibverzögerungsspurinfor
mation-Verwaltungsteil ª 14 ausgeführt wer
den;
Fig. 40B ein weiteres Flußdiagramm zur Erläuterung der
Prozesse, die vom Schreibverzögerungsspurin
formation-Verwaltungsteil ª 14 ausgeführt
werden;
Fig. 41 ein Flußdiagramm zur Erläuterung der Pro
zesse, die vom Schreibverzögerungsspurinfor
mation-Verwaltungsteil b 15 gemäß der vierten
Ausführungsform der Erfindung ausgeführt wer
den;
Fig. 42 ein Beispiel für die Beziehung zwischen den
Datensätzen 301 auf der Spur 300 an aufeinan
derfolgenden Positionen und den im Segment
400 an aufeinanderfolgenden Positionen ge
speicherten Datensätzen;
Fig. 43A ein Beispiel eines Segments 400, das der Er
läuterung der aufeinanderfolgenden Speicher
zustände dient;
Fig. 43B ein weiteres Beispiel eines Segments 400, das
der Erläuterung der aufeinanderfolgenden
Speicherzustände dient;
Fig. 43C ein weiteres Beispiel eines Segments 400, das
der Erläuterung der aufeinanderfolgenden
Speicherzustände dient;
Fig. 44 ein Beispiel der Struktur der Segmentverwal
tungsinformation 500 gemäß einer fünften Aus
führungsform der Erfindung; und
Fig. 45 eine erläuternde Übersicht über die vorlie
gende Erfindung.
Im folgenden werden fünf Ausführungsformen der Erfindung
beschrieben. Zunächst werden die gemeinsamen Elemente
dieser fünf Ausführungsformen mit Bezug auf die Fig. 2
bis 5 beschrieben.
Fig. 2 ist ein Blockschaltbild, das ein Informationsver
arbeitungssystem zeigt, in dem die vorliegende Erfindung
zur Anwendung kommt.
Das Informationsverarbeitungssystem umfaßt eine Datenver
arbeitungseinheit 200, eine Steuereinheit 23 und eine
oder mehrere Plattenspeichereinheiten 24, wobei sämtliche
genannten Einheiten funktional miteinander verbunden
sind; Die Datenverarbeitungseinheit 200 umfaßt eine CPU
20, einen Hauptspeicher 21 und Kanäle 22. Die Steuerein
heit 23 umfaßt einen oder mehrere Direktoren 25, einen
Cachespeicher 26, einen Schreibverzögerungsspeicher 27
und ein Verzeichnis 28. Der Direktor 25 führt eine Daten
übertragung zwischen dem Kanal 22 und der Plattenspei
chereinheit 24, zwischen dem Kanal 22 und dem Cachespei
cher 26 und zwischen dem Cachespeicher 26 und der Plat
tenspeichereinheit 24 aus. Der Cachespeicher 26 wird mit
denjenigen Daten von der Plattenspeichereinheit 24 gela
den, auf die häufig zugegriffen wird. Dieser Ladeprozeß
wird durch den Direktor 25 ausgeführt. Besondere Bei
spiele für solche Daten sind gegeben durch Daten, auf die
in der Vergangenheit durch die CPU 20 zugegriffen wurde,
und durch Daten, die in der Plattenspeichereinheit 24 in
Bereichen in der Nähe solcher Daten gespeichert wurden,
auf die durch die CPU 20 zugegriffen wurde, und durch
weitere Daten. Das Verzeichnis 28 speichert Verwaltungs
information für den Cachespeicher 26.
Die Plattenspeichereinheit 24 besitzt eine Struktur, wie
sie in Fig. 3 gezeigt ist. Jede Plattenspeichereinheit 24
weist eine Mehrzahl von Plattenspeichern 308 auf, wobei
jede Platte ein Datenspeichermedium darstellt. Für jede
Platte 308 ist ein Schreib/Lese-Kopf 309 zum Schreiben
oder Lesen von Daten auf die Platte bzw. von der Platte
308 vorgesehen.
Ein kreisförmiger Bereich, auf den während der einmaligen
Drehung der Platte 308 durch den Schreib/Lese-Kopf 309
zugegriffen werden kann, wird Spur 300 genannt. Auf der
Platte 308 sind eine Mehrzahl von Spuren 300 ausgebildet.
Wenn Daten von der Spur 300 gelesen oder auf die Spur 300
geschrieben werden, wird der Schreib/Lese-Kopf 309 an die
Position bewegt, an der die Daten gelesen bzw. geschrie
ben werden können. Diese Operation wird im folgenden Po
sitionierungsvorgang genannt. Eine Anforderung für eine
solche Operation wird Positionierungsanforderung genannt.
Eine Direktorschnittstelle 311 stellt eine Schnittstelle
zwischen der Plattenspeichereinheit 24 und dem Direktor
25 dar und steuert den Schreib/Lese-Kopf 309 gemäß einem
Befehl vom Direktor 25.
Die Sektoren 302 sind Bereiche, die auf der Platte 308 in
auf eine Referenzposition 303 auf der Platte 308 bezoge
nen vorgegebenen Winkelintervallen ausgebildet sind.
Diese Referenzposition 303 wird Ausgangsindex 303 ge
nannt. Derjenige Sektor 302, der beim Ausgangsindex 303
beginnt, wird Basissektor 304 (Sektor 0) genannt. Die
Nummer eines jeden Sektors 302 wird ausgehend vom Basis
sektor 304 in der der Drehung der Platte 308 entgegenge
setzten Richtung jeweils um Eins erhöht.
Der Schreib/Lese-Kopf 309 identifiziert denjenigen Sektor
302, der unter ihm positioniert ist.
Unmittelbar nach dem Ausgangsindex 303 ist ein Bereich
ausgebildet, in dem Steuerinformation für die Spur 300
gespeichert ist; Dieser Bereich wird Ausgangsadresse 306
genannt.
Jede Spur 300 umfaßt einen oder mehrere Datensätze 301.
Der Datensatz 301 stellt eine Dateneinheit dar, die vom
Direktor 25 von der Plattenspeichereinheit 24 gelesen
oder auf die Plattenspeichereinheit 24 geschrieben wird.
Zwischen benachbarten Datensätzen 301 ist ein Zwischen
raum 305 ausgebildet. Dieser Zwischenraum 305 zwischen
Datensätzen 301 wird Zwischenraum ª 305 genannt, um ihn
vom später beschriebenen Zwischenraum b 605 (s. Fig. 4
und 5) zu unterscheiden.
Jeder Datensatz 301 kann eine verschiedene Länge besit
zen. Die Länge eines jeden Zwischenraums ª ist gleich.
Im allgemeinen speichert der Datensatz 301 unmittelbar
nach der Ausgangsadresse 306 keine allgemeinen Daten,
sondern Steuerdaten, die auf der Seite der CPU 20 verwen
det werden; Daher wird dieser Datensatz Steuerdatensatz
310 genannt.
In den Fig. 4 und 5 sind Beispiele der Struktur des Da
tensatzes 301 gezeigt. In dem in Fig. 4 gezeigten Bei
spiel ist der Datensatz 301 aus drei Feldern 606, die ein
Steuerfeld 600, ein Schlüsselfeld 607 und ein Datenfeld
601 enthalten, aufgebaut. In dem in Fig. 5 gezeigten Bei
spiel ist der Datensatz 301 aus zwei Feldern 606, die ein
Steuerfeld 600 und ein Datenfeld 601 enthalten, aufge
baut.
Zwischen dem Steuerfeld 600 und dem Schlüsselfeld 607 und
zwischen dem Schlüsselfeld 607 und dem Datenfeld 608 ist
jeweils ein Zwischenraum 605 ausgebildet. Dieser Zwi
schenraum 605 wird Zwischenraum b 605 genannt. Die Länge
eines jeden Zwischenraums b 605 ist gleich.
Das Steuerfeld 600 nimmt Steuerinformation, die eine Da
tensatznummer 602, eine Schlüsselfeldlänge 608, eine Da
tenfeldlänge 603 und dergleichen enthält, auf. Die Daten
satznummer 602 stellt für die Datensätze 301 ein Unter
scheidungsmerkmal dar; Die Schlüsselfeldlänge 608 und die
Datenfeldlänge 603 stellen die Länge des Schlüsselfeldes
607 bzw. des Datenfeldes 601 dar. Wenn der Datensatz 301
kein Schlüsselfeld 607 besitzt, wie dies in Fig. 5 ge
zeigt ist, wird die Schlüsselfeldlänge 608 auf "Null" ge
setzt. Die Länge des Steuerfeldes 600 ist im allgemeinen
fest.
Däs Datenfeld 601 nimmt Information auf, die von einem in
der CPU 20 ablaufenden Programm verarbeitet wird;
Das Schlüsselfeld 607 nimmt Schlüsselinformation auf, die
das Zugriffsrecht auf die Inhalte des Datenfeldes 601
prüft.
Ein Schreibprozeß umfaßt im allgemeinen einen For
matschreibprozeß und einen Partialschreibprozeß; Der
erstgenannte Prozeß dient der Umgestaltung sämtlicher
Felder 606 einschließlich dem Steuerfeld 600, während der
letztgenannte Prozeß der Umgestaltung der Felder mit Aus
nahme des Steuerfeldes 600 dient; Die Ausführungsfrequenz
des Formatschreibprozesses ist nicht so hoch und muß
nicht beschleunigt werden, weil er nur dann ausgeführt
werden muß, wenn eine gesamte Datei zum ersten Mal er
stellt wird. Die Ausführungsfrequenz des Partialschreib
prozesses ist hoch und sollte beschleunigt werden. Daher
betrifft die vorliegende Erfindung hauptsächlich einen
Partialschreibprozeß.
Die Datenfeldlänge 603 und die Schlüsselfeldlänge 608
liegen im Steuerfeld 600 vor. Daher ändern sich die In
halte des Datenfeldes 600 und des Schlüsselfeldes 607 von
einem Partialschreibprozeß zum nächsten, während die
Länge des Steuerfeldes 600 unverändert bleibt.
Nun wird eine Übersicht über die Verarbeitung der vorlie
genden Erfindung gegeben.
ln Fig. 45 ist eine Übersicht über die Funktion einer je
den Verarbeitungseinheit, d. h. eine Übersicht über die
vorliegende Erfindung gezeigt. Zunächst empfängt ein Ca
chespeicher-Partialschreibteil 10 über den Kanal 21 von
der CPU 20 eine Partialschreibanforderung. Selbst wenn in
diesem Fall ein zu schreibender Datensatz im Cachespei
cher 26 nicht vorliegt (selbst wenn ein Datensatz 301 mit
einer von der CPU 20 bestimmten Datensatznummer 602 nicht
im Cachespeicher 26 vorhanden ist), führt der Cachespei
cher-Partialschreibteil 10 den folgenden Cache-Schreib
prozeß aus: Daten, die in den von der CPU 20 bestimmten
Datensatz 301 geschrieben werden sollen, werden im Cache
speicher 26 als Schreibverzögerungsdaten 29 gespeichert.
Nach Abschluß der Datenspeicherung wird an die Seite der
CPU 20 der Abschluß der Partialschreibanforderung gemel
det.
Dann bestimmt ein Schreibverzögerungs-Bereitstellungsteil
11 diejenige Spur 300 der Plattenspeichereinheit 24, für
die der Schreibverzögerungsprozeß ausgeführt werden soll,
und gibt an die Plattenspeichereinheit 24 eine Positio
nierungsanforderung aus.
Nach Abschluß des Positionierungsprozesses findet ein
Schreibverzögerungs-Übertragungsteil 12 eine Platte 301
auf, in der die im Cachespeicher 26 gespeicherten
Schreibverzögerungsdaten 29 gespeichert werden sollen
(d. h., daß der Teil 12 den Datensatz 301 mit der durch
die CPU 20 bestimmten Datensatznummer 602 auffindet).
Wenn der Datensatz aufgefunden ist, wird der Schreibver
zögerungsprozeß zum Schreiben von Schreibverzögerungsda
ten 29 in den Datensatz 301 ausgeführt. Andernfalls wird
der Schreibverzögerungsprozeß nicht ausgeführt, statt
dessen wird in der Schreibverzögerungsinformation 1100
eine Information über eine Datensatznummerinkonsistenz
gesetzt, um das Auftreten eines Fehlers festzuhalten.
Schließlich nimmt ein Schreibverzögerungsfehler-Entschei
dungsteil 13 auf die Information über eine Datensatznum
merinkonsistenz 1203 Bezug, um an die CPU 20 zu melden,
daß der mit den Schreibverzögerungsdaten 29 zu beschrei
bende Datensatz 301 in der Plattenspeichereinheit 24
nicht aufgefunden worden ist. In den folgenden Ausfüh
rungsformen sendet der Schreibverzögerungsfehler-Ent
scheidungsteil 13 eine solche Fehlermeldung an die CPU
20, wenn jener von der CPU 20 eine Schreib/Lese-Anforde
rung empfängt. Jedoch sind die Zeitpunkte des Ausgebens
einer solchen Fehlermeldung nicht darauf beschränkt,
vielmehr können auch andere Zeitpunkte hierfür benutzt
werden. Beispielsweise kann an die CPU 20 eine Fehlermel
dung ausgegeben werden, unmittelbar nachdem der Schreib
verzögerungs-Übertragungsteil 12 die Information 1203
über eine Datensatznummerinkonsistenz in der Schreibver
zögerungsinformation 1100 gesetzt hat.
Nun wird zunächst mit Bezug auf die Fig. 1 und 6 bis 18
die erste Ausführungform der vorliegenden Erfindung be
schrieben. Wenn ein zu schreibender Datensatz 301 im Ca
chespeicher 26 nicht vorliegt und nur wenn der Direktor
25 einen besonderen, durch die CPU 20 bestimmten Prozeß
modus empfängt, beendet in der ersten Ausführungform der
Direktor 25 den Schreibprozeß, wenn die Daten in dem Ca
chespeicher 26 geschrieben worden sind.
In Fig. 1 ist ein Blockschaltbild gezeigt, mit dem das
Informationsverarbeitungssystem der ersten Ausführungs
form im einzelnen erläutert wird. Ein Direktor 25 emp
fängt während der Ausführung des Partialschreibprozesses
über den Kanal 22 die folgende Bestimmungsinformation ª
100 von der CPU 20: Bestimmungsinformation 1 für die Be
stimmung der Plattenspeichereinheit 24 und der Spur 300,
in der der zu schreibende Datensatz 301 gespeichert wird;
Bestimmungsinformation 2 für die Bestimmung des Sektors
302 der Spur 300, von dem aus der zu schreibende Daten
satz 301 gesucht wird; Bestimmungsinformation 3 für die
Bestimmung der Datensatznummer 602 des zu schreibenden
Datensatzes 301; Bestimmungsinformation 4 für die Bestim
mung des zu schreibenden Feldes 606; und Bestimmungsin
formation 5 für die Bestimmung eines Prozeßmodus, wenn
der zu schreibende Datensatz 301 nicht im Cachespeicher
26 gespeichert ist.
Wenn daher die CPU 20 erkennt, daß in der durch die Be
stimmungsinformation 1 bestimmten Spur 300 keine gedop
pelte Datensatznummer 602 vorhanden ist, wird dieser Pro
zeßmodus für die Beendigung des Schreibprozesses be
stimmt, wenn die Daten in den Cachespeicher 26 geschrie
ben worden sind.
Somit besteht die Ausführungbedingung ª 110 der Cache-
Schreiboperation 100 gemäß der vorliegenden Erfindung
darin, daß der zu schreibende Datensatz 301 nicht im Ca
chespeicher 26 gespeichert ist, daß das zu schreibende
Feld das Steuerfeld 600 nicht enthält und daß der von der
Bestimmungsinformation 5 bestimmte Prozeßmodus empfangen
worden ist.
Während der Cache-Schreiboperation 120 empfängt der Di
rektor 25 vom Kanal 22 Daten (Schritt 121) und schreibt
die empfangenen Daten in den Cachespeicher 26 (Schritt
122). Schließlich wird über den Kanal 22 an die CPU 20
eine Meldung über den Abschluß des Schreibprozesses ge
liefert (Schritt 123).
Daten, die im Cachespeicher 26 gespeichert sind und nicht
in die Plattenspeichereinheit 24 geschrieben werden, wer
den Schreibverzögerungsdaten 29 genannt.
Der Direktor 25 verwaltet den Datensatz 301, der die
Schreibverzögerungsdaten 29 speichert, als Schreibverzö
gerungsdatensatz 160. Er schreibt die Schreibverzöge
rungsdaten 29 unter Verwendung einer Leerzeit in die
Plattenspeichereinheit 24. Diese Operation wird Schreib
verzögerungsoperation genannt. In einer Schreibverzöge
rungsoperation ª 130 findet der Direktor 25 den Datensatz
301 in der Plattenspeichereinheit 24, in den die Schreib
verzögerungsdaten 29 geschrieben werden, auf. Insbeson
dere findet der Direktor 25 den Datensatz 301 mit der Da
tensatznummer 602, die durch die Bestimmungsinformation 3
bestimmt wird, innerhalb der Spur 300 der Plattenspei
chereinheit 24, die durch die Bestimmungsinformationen 1
und 2 bestimmt werden.
Wenn der Zieldatensatz 301 gefunden worden ist, führt der
Direktor 25 eine Schreibverzögerungsoperation b 140 aus,
um Schreibverzögerungsdaten 29 in den Datensatz 301 zu
schreiben.
Wenn der Zieldatensatz 301 nicht aufgefunden worden ist,
führt der Direktor 25 eine Schreibverzögerungsoperation c
150 aus, in der keine Schreibverzögerungsdaten 29 ge
schrieben werden, und meldet einen solchen Zustand an die
CPU 20, wie später beschrieben wird.
In Fig. 6 ist die Struktur des Cachespeichers 26 gemäß
dieser Ausführungsform gezeigt. Der Cachespeicher 26 ist
aus einer Anzahl von Segmenten 400 aufgebaut. Jedes Seg
ment 400 kann sämtliche Datensätze 301 einer Spur 300
speichern. Für die Bestimmung des Segmentes 400, das der
jeweiligen Spur 300 zugeordnet ist, kann ein herkömmli
ches Verfahren verwendet werden. Es kann ein leeres Seg
ment 400 vorliegen, das keiner der Spuren 300 zugeordnet
ist.
In Fig. 7 ist das Speicherformat der Schreibverzögerungs
daten 160 in den Segmenten 400 gezeigt. Da die Daten im
Steuerfeld 600 beim Partialschreibprozeß nicht geändert
werden, empfängt der Direktor 25 das Steuerfeld 600 vom
Kanal 22 nicht. Wenn daher der zu schreibende Datensatz
301 nicht im Cachespeicher 26 gespeichert ist und die ge
lieferten Daten geschrieben worden sind, bildet der Di
rektor 25 im Cachespeicher 26 ein Blindsteuerfeld 1000
aus.
Die bestimmte Datensatznummer 602 vom Kanal 22 wird im
Blindsteuerfeld 1000 gespeichert. Außerdem wird im Blind
steuerfeld 1000 die Länge der in das bestimmte Feld 606
zu schreibenden und vom Kanal 22 gelieferten Daten ge
speichert. Wenn die Inhalte des Schlüsselfeldes 607 und
des Datenfeldes 601 geändert werden sollen, werden die
Längen der Daten der entsprechenden Felder als Schlüssel
feldlänge 608 bzw. als Datenfeldlänge 603 gesetzt. Wenn
nur die Inhalte des Datenfeldes 601 geändert werden sol
len, wird für die Länge des Schlüsselfeldes 608 der Wert
"Null" gesetzt. In der folgenden Beschreibung werden die
Schlüsselfeldlänge 608 und die Datenfeldlänge 603 zusam
men als Feldlänge 609 bezeichnet.
Zum Schreiben des Schreibverzögerungsdatensatzes 160 in
den Datensatz der Plattenspeichereinheit 24 bestimmt der
Direktor 25, ob der Schreibverzögerungsprozeß ausgeführt
werden soll, indem die Datensatznummer 602 und die Feld
länge 609 im Steuerfeld 600 des Datensatzes 301 in der
Plattenspeichereinheit 24 mit der entsprechenden Daten
satznummer 602 und der Feldlänge 609 im Blindsteuerfeld
1000 verglichen werden.
Wenn der zu schreibende Datensatz 301 im Cachespeicher 26
gespeichert ist, ist das Steuerfeld 600 bereits im Seg
ment 400 gespeichert worden, so daß das Blindsteuerfeld
1000 nicht gebildet wird. Nach dem Blindsteuerfeld 1000
oder dem Steuerfeld 600 werden ein Schlüsselfeldzeiger
1001, ein Datenfeldzeiger 1002 und ein Blindsteuerfeld-
Flag 1003 gespeichert.
Der Schlüsselfeldzeiger 1001 und der Datenfeldzeiger 1002
sind Zeiger für das im Cachespeicher 26 gespeicherte
Schlüsselfeld 607 bzw. Datenfeld 601. Der Grund für die
Schaffung dieser Zeiger besteht darin, daß ein Fall auf
treten kann, in dem die Bereiche zum Speichern eines
Schreibverzögerungsdatensatzes 160 nicht aufeinanderfol
gend angeordnet sind. Ein Beispiel für einen solchen Fall
wird im folgenden beschrieben: Wenn der Direktor 25 die
Partialschreibanforderung für nur ein Datenfeld 601 des
Datensatzes 301, der nicht im Cachespeicher 26 gespei
chert ist, empfängt, kann ein Bereich zum Speichern des
Schlüsselfeldes 607 nicht erstellt werden, weil die Länge
des Schlüsselfeldes 607 unbekannt ist. Daher wird die
Schlüsselfeldlänge 608 auf den Wert "Null" gesetzt. Da
nach wird angenommen, daß die Partialschreibanforderung
zum Ändern der Inhalte sowohl des Schlüsselfeldes 607 als
auch des Datenfeldes 601 empfangen wird. In diesem Fall
ist die Länge des Schlüsselfeldes 607 bekannt, so daß der
Bereich für das Schlüsselfeld 607 auf dieser Stufe er
stellt werden kann. Folglich wird, wie in Fig. 7 gezeigt,
der Bereich für das Schlüsselfeld 607 an einer Position
erstellt, die vom das Blindsteuerfeld 1000 enthaltenden
Schreibverzögerungsdatensatz 160 entfernt ist, so daß die
Bereiche zum Speichern eines einzigen Schreibverzöge
rungsdatensatzes nicht kontinuierlich sind.
Wenn der Direktor 25 das Blindsteuerfeld 1000 erzeugt
hat, wird das Blindsteuerfeld-Flag 1003 gesetzt, während
es zurückgesetzt wird, wenn der Direktor 25 den Datensatz
301 von der Plattenspeichereinheit 24 in den Cachespei
cher 26 geladen hat.
In Fig. 8 ist die Information gezeigt, die in dem Ver
zeichnis gemäß dieser Ausführungform vorgesehen ist.
Diese Information enthält eine Segmentverwaltungsinforma
tion 500, eine Spurtabelle 501 und einen Leersegmentwar
teschlangen-Kopfzeiger 502. Die Segmentverwaltungsinfor
mation 500 ist für jedes Segment 400 vorgesehen. Ande
rersseits sind im Verzeichnis 28 nur eine Spurtabelle 501
und ein Leersegmentwarteschlangen-Kopfzeiger 502 vorgese
hen.
In Fig. 9 ist die Information gezeigt, die in der Seg
mentverwaltungsinformation 500 gemäß dieser Ausführungs
form vorgesehen ist. Diese Informationen werden im fol
genden erläutert: Der Leersegmentzeiger 800 ist ein Zei
ger, der in der Segmentverwaltungsinformation 500 ein
weiteres leeres Segment 400 anzeigt; das Partialschreib
flag 801 ist ein Flag, das angibt, daß Schreibverzöge
rungsdaten 29, die aufgrund der Partialschreibanforderung
geschrieben werden, in dem der betreffenden Segmentver
waltungsinformation 500 entsprechenden Segment 400 ge
speichert werden; die Cachespurnummer 805 ist die Nummer
der Spur 300, die in dem der betreffenden Segmentverwal
tungsinformation 500 entsprechenden Segment 400 gespei
chert wird; der Datensatzzeiger 806 ist ein Zeiger auf
den Datensatz 301, der im der betreffenden Segmentverwal
tungsinformation 500 entsprechenden Segment 400 gespei
chert ist (beispielsweise ist der n-te Zeiger 806 ein
Zeiger auf den Datensatz 301, der die Datensatznummer 602
(n-1) besitzt. Wenn der Datensatz 301 mit der Daten
satznummer 602 (m-1) nicht im Cachespeicher 26 gespei
chert ist, nimmt der m-te Datensatzzeiger 806 den Wert
"Null" an. In diesem Beispiel wird angenommen, daß der
vorderste Datensatzzeiger 806 ein Zeiger auf den Daten
satz 301 mit der Datensatznummer Null ist. Die Anzahl der
Datensatzzeiger 806 entspricht der Anzahl der Datensatz
nummern 602, die innerhalb einer Spur 300 definiert wer
den können); Der Aktualisierungsdatensatzzeiger 807 ist
ein Zeiger, auf den Schreibverzögerungsdatensatz 160, der
in dem der betreffenden Segmentverwaltungsinformation 500
entsprechenden Segment gespeichert ist (selbst wenn in
diesem Fall der Partialschreibprozeß dem bereits im
Cachespeicher 26 gespeicherten Datensatz 301 dient,
verwaltet der Direktor 25 diesen Datensatz 301 als
Schreibverzögerungsdatensatz 160. Genauso wie der
Datensatzzeiger 806 ist der n-te Aktualisierungs-
Datensatzzeiger 807 ein Zeiger auf den Datensatz 301 mit
der Datensatznummer 602 (n-1). Wenn der Datensatz 301
mit der Datensatznummer 602 (m-1) kein Schreibver
zögerungsdatensatz 160 ist, nimmt der m-te Aktuali
sierungs-Datensatzzeiger 807 den Wert "Null" an. Die
Anzahl der Aktualisierungs-Datensatzzeiger 807 ist gleich
der Anzahl der Datensatznummer 602, die in einer Spur 300
gespeichert werden können); die Aktualisierungs-
Feldinformation 808 ist eine Information, die das
aktualisierte Feld 606 im Schreibverzögerungsdatensatz
160 mit der Datensatznummer n kennzeichnet (diese
Information gibt an, welche Kombination des Datensatzfel
des 600, des Schlüsselfeldes 607 und des Datenfeldes 601
die aktualisierten Felder bildet. Die Anzahl der Aktuali
sierungs-Feldinformationen 808 ist gleich der Anzahl der
Datensatznummern 602, die in einer Spur 300 definiert
werden können); die segmentinterne Leerbereichadresse 809
ist eine Adresse, die die Startadresse eines leeren Be
reichs des der betreffenden Segmentverwaltungsinformation
500 entsprechenden Segments 400 ist, in dem ein Datensatz
301 nicht gespeichert ist; der Segmentzeiger 810 ist ein
Zeiger auf das der betreffenden Segmentverwaltungsinfor
mation 500 entsprechende Segment im Cachespeicher 26.
In Fig. 10 ist die Struktur der Spurtabelle 501 gezeigt.
In der Spurtabelle 501 ist für jede Spur auf sämtlichen
Plattenspeichereinheiten 24 eine Information darüber ge
speichert, ob ihr das Segment zugeordnet ist. Wenn das
Segment einer Spur zugeordnet ist, wird die Information
in der Spurtabelle 501 durch einen Zeiger auf die dem be
treffenden Segment entsprechende Segmentverwaltungsinfor
mation 500 dargestellt. Andernfalls nimmt die Information
den Wert "Null" an. In der Spurtabelle 501 ist die Infor
mation über die Spuren 300 derselben Plattenspeicherein
heit 24 in der Reihenfolge der Spurnummern gespeichert.
Wie in Fig. 11 gezeigt, werden die Segmentverwaltungsin
formationen 500 für die leeren Segmente 400 zunächst
durch den Leersegmentwarteschlagen-Kopfzeiger 502 identi
fiziert und dann nacheinander durch die Leersegmentzeiger
800 der entsprechenden Segmentverwaltungsinformationen
500 miteinander verbunden.
In Fig. 12 ist die Struktur des Schreibverzögerungsspei
chers 27 gezeigt, in dem die Schreibverzögerungsinforma
tion 1100 für jede Plattenspeichereinheit 24 gespeichert
ist. Die Schreibverzögerungsinformation 1100 enthält die
einen Ausführungszustand des Schreibverzögerungsprozesses
darstellende Information und eine Fehlerinformation.
In Fig. 13 ist die in jeder Schreibverzögerungsinforma
tion 1100 gespeicherte Information, die im folgenden be
schrieben wird, gezeigt: Der Schreibverzögerungs-Segment
zeiger 1202 ist ein Zeiger auf die Segmentverwaltungsin
formation 500, die der Spur 300 entspricht, welche einem
Schreibverzögerungsprozeß unterworfen wird; die Informa
tion über eine Datensatznummerinkonsistenz 1203 ist eine
Information, die die Datensatznummer 602 desjenigen Da
tensatzes 301, der dem Schreibverzögerungsprozeß unter
worfen wird und nicht in der Plattenspeichereinheit 24
gespeichert ist, darstellt; die Information über eine
Feldlängeninkonsistenz 1204 ist eine Information, die
dasjenige Feld 606 darstellt, das einem Schreibverzöge
rungsprozeß unterworfen wird und dessen Länge inkonsi
stent ist.
Wenn die Information über die Datensatznummerinkonsistenz
1203 oder die Information über die Feldlängeinkonsistenz
1204 vorliegen, bedeutet dies, daß während des Schreib
verzögerungsprozesses ein Fehler aufgetreten ist. Ein
solcher Fehler kann aus verschiedenen Gründen auftreten.
Da jedoch solche Fehler in keiner direkten Beziehung zu
der vorliegenden Erfindung stehen, wird deren Beschrei
bung weggelassen.
Die obenerwähnte Information kann durch einen Stromaus
fall oder ähnliches gelöscht werden, so daß die Informa
tion vorzugsweise in einem nichtflüchtigen Speicher ge
speichert wird.
In Fig. 14 ist die Struktur des Direktors 25 gemäß dieser
Ausführungsform gezeigt. Im folgenden wird jeder Teil be
schrieben.
Der Cachespeicher-Partialschreibteil 10 überträgt auf
grund des Empfangs einer Partialschreibanforderung die
vom Kanal 22 empfangenen Daten an den Cachespeicher 26.
Der Schreibverzögerungs-Bereitstellungsteil 11 bestimmt
die Plattenspeichereinheit 24 und die Spur 300, die dem
Schreibverzögerungsprozeß unterworfen werden.
Der Schreibverzögerungs-Übertragungsteil 12 führt den vom
Schreibverzögerungs-Bereitstellungsteil 11 vorbereiteten
Schreibverzögerungsprozeß aus.
Der Schreibverzögerungsfehler-Entscheidungsteil 13 prüft
aufgrund des Empfangs einer Eingabe/Ausgabe-Anforderung
von der CPU 20, ob bei der Plattenspeichereinheit 24, an
die die Anforderung gerichtet war, im Schreibverzöge
rungsprozeß ein Fehler aufgetreten ist. Wenn ein Fehler
aufgetreten ist, wird diese Tatsache über den Kanal 22 an
die CPU 20 gemeldet.
Nun wird die Operation eines jeden Teils beschrieben. In
Fig. 15 ist ein Flußdiagramm gezeigt, das die vom Cache
speicher-Partialschreibteil 10 auszuführenden Prozesse
erläutert. Dieser Prozeßablauf enthält außerdem einen
Prozeß für den Fall, in dem der zu schreibende Datensatz
301 bereits im Cachespeicher 26 gespeichert ist. Dieser
Prozeßablauf wird ausgeführt, wenn der Direktor 25 von
der CPU 20 über den Kanal 22 eine Partialschreibanforde
rung empfängt, wobei die Partialschreibanforderung die
Bestimmungsinformation 5 für die Bestimmung eines Prozeß
modus enthält, durch den der Schreibprozeß selbst dann,
wenn der zu schreibende Datensatz 301 nicht im Cachespei
cher 26 gespeichert ist, abgeschlossen werden kann, wenn
die Daten im Cachespeicher 26 gespeichert sind.
Im Schritt 1300 wird geprüft, ob das Segment 400 der zu
beschreibenden Spur 300 bereits zugeordnet worden ist.
Diese Prüfung bezieht sich auf die der betreffenden Spur
300 entsprechende Spurtabelle 501. Wenn das Segment 400
noch nicht zugeordnet worden ist, geht die Verarbeitung
weiter zum Schritt 1301. Wenn die Zuordnung bereits
stattgefunden hat, geht die Verarbeitung weiter zum
Schritt 1305.
Im Schritt 1301 werden das Segment 400 und die Segment
verwaltungsinformation 500 der betreffenden Spur 300 zu
geordnet. Hierbei kann ein bekanntes Zuordnungsverfahren
verwendet werden.
Im Schritt 1302 wird die zugeordnete Segmentverwaltungs
information 500 initialisiert. Diese Initialisierung ent
hält beispielsweise einen Prozeß des Setzens der Spurnum
mer der zu beschreibenden Spur 300 als Cache-Spurnummer
805.
Im Schritt 1303 wird unter Verwendung der durch die Be
stimmungsinformation 3 bestimmten Datensatznummer das
Blindsteuerfeld 1000 ausgebildet.
Im Schritt 1304 werden die vom Kanal 22 empfangenen Daten
in dem Bereich gespeichert, der dem durch die Bestim
mungsinformation 4 bestimmten Feld 606 entspricht. Danach
geht der Prozeß weiter zum Schritt 1311. Im Schritt 1311
wird der für die Segmentverwaltungsinformation 500 benö
tigte Abschnitt aktualisiert, anschließend wird über den
Kanal 22 der Abschluß des Schreibprozesses an die CPU 20
gemeldet, woraufhin der Schreibprozeß beendet wird.
Wenn andererseits die Antwort im Schritt 1300 "Ja" lau
tet, wird im Schritt 1305 geprüft, ob der zu schreibende
Datensatz 301 momentan im Cachespeicher 26 gespeichert
wird. Bei dieser Prüfung wird auf die Segmentverwaltungs
information 500 Bezug genommen und geprüft, ob der Daten
satzzeiger 806 auf die betreffende Datensatznummer 602
den Wert "Null" annimmt. Wenn der zu schreibende Daten
satz 301 momentan nicht im Cachespeicher 26 gespeichert
ist, geht die Verarbeitung weiter zum Schritt 1303 und
den folgenden weiter, so daß die gleichen Prozesse wie in
dem Fall, in dem das Segment 400 der zu beschreibenden
Spur 300 noch nicht zugeordnet war, ausgeführt werden.
Wenn der zu schreibende Datensatz 301 momentan im Cache
speicher 26 gespeichert ist, geht der Prozeß weiter zum
Schritt 1306.
Im Schritt 1306 wird geprüft, ob die von der Bestimmungs
information 4 der CPU 20 bestimmten Felder 606 im Cache
speicher 26 gespeichert sind. Wenn sie gespeichert sind,
geht der Prozeß weiter zum Schritt 1308. Wenn nicht, geht
der Prozeß weiter zum Schritt 1307.
Im Schritt 1307 wird geprüft, ob das Blindsteuerfeld-Flag
1300 für den zu schreibenden Datensatz 301 gesetzt ist
oder nicht. Wenn nicht, bedeutet dies, daß der zu schrei
bende Datensatz 301 von der Spur 300 in den Cachespeicher
26 geladen wurde. Daher widerspricht dieser Fall den Prü
fergebnissen im Schritt 1306, nämlich, daß sämtliche Fel
der 606 gespeichert worden sind. Daher springt die Verar
beitung zum Schritt 1313, um eine Fehlermeldung auszuge
ben. Wenn andererseits das Blindsteuerfeld-Flag 1003 ge
setzt ist, geht die Verarbeitung weiter zum Schritt 1312.
lm Schritt 1312 werden die vom Kanal 22 empfangenen Daten
in den Bereich gespeichert, die den bereits gespeicherten
und neu erstellten Feldern 606 entsprechen. Die Länge der
im Cachespeicher 26 neu gespeicherten Daten wird als
Schlüsselfeldlänge 608 oder als Datenfeldlänge 603 im
Blindsteuerfeld 1000 gespeichert. Für den Schlüsselfeld
zeiger 1001 bzw. den Datenfeldzeiger 1002 wird ein ge
eigneter Wert gesetzt. Danach geht der Prozeß weiter zum
Schritt 1309.
Wenn andererseits die Antwort im Schritt 1306 "Ja" lau
tet, werden die vom Kanal 22 empfangenen Daten im Cache
speicher 26 in dem dem Feld 606 entsprechenden Bereich
gespeichert.
Im Schritt 1309 wird geprüft, ob die im Cachespeicher 26
in dem dem Feld 606 entsprechenden Bereich gespeicherten
Daten mit der Schlüsselfeldlänge 608 oder der Datenfeld
länge 603 im Steuerfeld 600 konsistent sind. Wenn sie
konsistent sind, geht der Prozeß weiter zum Schritt 1311,
andernfalls geht der Prozeß zum Schritt 1310.
Im Schritt 1310 wird die Datenlängeninkonsistenz über den
Kanal 22 an die CPU 20 gemeldet, anschließend wird der
Prozeß beendet.
Wenn andererseits im Schritt 1307 die Antwort "Nein" lau
tet, meldet der Direktor 25 im Schritt 1313 über den Ka
nal 22 an die CPU 20 den Widerspruch bezüglich des Feldes
606, um anschließend den Prozeß zu beenden.
ln Fig. 16 ist ein Flußdiagramm gezeigt, das die vom
Schreibverzögerungs-Bereitstellungsteil 11 auszuführenden
Prozesse erläutert. Dieser Prozeßablauf enthält auch
einen Prozeß des Schreibens von Schreibverzögerungsdaten
29, die im im Cachespeicher 26 gespeicherten Datensatz
301 enthalten sind, in die Plattenspeichereinheit 24.
Dieser Prozeß wird vom Direktor 25 während einer Leerzeit
ausgeführt. D. h., daß die im Cachespeicher 26 gespeicher
ten Daten aufgrund des Empfangs einer Partialschreiban
forderung in die Plattenspeichereinheit 24 geschrieben
werden.
Die Plattenspeichereinheit 24, die beschrieben werden
soll, ist diejenige Plattenspeichereinheit, für die das
Schreibverzögerungsprozeß-Flag 1200 nicht gesetzt ist und
für die eine Eingabe/Ausgabe-Anforderung nicht bestätigt
ist. Die im Schreibverzögerungsprozeß zu beschreibende
Spur 300 ist eine Spur, die der Segmentverwaltungsinfor
mation 500 entspricht, deren Partialschreibflag 801 ge
setzt ist.
Zunächst wird das Schreibverzögerungsprozeß-Flag 1200 der
Schreibverzögerungsinformation 1100 der zu beschreibenden
Plattenspeichereinheit 24 gesetzt, anschließend wird ein
Zeiger für die Segmentverwaltungsinformation 500 für die
zu beschreibende Spur 300 als Schreibverzögerungs-Segm
entzeiger 1202 gesetzt.
Im Schritt 1401 wird für die zu beschreibende Spur 300
eine Positionierungsanforderung an die zu beschreibende
Plattenspeichereinheit 24 geliefert 55003 00070 552 001000280000000200012000285915489200040 0002004039891 00004 54884, woraufhin der Prozeß
beendet ist.
In Fig. 17 ist ein Flußdiagramm gezeigt, mit der die vom
Schreibverzögerungs-Übertragungsteil 12 auszuführenden
Prozesse erläutert werden. Dieser Prozeßablauf enthält
auch einen Prozeß des Schreibens von Schreibverzögerungs
daten, die im im Cachespeicher 26 gespeicherten Datensatz
301 enthalten sind, in die Plattenspeichereinheit 24.
Dieser Prozeß wird ausgeführt, nachdem die vom Schreib
verzögerungs-Bereitstellungsteil erzeugte Positionie
rungsanforderung für die Plattenspeichereinheit vollstän
dig ausgeführt worden ist.
Im Schritt 1500 wird geprüft, ob sämtliche Schreibverzö
gerungsdatensätze 160 vollständig in die Zielspur 300 ge
schrieben worden sind. Wenn in keinem der Aktualisie
rungs-Datensatzzeiger 807 in derjenigen Segmentverwal
tungsinformation 500, auf die der Schreibverzögerungs-
Segmentzeiger 1202 zeigt, der Wert "Null" vorhanden ist,
bedeutet dies, daß der Schreibverzögerungsdatensatz 160
vollständig geschrieben worden ist. Wenn ein Wert "Null"
vorliegt, bedeutet dies, daß noch nicht der gesamte
Schreibverzögerungsdatensatz 160 geschrieben worden ist.
Wenn der Schreibprozeß abgeschlossen ist, geht der Prozeß
weiter zum Schritt 1509, andernfalls geht der Prozeß zum
Schritt 1501.
Im Schritt 1501 wird mit der Suche des Datensatzes 301
der Spur 300 begonnen, wobei die physikalische Position
auf der Spur 300, von der aus die Suche begonnen wurde,
gespeichert wird. Die gespeicherte physikalische Position
wird für die Feststellung einer Umdrehung der Spur 300
auf der Platte verwendet.
Im Schritt 1502 wird das Steuerfeld 600 des Datensatzes
301 auf der Spur 300 gelesen.
Im Schritt 1503 wird die Datensatznummer 602 im ausgele
senen Steuerfeld 600 mit der Datensatznummer 602 im
Blindsteuerfeld 1000 oder im Steuerfeld 600, auf das der
Aktualisierungs-Datensatzzeiger 807 zeigt, verglichen.
Wenn beide Datensatznummern 602 übereinstimmen, bedeutet
dies, daß der Datensatz 301, auf den nun zugegriffen
wird, für den Schreibverzögerungsprozeß verwendet werden
soll, so daß der Prozeß zum Schritt 1504 weitergeht. An
dernfalls geht der Prozeß weiter zum Schritt 1507.
Im Schritt 1504 wird das zu beschreibende Feld 606 unter
Verwendung der dem Aktualisierungs-Datensatzzeiger 807
entsprechenden Aktualisierungsfeldinformation 808 ermit
telt. Die Länge des ermittelten Feldes 606 wird aus der
Schlüsselfeldlänge 608 oder aus der Datenfeldlänge 603 im
Blindsteuerfeld 1000 oder im Steuerfeld 600 abgeleitet.
Die abgeleitete Länge wird mit der Schlüsselfeldlänge 608
oder der Datenfeldlänge 603 im Steuerfeld 600, das im
Schritt 1502 aus der Spur 300 gelesen worden ist, vergli
chen, um ihre Übereinstimmung zu prüfen. Wenn die Längen
nicht übereinstimmen, geht der Prozeß weiter zum Schritt
1506, ohne daß Daten geschrieben werden. Wenn anderer
seits die Längen übereinstimmen, geht der Prozeß weiter
zum Schritt 1505. In diesem Schritt werden die Schreib
verzögerungsdaten 29 für das zu beschreibende Feld 606
auf der Spur 300 in denjenigen Datensatz 301 geschrieben,
auf den zugegriffen worden ist. Anschließend kehrt der
Prozeß zum Schritt 1500 zurück.
Im Schritt 1506 wird die Information über eine Feldlän
geninkonsistenz der Schreibverzögerungsinformation 1100
gesetzt, anschließend geht der Prozeß weiter zum Schritt
1510.
Im Schritt 1507 wird geprüft, ob für die Suche nach dem
zu schreibenden Datensatz 301 eine Umdrehung der Spur 300
ausgeführt worden ist. Wenn nicht, kehrt der Prozeß zum
Schritt 1502 zurück, um die Suche fortzusetzen. Andern
falls geht der Prozeß weiter zum Schritt 1508.
Im Schritt 1508 wird die Information über die Datensatz
nummerinkonsistenz 1203 gesetzt, anschließend geht der
Prozeß weiter zum Schritt 1510.
Im Schritt 1509 wird die aufgrund des Abschlusses des
Schreibverzögerungsprozesses notwendig gewordene Aktuali
sierung der Segmentverwaltungsinformation 500 vorgenom
men.
Im Schritt 1510 wird das Schreibverzögerungsprozeß-Flag
1200 zurückgesetzt, woraufhin der Prozeß beendet wird.
In Fig. 18 ist ein Flußdiagramm gezeigt, mit dem die vom
Schreibverzögerungsfehler-Entscheidungsteil 13 auszufüh
renden Prozesse erläutert werden.
Dieser Prozeßablauf wird ausgeführt, wenn von der CPU 20
über den Kanal 22 eine Eingabe/Ausgabe-Anforderung emp
fangen wird.
Im Schritt 1600 wird geprüft, ob für die Ziel-Platten
speichereinheit 24 die Information über eine Datensatz
nummerinkonsistenz 1203 oder die Information über eine
Feldlängeninkonsistenz 1204 der Schreibverzögerungsinfor
mation 1100 gesetzt ist. Wenn weder die eine noch die an
dere Information gesetzt ist, ist der Prozeß beendet.
Wenn wenigstens eine der Informationen 1203 oder 1204 ge
setzt ist, geht der Prozeß weiter zum Schritt 1601.
Im Schritt 1601 wird an die CPU 20 eine Fehlermeldung
ausgegeben, anschließend wird der Prozeß beendet.
Nun wird mit Bezug auf die Fig. 19 bis 25 eine zweite
Ausführungsform der vorliegenden Erfindung beschrieben.
In dieser Ausführungsform führt in dem Fall, in dem der
zu schreibende Datensatz 301 nicht im Cachespeicher 26
gespeichert ist, der Direktor 25 auf der Grundlage der in
der Steuereinheit 23 gehaltenen Information eine Prüfope
ration aus, wobei der Schreibprozeß dann abgeschlossen
ist, wenn die Daten in den Cachespeicher 26 geschrieben
worden sind.
Fig. 19 ist ein detailliertes Blockschaltbild, in dem das
Informationsverarbeitungssystem gemäß dieser zweiten Aus
führungsform gezeigt ist. Die zweite Ausführungsform un
terscheidet sich von der in Fig. 1 gezeigten und oben be
schriebenen ersten Ausführungsform durch die folgenden
Merkmale. Zunächst speichert der Schreibverzögerungsspei
cher 27 eine Schreibverzögerungs-Spurinformation ª 1700,
die für jede der Spuren 300 angibt, ob sie eine Daten
satznummer doppelt enthält. Zweitens enthält die durch
die CPU 20 bestimmte Information b 3300 nicht die Bestim
mungsinformation 5, die in dem Fall, in dem der zu
schreibende Datensatz 301 nicht im Cachespeicher 26 ge
speichert ist, einen Prozeßmodus bestimmt. Drittens ent
hält die Ausführungsbedingung b 3310 der Cache-Schreibo
peration 120 eine Bedingung, daß die zu beschreibende
Spur 300 eine gedoppelte Datensatznummer nicht enthält.
Die übrige Struktur ist die gleiche wie diejenige in der
in Fig. 1 gezeigten ersten Ausführungsform. Die folgende
Beschreibung bezieht sich daher hauptsächlich auf die
Merkmale, die sich von der ersten Ausführungsform unter
scheiden.
In Fig. 20 ist die Struktur des Schreibverzögerungsspei
chers 27 gemäß der zweiten Ausführungsform gezeigt. Der
Unterschied gegenüber dem in Fig. 12 gezeigten Schreib
verzögerungsspeicher 27 gemäß der ersten Ausführungsform
besteht darin, daß der Schreibverzögerungsspeicher 27 der
zweiten Ausführungform eine Schreibverzögerungs-Spurin
formation ª 1700 speichert, die für jede Plattenspeicher
einheit 24 vorgesehen ist.
In Fig. 21 ist die Struktur der Schreibverzögerungs-
Spurinformation ª 1700 gezeigt. Diese lnformation enthält
eine Spurzustandinformation ª 1800, die einen der drei
folgenden Zustände darstellt: einen Zustand, in dem keine
gedoppelte Datensatznummer vorhanden ist, einen Zustand,
in dem eine gedoppelte Datensatznummer vorhanden ist, und
einen Zustand, in dem ungewiß ist, ob eine gedoppelte Da
tensatznummer vorhanden ist. Der Spurzustand ª 1800 einer
jeden Spur 300 wird in der Reihenfolge der Spurnummern
gespeichert.
In Fig. 22 ist ein Zustandsübergang des Spurzustands ª
1800 gezeigt. Der Spurzustand ª 1800 nimmt zu Beginn
einen Zustand 391 an, in dem unsicher ist, ob die Spur
300 eine gedoppelte Datensatznummer enthält. Aufgrund des
Empfangs einer Partialschreibanforderung in diesem Zu
stand 391 prüft der Direktor 25, ob in der Spur 300 eine
gedoppelte Datensatznummer vorliegt. Wenn eine solche ge
doppelte Datensatznummer nicht vorliegt, wird der Spurzu
stand ª 1800 in einen Zustand 392 versetzt, in dem keine
gedoppelte Datensatznummer vorhanden ist. Wenn eine ge
doppelte Datensatznummer vorliegt, wird der Spurzustand ª
1800 in einen Zustand 393 versetzt, in dem eine gedop
pelte Datensatznummer vorhanden ist. Wenn eine For
matschreibanforderung empfangen wird, sorgt der Direktor
25 dafür, daß der Spurzustand ª 1800 den Zustand 391 an
nimmt, in dem ungewiß ist, ob eine gedoppelte Datensatz
nummer vorliegt. Der Grund hierfür besteht darin, daß die
Möglichkeit besteht, daß die Datensatznummer 602 des Da
tensatzes durch den Formatschreibprozeß geändert worden
sein könnte.
Der Cachespeicher 26, das Speicherformat des Segmentes
400, des Verzeichnis 28, die Segmentverwaltungsinforma
tion 500, die Spurtabelle 501 und der Leersegmentwarte
schlange-Kopfzeiger 502 besitzen sämtlich die gleiche
Struktur wie in der ersten Auführungsform, wie sie in den
Fig. 6, 7, 8, 9, 10 bzw. 11 gezeigt ist.
In Fig. 23 ist die Struktur des Direktors 25 gemäß der
zweiten Ausführungsform gezeigt. Der Unterschied zwischen
dem Direktor 25 gemäß der zweiten Ausführungsform und dem
Direktor 25 gemäß der in Fig. 1 gezeigten ersten Ausfüh
rungsform besteht darin, daß der Direktor 25 gemäß der
zweiten Ausführungsform zusätzlich die beiden im folgen
den beschriebenen Teile besitzt.
Erstens einen Schreibverzögerungsspurinformation-Verwal
tungsteil ª 14, der folgendermaßen arbeitet: Wenn für die
Spur 300, deren Spurzustand ª 1800 der Zustand 391 ist,
in dem ungewiß ist, ob in der Spur 300 eine gedoppelte
Datensatznummer vorliegt oder nicht, eine Partial
schreibanforderung empfangen wird, prüft dieser Teil, ob
in der Spur 300 eine gedoppelte Datensatznummer vorliegt;
das Prüfergebnis wird als Spurzustand ª 1800 gespeichert.
Zweitens einen Schreibverzögerungsspurinformation-Verwal
tungsteil b 15, der auf die folgende Weise arbeitet: Wenn
für die Spur 300 eine Formatschreibanforderung empfangen
wird, bewirkt dieser Teil, daß der Spurzustand ª 1800 der
Spur 300 den Zustand 391 annimmt, in dem ungewiß ist, ob
eine gedoppelte Datensatznummer vorliegt oder nicht.
Die Prozeßabläufe für den Cachespeicher-Partialschreib
teil 10, für den Schreibverzögerungs-Bereitstellungsteil
11, für den Schreibverzögerungs-Übertragungsteil 12 und
für den Schreibverzögerungsfehler-Entscheidungsteil 13
sind die gleichen wie diejenigen in den Fig. 15 bis 18,
mit der Ausnahme, daß der Prozeßablauf für den Cachespei
cher-Partialschreibteil 10 auf eine gegenüber der ersten
Ausführungsform verschiedene Weise ausführbar ist. In der
zweiten Ausführungsform kann der Prozeß des Cachespei
cher-Partialschreibteils 10 nur dann ausgeführt werden,
wenn der Spurzustand ª 1800 der Spur 300, die einer Par
tialschreibanforderung von der CPU 20 unterworfen wird,
den Zustand 392 annimmt, in dem keine gedoppelte Daten
satznummer vorhanden ist.
In den Fig. 24A und Fig. 24B sind Flußdiagramme gezeigt,
die vom Schreibverzögerungsspurinformation-Verwaltungs
teil ª 14 ausgeführt werden.
Der in Fig. 24A gezeigte Prozeßablauf kann dann ausge
führt werden, wenn der Direktor 25 für die Spur 300, de
ren Spurzustand ª 1800 den Zustand 391 annnimmt, in dem
ungewiß ist, ob eine gedoppelte Datensatznummer vorliegt,
eine Partialschreibanforderung empfängt.
Im Schritt 2000 wird eine Positionierungsanforderung an
die Spur 300 ausgegeben, an die die Partialschreibanfor
derung gerichtet war, woraufhin der Prozeß beendet ist.
Der in Fig. 24B gezeigte Prozeßablauf kann ausgeführt
werden, wenn die im Schritt 2000 ausgegebene Positionie
rungsanforderung abgeschlossen worden ist.
Im Schritt 2001 wird geprüft, ob eine gedoppelte Daten
satznummer vorliegt, indem sämtliche Datensätze 301 auf
der Spur 300, an die die Partialschreibanforderung ge
richtet war, gelesen werden.
Im Schritt 2002 wird das Prüfergebnis im Spurzustand ª
1800 der betreffenden Spur 300 gespeichert, woraufhin der
Prozeß beendet ist.
In Fig. 25 ist ein Flußdiagramm gezeigt, daß vom Schreib
verzögerungsspurinformation-Verwaltungsteil b 15 ausge
führt wird. Dieser Prozeßablauf kann ausgeführt werden,
wenn der Direktor 25 eine Formatschreibanforderung emp
fängt.
Im Schritt 2100 wird bewirkt, daß der Spurzustand ª 1800
der Spur 300, die dem Formatschreibprozeß unterworfen
wird, den Zustand 391 annimmt, in dem ungewiß ist, ob
eine gedoppelte Datensatznummer vorhanden ist, anschlie
ßend wird der Prozeß beendet.
Nun wird mit Bezug auf die Fig. 26 bis 34 eine dritte
Ausführungsform der vorliegenden Erfindung beschrieben.
Wenn in der dritten Ausführungsform der zu schreibende
Datensatz 301 nicht im Cachespeicher 26 gespeichert ist
und nur wenn die besondere, bestimmte Information von der
CPU 20 empfangen wird, werden Daten in den Cachespeicher
26 geschrieben, so daß der Schreibprozeß auf dieser Stufe
abgeschlossen ist. Darüber hinaus ist es beabsichtigt,
die Effizienz des Schreibverzögerungsprozesses zu verbes
sern, indem die physikalische Schreibposition des zu
schreibenden Datensatzes 301 auf der Spur 300 berechnet
wird.
Im folgenden wird der Grund erläutert, warum durch die
Berechnung der physikalischen Schreibposition die Effizi
enz des Schreibverzögerungsprozesses verbessert wird. Wie
in Fig. 33 gezeigt, kann die Schreibeffizienz verbessert
werden, wenn eine Mehrzahl von Schreibverzögerungsdaten
sätzen 160 in Datensätze 301 unterhalb des Schreib/Lese-
Kopfes 309 an physikalischen Schreibpositionen geschrie
ben werden, die in einer zur Drehrichtung des Platten
speichers 308 entgegengesetzten Richtung nacheinander an
geordnet sind. Wie ferner in Fig. 34 gezeigt, kann in dem
Fall, in dem sich zwei physikalische Schreibpositionen in
einem Abstand befinden, der gleich oder größer als ein
vorgegebener Abstand ist, die Effizienz weiter verbessert
werden, falls der Schreibverzögerungsprozeß zwischen den
zwei Schreibverzögerungsdatensätzen 160 unterbrochen
wird, weil das Zeitintervall, in dem der Direktor 25 und
die Datenübertragungsleitungen nutzlos belegt sind, be
seitigt wird.
In Fig. 26 ist ein detailliertes Blockschaltbild des In
formationsverarbeitungssystems gemäß der dritten Ausfüh
rungsform gezeigt. Die Merkmale, die die dritte Ausfüh
rungsform von der in Fig. 1 gezeigten ersten Ausführungs
form unterscheiden, werden im folgenden beschrieben.
Erstens enthält die Bestimmungsinformation 3400 von der
CPU 20 nicht die Bestimmungsinformation 5, sondern Be
stimmungsinformationen 6 bzw. 7.
Die Bestimmungsinformation 6 bestimmt die Menge der zu
schreibenden Daten. Wenn nur ein Feld beschrieben werden
soll, wird die Länge dieses Feldes 606 als Schreibdaten
menge verwendet. Wenn der Direktor 25 von der CPU 20 die
Bestimmungsinformation 6 empfängt, kann die physikalische
Schreibposition für den zu schreibenden Datensatz 301 auf
der Spur berechnet werden, bevor vom Kanal 22 Daten emp
fangen werden. Die Bestimmungsinformation 6 muß nicht un
bedingt vorgesehen werden, so daß die Bestimmungsinforma
tion 6 in Fig. 26 in Klammern gezeigt ist.
Die Bestimmungsinformation 7 ist eine Information, die
angibt, daß die zu beschreibende Spur 300 die folgenden
Strukturbedingungen A bis C erfüllt.
Bedingung A: Die Datensatznummern 602 der Datensätze 301
der zu beschreibenden Spur 300 sind in aufsteigender
Folge gegeben, wobei bei der Datensatznummer "Null" des
Steuerdatensatzes 310 begonnen wird und anschließend je
weils um "Eins" erhöht wird.
Bedingung B: Das Feld 606, das vom Steuerfeld 600 ver
schieden ist, enthält nur das Datenfeld 601, während die
Länge des Datenfeldes 601 des vom Steuerdatensatz 310
verschiedenen Datensatzes 301 für jeden Datensatz in der
Spur die gleiche ist.
Bedingung C: Der Steuerdatensatz 310 ist ein Standardda
tensatz. D. h., daß das vom Steuerfeld 600 verschiedene
Feld 606 des Steuerdatensatzes 310 nur das Datenfeld ent
hält, wobei die Länge des Datenfeldes eine vorgegebene
Standardlänge ist.
Wenn die Strukturbedingungen A bis C erfüllt sind, wird
es möglich, die physikalische Schreibposition des Daten
satzes 301 der Spur 300 zu berechnen.
Der Grund dafür, daß die physikalische Schreibposition
berechnet werden kann, ist der folgende. Wenn die Bedin
gung A erfüllt ist, ist aufgrund der Datensatznummer 602,
die vom Direktor 25 vom Kanal 22 empfangen wird, bekannt,
wo sich der zu schreibende Datensatz 301 bezogen auf den
Beginn der Spur 300 befindet. Wenn die Bedingungen B und
C erfüllt sind, ist aufgrund der Länge der vom Kanal 22
empfangenen Daten oder aufgrund der in der Bestimmungsin
formation 6 enthaltenen Schreibdatenmenge die Länge des
Feldes 606 eines jeden Datensatzes 301 auf der Spur 300
bekannt. Mit dieser Information ist es möglich, die phy
sikalische Position des zu schreibenden Datensatzes 301
auf der Spur 300 zu berechnen.
Ob die zu beschreibende Spur 300 die Bedingungen A bis C
erfüllt, wird an einen Steuermechanismus in der CPU 20
gemeldet. Damit kann die CPU 20 die Bestimmungsinforma
tion 7 erzeugen.
Das zweite Merkmal, durch das sich die dritte Ausführung
form gegenüber der ersten Ausführungsform unterscheidet,
besteht darin, daß die Ausführungsbedingung c 3410 der
Cache-Schreiboperation 120 erfüllt ist, wenn die zu be
schreibende Spur 300 die Bedingungen A bis C erfüllt.
Nun wird ein weiteres Merkmal der Operation des Schrei
bens der Schreibverzögerungsdaten 29 in die Plattenspei
chereinheit 24 beschrieben, durch das sich die dritte
Ausführungsform gegenüber der ersten Ausführungsform un
terscheidet.
Insbesondere prüft der Direktor 25 für die Schreibverzö
gerungsinformation d 3420, ob sich der Datensatz 301 mit
der von der Bestimmungsinformation 3 gelieferten Daten
satznummer 602 in der Nähe eines vorgegebenen Abstandsin
tervalls um die berechnete Schreibposition des Daten
satzes 301 auf der Spur 300 der Plattenspeichereinheit 24
befindet. Die Abtastung nach dem Datensatz in der Nähe
des vorgegebenen Abstandsintervalls um die berechnete
Schreibposition wird deshalb ausgeführt, weil die physi
kalische Position des Datensatzes 301 um einige Grad ver
schoben wird, falls ein fehlerhafter Datensatz, der nicht
gelesen/geschrieben werden kann, auf der Spur 300 vorhan
den ist.
Der Cachespeicher 26, das Verzeichnis 28, die Spurtabelle
501, der Leersegmentwarteschlangen-Kopfzeiger 502 und der
Schreibverzögerungsspeicher 27 besitzen sämtlich die
gleiche Struktur wie in der ersten Ausführungsform, wie
sie in den Fig. 6, 8, 10, 11 bzw. 12 gezeigt sind.
Ferner besitzen auch das Blindssteuerfeld 1000, der
Schlüsselfeldzeiger 1001, der Datenfeldzeiger 1002 und
das Blindsteuerfeld-Flag 1003 des Segments 400 sämtlich
die gleiche Struktur wie in der ersten Ausführungsform,
wie sie entsprechend in Fig. 7 gezeigt ist.
Das Schlüsselfeld 607 ist jedoch nicht im Datensatz 301
der Spur 300, die die Bedingungen A bis C erfüllt, vor
handen, so daß die Schlüsselfeldlänge 608 des Blindsteu
erfeldes 1000 stets den Wert "Null" besitzt und der
Schlüsselfeldzeiger 1001 stets den Wert "Null" annimmt.
Darüber hinaus enthält das Feld 606, das Gegenstand des
Partialschreibprozesses ist, nur das Datenfeld 601, so
daß das Blindsteuerfeld 1000, der Schlüsselfeldzeiger
1001, der Datenfeldzeiger 1002, das Blindsteuerfeld-Flag
1003 und das Datenfeld 601 sämtlich in aufeinanderfolgen
den Bereichen gespeichert werden.
In Fig. 27 ist die Struktur der Segmentverwaltungsinfor
mation 500 gemäß der dritten Ausführungsform gezeigt. Der
Unterschied gegenüber der in Fig. 9 gezeigten ersten Aus
führungsform besteht darin, daß die Segmentverwaltungsin
formation 500 gemäß der dritten Ausführungsform zusätz
lich die folgenden Informationen enthält: ein Bit 2200,
das angibt, ob die Berechnung der Schreibposition möglich
ist. wobei dieses Bit angibt, ob die Spur der betreffen
den Segmentverwaltungsinformation die Bedingungen A bis C
erfüllt; und eine feste Datenfeidlänge 2201, die die fe
ste Länge des Datenfeldes 601 des vom Steuerdatensatz 310
verschiedenen Datensatzes 301 darstellt.
In Fig. 28 ist die Struktur der Schreibverzögerungsinfor
mation 1100 gezeigt. Der Unterschied gegenüber der in
Fig. 13 gezeigten ersten Ausführungsform besteht darin,
daß die Schreibverzögerungsinformation 1100 gemäß der
dritten Ausführungsform die folgenden Informationen ent
hält.
Eine Schreibverzögerungs-Startdatensatznummer 2300, die
dem folgenden Zweck dient: wenn in der dritten Ausfüh
rungsform die Positionen zweier Schreibverzögerungsdaten
sätze 160 auf der Spur 300 um einen vorgegebenen Abstand
oder mehr voneinander entfernt sind, wird die Datenüber
tragung an die Plattenspeichereinheit 24 unterbrochen und
ein Positionierungsprozeß ausgeführt, um die Effizienz
des Schreibverzögerungsprozesses zu verbessern; daher
wird die Datensatznummer 602 des nächsten Schreibverzöge
rungsdatensatzes 160 als diese Schreibverzögerungs-Start
datensatznummer gesetzt.
Eine Information 2301 der Inkonsistenz der physikalischen
Position des Datensatzes, die gesetzt wird, wenn der Da
tensatz 301 nicht an der berechneten physikalischen Posi
tion vorliegt.
Die Struktur des Direktors 25 ist gleich derjenigen der
in Fig. 14 gezeigten ersten Ausführungsform; sie ist aus
einem Cachespeicher-Partialschreibteil 10, einem Schreib
verzögerungs-Bereitstellungsteil 11, einem Schreibverzö
gerungs-Übertragungsteil 12 und einem Schreibverzöge
rungsfehler-Entscheidungsteil 13 aufgebaut. Die Prozeßab
läufe, die für jeden dieser Teile gegenüber denjenigen
der ersten Ausführungsform verschieden sind, werden im
folgenden beschrieben.
In Fig. 29 ist ein Flußdiagramm gezeigt, mit dem die vom
Cachespeicher-Partialschreibteil 10 auszuführenden Pro
zesse erläutert werden. Ähnlich wie im Prozeßablauf gemäß
der ersten Ausführungsform enthält auch dieser Prozeßab
lauf einen Prozeß für den Fall, in dem der zu schreibende
Datensatz 301 bereits im Cachespeicher 26 gespeichert
ist.
Dieser Prozeßablauf wird ausgeführt, wenn eine Partial
schreibanforderung zusammen mit der Information, die an
gibt, daß die zu beschreibende Spur 300 die Bedingungen A
bis C erfüllt, empfangen wird.
Der Prozeß wird im folgenden unter besonderer Berücksich
tigung derjenigen Merkmale, die gegenüber denen der in
Fig. 15 gezeigten ersten Ausführungsform verschieden
sind, beschrieben.
Im Schritt 2400 wird entsprechend der aus der Bestim
mungsinformation 3 erhaltenen Datensatznummer und ent
sprechend der aus der Bestimmungsinformation 6 erhaltenen
Schreibdatenmenge die physikalische Position des Daten
satzes 301 auf der Spur 300 berechnet.
Im Schritt 2401 wird geprüft, ob der durch die berechnete
physikalische Position bestimmte Bereich innerhalb des
Umfangs einer Spur 300 liegt. Wenn nicht, geht der Prozeß
weiter zum Schritt 2412, andernfalls zum Schritt 2402.
Im Schritt 2402 wird geprüft, ob das Segment 400 der zu
beschreibenden Spur 300 zugeordnet worden ist. Wenn diese
Zuordnung bereits stattgefunden hat, geht der Prozeß wei
ter zum Schritt 2407, andernfalls zum Schritt 2403.
ln den Schritten 2403 und 2404 wird die zu beschreibende
Spur 300 dem Segment 400 und der Segmentverwaltungsinfor
mation 500 zugeordnet, anschließend wird die Segmentver
waltungsinformation initialisiert. Diese Prozesse sind
ähnlich denjenigen der Schritte 1301 und 1302 in Fig. 15.
Die Prozesse der Schritte 2405 und 2406 werden dann aus
geführt, wenn für einen Datensatz 301, der nicht im Ca
chespeicher 26 vorhanden ist, eine Partialschreibanforde
rung empfangen wird. Diese Prozesse sind denjenigen der
Schritte 1303 und 1304 in Fig. 15 ähnlich. Nach Ausfüh
rung der Verarbeitung im Schritt 2406 geht der Prozeß
weiter zum Schritt 2411.
Im Schritt 2407 wird geprüft, ob die Validität der von
der Bestimmungsinformation 6 empfangenen Schreibdaten
menge geprüft werden kann oder nicht. D. h., daß geprüft
wird, ob der Direktor 25 die durch die CPU 20 bestimmte
Schreibdatenmenge prüfen kann.
Wenn der zu schreibende Datensatz der Steuerdatensatz 310
ist, besitzt die Datenfeldlänge 602 des Steuerdatensatzes
310 auf der Spur 300 wegen der Bedingung C einen bestimm
ten Referenzwert. Daher ist es möglich, die Validität der
Schreibdatenmenge durch Vergleich der durch die CPU 20
bestimmten Schreibdatenmenge mit dem Referenzwert des Da
tenfeldes 601 des Steuerdatensatzes 310 zu prüfen.
Wenn der zu schreibende Datensatz 301 ein vom Steuerda
tensatz 310 verschiedener Datensatz ist, ist die Daten
feldlänge 602 eines jeden vom Steuerdatensatz 310 ver
schiedenen Datensatzes 301 wegen der Bedingung B gleich.
Wenn daher wenigstens ein vom Steuerdatensatz 310 ver
schiedener Datensatz 301 im Cachespeicher 26 gespeichert
wird, ist es möglich, die Validität durch Vergleich der
durch die CPU 20 bestimmten Schreibdatenmenge mit der Da
tenfeldlänge des im Cachespeicher 26 gespeicherten und
vom Steuerdatensatz verschiedenen Datensatzes zu prüfen.
Wenn die Validitätsprüfung nicht möglich ist, geht der
Prozeß weiter zum Schritt 2409, andernfalls geht der Pro
zeß weiter zum Schritt 2408.
lm Schritt 2408 wird die Validität der Schreibdatenmenge
geprüft. Wenn die Schreibdatenmenge nicht gültig ist,
geht der Prozeß weiter zum Schritt 2412, um an die CPU 20
einen Fehler zu melden. Wenn die Schreibdatenmenge ande
rerseits gültig ist, geht der Prozeß weiter zum Schritt
2409.
Im Schritt 2409 wird geprüft, ob der zu schreibende Da
tensatz 301 im Cachespeicher 26 gespeichert ist. Dieser
Schritt ist ähnlich dem in Fig. 15 gezeigten Schritt
1305. Wenn der Datensatz 301 nicht gespeichert ist, geht
der Prozeß weiter zum Schritt 2405, andernfalls zum
Schritt 2410.
Im Schritt 2410 werden die vom Kanal 22 empfangenen Daten
in das Datenfeld 601 des Cachespeichers 26 geschrieben.
Im Schritt 2411 wird die für die Segmentverwaltungsinfor
mation 500 erforderliche lnformation aktualisiert, an
schließend wird der Abschluß des Schreibprozesses über
den Kanal 22 an die CPU 20 gemeldet, schließlich wird der
Prozeß beendet.
Im Schritt 2412 wird der CPU 20 über den Kanal 22 gemel
det, daß die Schreibdatenmenge nicht gültig ist, an
schließend wird der Prozeß beendet.
In Fig. 30 ist ein Flußdiagramm gezeigt, das die vom
Schreibverzögerungs-Bereitstellungsteil 11 auszuführenden
Prozesse erläutert. Diese Prozesse werden während einer
Leerzeit des Direktors 25 ausgeführt.
Der Prozeß im Schritt 2500 ist ähnlich demjenigen des
Schrittes 1500 der in Fig. 16 gezeigten ersten Ausfüh
rungsform.
Im Schritt 2501 wird aus der der Zielspur 300 entspre
chenden Segmentverwaltungsinformation 500 die kleinste
Datensatznummer 602 ausgesucht, deren Aktualisierungs-Da
tensatzzeiger 807 nicht den Wert "Null" besitzt, an
schließend wird diese Datensatznummer 602 als Schreibver
zögerungs-Startdatensatznummer 2300 gesetzt. Da der
Schreibverzögerungsdatensatz 160 in der Reihenfolge aus
gewählt wird, die bei der kleinsten Datensatznummer 602
beginnt, kann der Schreibprozeß wegen der Bedingung A in
der der Drehrichtung der Platte 308 entgegengesetzten
Richtung fortschreiten, wodurch die Effizienz des
Schreibprozesses verbessert wird.
Im Schritt 2502 wird für die zu beschreibende Spur 300
eine Positionierungsanforderung an die entsprechende Da
tenspeichereinheit 24 ausgegeben.
In Fig. 31 ist ein Flußdiagramm gezeigt, das die vom
Schreibverzögerungs-Übertragungsteil 12 auszuführenden
Prozesse erläutert. Dieser Prozeßablauf wird ausgeführt,
wenn die im Schritt 2502 an die Plattenspeichereinheit 24
ausgegebene Positionierungsanforderung, die in Fig. 30
gezeigt ist, abgeschlossen ist.
Im Schritt 2600 wird als erster zu schreibender Schreib
verzögerungsdatensatz 160 derjenige ausgewählt, auf den
der der Schreibverzögerungs-Startdatensatznummer 2300
entsprechende Aktualisierungs-Datensatzzeiger 807 zeigt.
Im Schritt 2601 wird die physikalische Schreibposition
des dem Aktualisierungs-Datensatzzeiger 807 entsprechen
den Schreibverzögerungsdatensatzes 160 auf der Spur 300
berechnet.
Im Schritt 2602 wird geprüft, ob der Datensatz 301 inner
halb eines vorgegebenen Bereichs um die berechnete physi
kalische Position gespeichert ist. Wenn der Datensatz 301
nicht innerhalb dieses Bereichs gespeichert ist, geht der
Prozeß weiter zum Schritt 2610, andernfalls zum Schritt
2603.
Im Schritt 2603 wird das Steuerfeld 601 des gespeicherten
Datensatzes 301 gelesen.
Im Schritt 2604 wird die Datensatznummer 602 des ausgele
senen Steuerfeldes mit der Datensatznummer 602 des Blind
steuerfeldes 1000 oder des Steuerfeldes 600, auf den der
Aktualisierungs-Datensatzzeiger 807 zeigt, verglichen.
Wenn die beiden Datensatznummern 602 nicht übereinstim
men, bedeutet dies einen Fehler, so daß der Prozeß zum
Schritt 2612 geht. Wenn die beiden Datensatznummern 602
übereinstimmen, geht der Prozeß zum Schritt 2605. Im
Schritt 2605 wird die Datenfeldlänge 603 des ausgelesenen
Steuerfeldes 601 mit dem Datenfeld 603 des Blindssteuer
feldes 1000 oder mit dem Steuerfeld 600, auf das der Ak
tualisierungs-Datensatzzeiger 807 zeigt, verglichen. Wenn
die beiden Datenfeldlängen nicht übereinstimmen, bedeutet
dies einen Fehler, so daß der Prozeß weitergeht zum
Schritt 2611. Wenn andererseits die beiden Datenfeldlän
gen übereinstimmen, geht der Prozeß weiter zum Schritt
2606.
Im Schritt 2606 werden die Schreibverzögerungsdaten 160
in die Spur 300 geschrieben.
Im Schritt 2607 wird der Aktualisierungs-Datensatzzeiger
807 gesucht, der auf die nächstgrößere Datensatznummer
5602, die vom Wert "Null" verschieden ist, zeigt. Wenn
kein geeigneter Aktualisierungs-Datensatzzeiger 807 ge
funden werden kann, bedeutet dies, daß sämtli
che Schreibverzögerungsdatensätze 160 für die betreffende
Spur 300 geschrieben worden sind, so daß der Prozeß wei
tergeht zum Schritt 2613. Wenn ein geeigneter Aktualisie
rungs-Datensatzzeiger 807 gefunden werden kann, geht der
Prozeß zum Schritt 2608.
Im Schritt 2608 wird geprüft, ob der Abstand zum Daten
satz 301, auf den der gesuchte Aktualisierungs-Datensatz
zeiger 807 zeigt, gleich oder größer als ein vorgegebener
Wert ist. Wenn der Abstand kleiner als der vorgegebene
Wert ist, kehrt der Prozeß zum Schritt 2601 zurück, um
die oben beschriebenen Prozesse für den Datensatz 301,
auf den der gesuchte Aktualisierungs-Datensatzzeiger 807
zeigt, erneut auszuführen. Wenn der Abstand gleich oder
größer als der vorgegebene Wert ist, geht der Prozeß wei
ter zum Schritt 2609.
Im Schritt 2609 wird an die Plattenspeichereinheit 400
eine Positionierungsanforderung ausgegeben, um anschlie
ßend den Schreibverzögerungsprozeß zu unterbrechen. In
diesem Fall wird die Datensatznummer 602 des als nächstes
zu schreibenden Datensatzes als Schreibverzögerungs-
Startdatensatznummer 2300 gesetzt, ferner wird die für
die Segmentverwaltungsinformation 500 erforderliche In
formation aktualisiert.
Im Schritt 2610 wird die Information 2301 der Inkonsi
stenz der physikalischen Position des Datensatzes ge
setzt, anschließend geht der Prozeß weiter zum Schritt
2614.
Im Schritt 2611 wird die Information 1204 der Feldlän
geninkonsistenz gesetzt, anschließend geht der Prozeß
weiter zum Schritt 2614.
Die Schritte 2612 bis 2614 sind gleich den in Fig. 17 ge
zeigten Schritten 1508 bis 1510. In diesen Schritten 2612
bis 2614 werden die Information 1203 der Datensatznummer
ninkonsistenz gesetzt, die Segmentverwaltungsinformation
500 aktualisiert und das Schreibverzögerungsprozeß-Flag
1200 zurückgesetzt.
In Fig. 32 ist ein Flußdiagramm gezeigt, das die vom
Schreibverzögerungsfehler-Entscheidungsteii 13 auszufüh
renden Prozesse erläutert. Dieser Prozeßablauf wird aus
geführt, wenn von der CPU 20 über den Kanal 22 eine Ein
gabe/Ausgabe-Anforderung empfangen wird, ähnlich wie in
dem in Fig. 18 gezeigten Prozeßablauf der ersten Ausfüh
rungsform.
Im Schritt 2700 wird geprüft, ob in der Schreibverzöge
rungsinformation 1100 der Plattenspeichereinheit 24, für
die die Eingabe/Ausgabe-Anforderung ausgegeben wurde,
eine Information 1203 der Datensatznummerninkonsistenz,
eine Information 1204 der Feldlängeninkonsistenz oder
eine Information 2301 der Inkonsistenz der physikalischen
Position des Datensatzes gesetzt ist. Wenn keine dieser
Informationen gesetzt ist, ist der Prozeßablauf beendet.
Wenn irgendeine der genannten Informationen gesetzt ist,
geht der Prozeß weiter zum Schritt 2701, in dem an die
CPU 20 ein Fehler gemeldet wird.
Nun wird mit Bezug auf die Fig. 35 bis 41 eine vierte
Ausführungsform der vorliegenden Erfindung beschrieben.
Wenn in der vierten Ausführungsform der zu schreibende
Datensatz 301 nicht im Cachespeicher 26 gespeichert ist,
stellt der Direktor 25 entsprechend der von der
Steuereinheit 23 gehaltenen Information fest, daß Daten
in den Cachespeicher 26 geschrieben werden müssen, so daß
der Schreibprozeß auf dieser Stufe abgeschlossen ist.
Darüber hinaus ist die Verbesserung der Effizienz des
Schreibverzögerungsprozesses aufgrund der Berechnung der
physikalischen Schreibposition des zu schreibenden Daten
satzes 301 auf die Spur 300 beabsichtigt.
Die von der Steuereinheit 23 gehaltene Information ist
eine Information, die angibt, ob jede Spur 300 die Bedin
gungen A bis C erfüllt.
In Fig. 35 ist ein detailliertes Blockschaltbild eines
Informationsverarbeitungssystems gemäß der vierten Aus
führungsform gezeigt. Die Merkmale, durch die sich die
vierte Ausführungsform von der in Fig. 26 gezeigten drit
ten Ausführungsform unterscheidet, werden im folgenden
angegeben: Erstens umfaßt die Bestimmungsinformation 3500
von der CPU 20 keine Bestimmungsinformation 7; zweitens
wird im Schreibverzögerungsspeicher 27 die Information
gespeichert, die angibt, ob jede Spur 300 der Platten
speichereinheit 24 die Bedingungen A bis C erfüllt; und
drittens wird vom Direktor 25 unter Verwendung der im
Schreibverzögerungsspeicher 27 gespeicherten Information
die Ausführungsbedingung c 3410 geprüft.
Der Cachespeicher 26, das Verzeichnis 28, die Segmentver
waltungsinformation 500, die Spurtabelle 501 und der
Leersegmentwarteschlangen-Kopfzeiger 502 besitzen sämt
lich die gleiche Struktur wie diejenigen in den Fig. 6,
8, 27, 10 bzw. 11.
In Fig. 36 ist die Struktur des Schreibverzögerungsspei
chers 27 gemäß der vierten Ausführungsform gezeigt. Die
vierte Ausführungsform unterscheidet sich von der in Fig.
20 gezeigten dritten Ausführungsform dadurch, daß an
stelle der Schreibverzögerungsspurinformation ª 1700 für
jede Plattenspeichereinheit 24 eine Schreibverzögerungs
spurinformation b 2800 vorgesehen ist.
In Fig. 37 ist die Struktur der Schreibverzögerungs
spurinformation b 2800 gezeigt. Diese Information enthält
die folgenden Informationen, die für jede Spur 300 in der
Plattenspeichereinheit 24 vorgesehen sind.
Den Spurzustand b 2900, der eine Information darstellt,
die angibt, ob die betreffende Spur 300 die Bedingungen A
bis C erfüllt oder die angibt, daß ungewiß ist, ob die
Spur 300 die Bedingungen erfüllt.
Die Information 2901 der festen Datenfeldlänge ist eine
Information über die Länge des Datenfeldes 601, wobei die
Länge für sämtliche Datensätze 301 die gleiche ist, falls
die Spur 300 die Bedingungen A bis C erfüllt.
In Fig. 38 ist der Zustandsübergang für den Spurzustand b
2900 gezeigt. Der Übergang zwischen den Zuständen b 2900
wird auf ähnliche Weise wie bei der Spurinformation ª
1800 der in Fig. 22 gezeigten zweiten Ausführungform aus
geführt. Wenn während eines Zustandes 401, in dem ungewiß
ist, ob die Spur 300 die Bedingungen A bis C erfüllt,
eine Partialschreibanforderung empfangen wird, wird ge
prüft, ob die Spur 300 die Bedingungen A bis C erfüllt,
anschließend wird das Prüfergebnis im Spurzustand b 2900
gespeichert. Wenn für die Spur 300 eine Formatschreiban
forderung empfangen wird, wird der Spurzustand b 2900 in
den Zustand 401 versetzt, in dem ungewiß ist, ob die Spur
300 die Bedingungen A bis C erfüllt.
Die Reihenfolge des Speicherns der Spurinformation b 2900
und der Information 2901 der festen Datenfeldlänge findet
in der Reihenfolge der Spurnummern statt, wie dies für
die Spurinformation ª 1800 der in Fig. 22 gezeigten zwei
ten Ausführungsform der Fall ist.
Die Struktur des Direktors 25 ist derjenigen der in Fig.
23 gezeigten zweiten Ausführungform ähnlich.
Die Prozeßabläufe für den Schreibverzögerungs-Bereitstel
lungsteil 11, für den Schreibverzögerungs-Übertragungs
teil 12 und für den Schreibverzögerungsfehler-Entschei
dungsteil 13 sind ähnlich denjenigen der in den Fig. 30
bis 32 gezeigten dritten Ausführungsform. Andererseits
sind die Prozeßabläufe für den Cachespeicher-Partial
schreibteil 10 für den Schreibverzögerungsspurinforma
tion-Verwaltungsteil ª 14 und für den Schreibverzöge
rungsspurinformation-Verhaltungsteil b 15 verschieden, so
daß diese im folgenden beschrieben werden.
In Fig. 39 ist ein Flußdiagramm gezeigt, das die vom Ca
chespeicher-Partialschreibteil 10 auszuführenden Prozesse
erläutert. Ähnlich dem Prozeßablauf der in Fig. 15 ge
zeigten ersten Ausführungsform enthält auch dieser Pro
zeßablauf einen Prozeß für den Fall, in dem der zu
schreibende Datensatz 301 bereits im Cachespeicher 26 ge
speichert ist.
Dieser Prozeßablauf wird ausgeführt, wenn der Direktor 25
von der CPU 20 über den Kanal 22 eine Partialschreiban
forderung empfängt und der Spurzustand b 2900 der zu be
schreibenden Spur den Zustand 402 angibt, gemäß dem die
Spur die Bedingungen A bis C erfüllt.
Im Schritt 3000 wird geprüft, ob die von der CPU 20 ge
lieferte Schreibdatenmenge gültig ist. Selbst wenn das
Segment 400 der zu beschreibenden Spur 300 nicht zugeord
net ist, ist es in dieser vierten Ausführungsform mög
lich, die Validität der Schreibdatenmenge anhand des Wer
tes der Information 2901 der festen Datenfeldlänge zu
prüfen. Wenn die Schreibdatenmenge nicht gültig ist, geht
der Prozeß weiter zum Schritt 3011. Wenn die Schreibda
tenmenge gültig ist, geht der Prozeß zum Schritt 3001.
Die Prozesse des Schrittes 3001 und der darauf folgenden
Schritte sind dem in Fig. 29 gezeigten Prozeßablauf ana
log. D. h., daß die Schritte 3001 bis 3007 den Schritten
2400 bis 2406 in Fig. 29 entsprechen, während die
Schritte 3008 bis 3011 den Schritten 2409 bis 2412 in
Fig. 29 entsprechen.
ln den Fig. 40A und 40B sind Flußdiagramme gezeigt, die
die vom Schreibverzögerungsspurinformation-Verwaltungs
teil auszuführenden Prozesse erläutern. Die Merkmale,
durch die die vierte Ausführungsform von der in den Fig.
24A und 24B gezeigten dritten Ausführungsform verschieden
sind, bestehen darin, daß die in den Fig. 24A und 24B ge
zeigten Prozeßabläufe mit der Schreibverzögerungsspurin
formation ª 1700 arbeiten, während der in den Fig. 40A
und 40B gezeigte Prozeßablauf mit der Schreibverzöge
rungsspurinformation b 2800 arbeitet.
Der in Fig. 40A gezeigte Prozeß wird in dem Moment ausge
führt, der dem Moment entspricht, in dem der in Fig. 24A
gezeigte Prozeß ausgeführt wird.
Im Schritt 3100 wird für die zu beschreibende Spur 300
eine Positionierungsanforderung ausgegeben.
Der in Fig 40B gezeigte Prozeß wird ausgeführt, wenn die
im Schritt 3100 ausgegebene Positionierungsanforderung
abgeschlossen ist.
Im Schritt 3101 werden sämtliche Datensätze 301 auf der
zu beschreibenden Spur 300 gelesen, um zu prüfen, ob die
Spur die Bedingungen A bis C erfüllt.
Im Schritt 3102 wird das Prüfergebnis des Schrittes 3101
im Spurzustand b 2900 für die Spur 300 gespeichert. Wenn
die Bedingungen A bis C erfüllt sind, wird die Länge des
Datenfeldes 601 in der Information 2901 der festen Daten
feldlänge gesetzt; anschließend ist der Prozeß beendet.
In Fig. 41 ist ein Flußdiagramm gezeigt, das die vom
Schreibverzögerungsspurinformation-Verwaltungsteil b 15
auszuführenden Prozesse erläutert. Der Unterschied zwi
schen dem in Fig. 41 gezeigten Prozeß und dem in Fig. 25
gezeigten Prozeß der dritten Ausführungform besteht
darin, daß der letztere mit der Schreibverzögerungs
spurinformation ª 1700 arbeitet, während der erstere mit
der Schreibverzögerungsspurinformation b 2800 arbeitet.
Der in Fig. 41 gezeigte Prozeß wird in dem Zeitpunkt aus
geführt, der dem Zeitpunkt entspricht, zu dem der in Fig.
25 gezeigte Prozeß ausgeführt wird.
Im Schritt 3200 wird der Spurzustand b 2900 der zu be
schreibenden Spur 300 auf den Zustand 401 zurückgesetzt,
in dem ungewiß ist, ob die Spur 300 die Bedingungen A bis
C erfüllt.
In der dritten und in der vierten Ausführungsform wird
der Kontinuität der Position der im Cachespeicher 26 zu
speichernden Datensätze keinerlei Beachtung geschenkt.
Wenn jedoch die Einschränkung eingeführt wird, daß die
Datensätze 301, die sich auf der Spur 300 an aufeinander
folgenden physikalischen Positionen befinden, auch im
Segment an aufeinanderfolgenden physikalischen Positionen
gespeichert werden, kann die Cachesteuerung auf leichtere
Weise ausgeführt werden. Eine solche Einschränkung wird
Konsekutivspeicherungseinschränkung genannt. Wenn, wie in
Fig. 42 gezeigt, beispielsweise angenommen wird, daß ein
Datensatz m 3600 und ein Datensatz n 3601 auf der Spur
300 an aufeinanderfolgenden physikalischen Positionen
vorliegen, tritt oft der Fall auf, daß die CPU 20 eine
Anforderung ausgibt, daß der Datensatz m 3600 und der Da
tensatz n 3601 auf der Spur 300 an aufeinanderfolgenden
physikalischen Positionen konsekutiv gelesen werden soll.
Wenn der Datensatz m 3600 und der Datensatz n 3601 im
Segment 400 aufeinanderfolgend gespeichert sind, kann der
Direktor 25 einfach einen bestimmten Bereich im Segment
400 lesen und die Daten an die CPU 20 schicken. D. h., daß
bei der Übertragung des Datensatzes n 3601 von der
Steuereinheit 23 zur CPU 20 die Ausführung eines Prozes
ses der Bezugnahme auf den Datensatzzeiger n 3603 der
Segmentverwaltungsinformation 500 nicht erforderlich ist.
Wenn der Direktor 25 den Schreibprozeß beenden kann, wenn
die Daten in den Cachespeicher 26 geschrieben worden
sind, ist es für die Einführung der Konsekutivspeiche
rungseinschränkung ausreichend, daß die folgenden drei
Konsekutivspeicherungsbedingungen 1 bis 3 erfüllt sind.
Konsekutivspeicherungsbedingung 1: Der Datensatz 301 auf
der zu beschreibenden Spur 300 ist nicht im Cachespeicher
26 gespeichert; die Konsekutivspeicherungseinschränkung
kann in diesem Fall erzielt werden, weil der Direktor 25
einen zu schreibenden Datensatz k 4300 in einem neu er
stellten Segment 400 speichert, wie in Fig. 43A gezeigt
ist.
Konsekutivspeicherungsbedingung 2: Der zu schreibende Da
tensatz 301 ist derselbe Datensatz 301, der bereits im
Cachespeicher 26 gespeichert ist; die Konsekutivspeiche
rungseinschränkung kann in diesem Fall erzielt werden,
weil die Daten bereits in einem gespeicherten Datensatz k
4300 geschrieben sind, um die Inhalte des Datensatzes zu
aktualisieren, wie in Fig. 43B gezeigt ist.
Konsekutivspeicherungsbedingung 3: Der zu schreibende Da
tensatz 301 besitzt die Datensatznummer 602, die um den
Wert "Eins" größer als die maximale Datensatznummer des
bereits im Cachespeicher 26 gespeicherten Datensatzes 301
der Speicherspur 300 ist. D. h., daß die Datensatznummer
602 des zu schreibenden Datensatzes dem bereits im Cache
speicher 26 gespeicherten Datensatz 301 nachfolgt. Die
Konsekutivspeicherungseinschränkung kann in diesem Fall
erzielt werden, weil der Direktor 25 bewirkt, daß ein Da
tensatz k 4300 im Bereich nach dem bereits im Segment 400
gespeicherten Datensatz 301 (..., k-1) gespeichert
wird, wie in Fig. 43C gezeigt ist.
Die Konsekutivspeicherungseinschränkung ist sowohl auf
den Fall anwendbar, in dem die CPU 20 die Information
liefert, die angibt, ob die zu beschreibende Spur 300 die
Bedingungen A bis C erfüllt (dritte Ausführungsform), als
auch auf den Fall, in dem die Steuereinheit 23 für jede
Spur 300 die Information hält, die angibt, ob die zu be
schreibende Spur 300 die Bedingungen A bis C erfüllt
(vierte Ausführungsform). Wenn die Konsekutivspeiche
rungseinschränkung eingeführt wird, ändert sich nur die
Segmentverwaltungsinformation 500.
In Fig. 44 ist die Struktur der Segmentverwaltungsinfor
mation 500 gezeigt, wenn die Konsekutivspeicherungsein
schränkung gemäß der fünften Ausführungsform eingeführt
wird. Das gegenüber der in Fig. 27 gezeigten dritten Auf
führungsform unterschiedliche Merkmal besteht darin, daß
eine cacheinterne maximale Datensatznummer 3700 vorgese
hen ist. Diese cacheinterne maximale Datensatznummer gibt
die maximale Datensatznummer 602 der im Cachespeicher 26
gespeicherten Datensätze 301 an.
Die in den Fig. 29 bis 32 und 39 bis 41 gezeigten Prozeß
abläufe sind auf diese Ausführungsform anwendbar, mit der
Ausnahme, daß die von den Cachespeicher-Partialschreib
teilen 10 in den Fig. 29 und 39 augeführten Prozesse zu
verschiedenen Zeiten ausgeführt werden. D. h., daß die
Prozeßabläufe dann ausgeführt werden, wenn die zu be
schreibende Spur 300 die Bedinuungen A bis C und die Kon
sekutivspeicherungsbedingungen 1 bis 3 erfüllen.
In dem erfindungsgemäßen Cachespeicher-Steuerverfahren
und der erfindungsgemäßen Cachespeicher-Steuervorrichtung
ist es selbst dann, wenn der einem Partialschreibprozeß
unterworfene Datensatz nicht im Cachespeicher gespeichert
ist, möglich, den Schreibprozeß zu einem Zeitpunkt zu
beenden, wenn die Daten in den Cachespeicher geschrieben
worden sind. Folglich ist eine Beschleunigung des
Schreibprozesses unter Verwendung eines Cachespeichers
für einen großen Anwendungsbereich möglich. Ferner kann
die Effizienz des Schreibprozesses verbessert werden, in
dem die physikalische Position eines Datensatzes berech
net wird.
Claims (26)
1. Cachespeicher-Steuerverfahren für ein Informa
tionsverarbeitungssystem, mit einer Datenverarbeitungs
einheit (200), einer Steuereinheit (23) für einen
Cachespeicher (26) und einer Speichereinheit (24) zum
Speichern eines Datensatzes (301), wobei die Daten
verarbeitungseinheit (200), die Steuereinheit (23) und
die Speichereinheit (24) jeweils miteinander verbunden
sind,
dadurch gekennzeichnet, daß die
Steuereinheit (23)
- a) von der Datenverarbeitungseinheit (200) eine Schreibanforderung für einen zu schreibenden Datensatz empfängt;
- b) von der Datenverarbeitungseinheit (200) in den Zieldatensatz (301) zu schreibende Daten empfängt, falls der zu schreibende Datensatz nicht im Cachespeicher (26) gespeichert ist;
- c) die empfangenen Daten in den Cachespeicher (26) speichert;
- d) der Datenverarbeitungseinheit (200) den Ab schluß des Datenschreibprozesses meldet;
- e) prüft, ob der Zieldatensatz (301), in den die im Cachespeicher (26) gespeicherten Daten geschrieben werden sollen, in der Speichereinheit (24) gespeichert ist oder nicht; und
- f) die im Cachespeicher (26) gespeicherten Daten in den Zieldatensatz (301) der Speichereinheit (24) spei chert, falls der Datensatz gespeichert ist, während sie die im Cachespeicher (26) gespeicherten Daten nicht in den Zieldatensatz (301) schreibt und diesen Sachverhalt an die Datenverarbeitungseinheit (200) meldet, falls der Datensatz nicht in der Speichereinheit (24) gespeichert ist.
2. Cachespeicher-Steuerverfahren für ein Informa
tionsverarbeitungssystem, mit einer Datenverarbeitungs
einheit (200), einer Steuereinheit (23) für einen
Cachespeicher (26) und einer Speichereinheit (24) zum
Speichern eines ein Steuerfeld (600) einschließlich einer
Datensatznummer (602) aufweisenden Datensatzes (301),
wobei die Datenverarbeitungseinheit (200), die
Steuereinheit (23) und die Speichereinheit (24) jeweils
miteinander verbunden sind,
dadurch gekennzeichnet, daß die
Steuereinheit (23) folgende Schritte ausführt:
- a) Empfangen einer Schreibanforderung von der Datenverarbeitungseinheit (200), wobei die Schreibanfor derung eine Datensatzbestimmungsinformation (100; 1-3) zum Bestimmen eines zu beschreibenden Datensatzes, eine Feldbestimmungsinformation (100; 4) zum Bestimmen eines in den Datensatz zu schreibenden Feldes und eine Prozeß modusbestimmungsinformation (100; 5) zum Bestimmen eines Prozeßmodus, der ausgeführt wird, wenn der zu schreibende Datensatz nicht im Cachespeicher (26) gespeichert ist, enthält;
- b) Empfangen von in das bestimmte Feld zu schreibenden Daten entsprechend dem durch die Prozeßbe stimmungsinformation (100; 5) bestimmten Prozeßmodus, falls der zu schreibende und durch die Datensatzbestim mungsinformation (100; 1-3) bestimmte Datensatz nicht im Cachespeicher (26) gespeichert ist und falls das zu schreibende und durch die Feldbestimmungsinformation (100; 4) bestimmte Feld das Steuerfeld (600) nicht ent hält;
- c) Speichern der Daten in den Cachespeicher (26); und
- d) Melden des Abschlusses des Schreibprozesses an die Datenverarbeitungseinheit (200).
3. Cachespeicher-Steuerverfahren für ein Informa
tionsverarbeitungssystem, mit einer Datenverarbeitungs
einheit (200), einer Steuereinheit (23) für einen
Cachespeicher (26) und einer Speichereinheit (24) mit
einer Mehrzahl von physikalischen Bereichen zum Speichern
eines Datensatzes (301), der ein eine Datensatznummer
(602) enthaltendes Steuerfeld (600) besitzt, wobei die
Datenverarbeitungseinheit (200), die Steuereinheit (23)
und die Speichereinheit (24) jeweils miteinander
verbunden sind,
dadurch gekennzeichnet, daß die
Steuereinheit (23)
für jeden physikalischen Bereich eine Strukturbe
dingungsinformation hält, die angibt, ob die Strukturbe
dingung, daß in dem physikalischen Bereich keine gedop
pelte Datensatznummer (602) des Datensatzes (301) vor
liegt, erfüllt ist; und
die folgenden Schritte ausführt:
- a) Empfangen einer Schreibanforderung von der Datenverarbeitungseinheit (200), wobei die Schreibanfor derung eine Datensatzbestimmungsinformation (3300; 1-3) zum Bestimmen eines zu schreibenden Datensatzes und eine Feldbestimmungsinformation (3300; 4) zum Bestimmen eines in den Datensatz (301) zu schreibenden Feldes enthält;
- b) Empfangen von in das bestimmte Feld (601) zu schreibenden Daten von der Datenverarbeitungseinheit (200), falls der zu schreibende und durch die Datensatz bestimmungsinformation (3300; 1-3) bestimmte Datensatz nicht im Cachespeicher (26) gespeichert ist, falls das zu schreibende und durch die Feldbestimmungsinformation (3300; 4) bestimmte Feld das Steuerfeld (600) nicht ent hält und falls die Strukturbedingung erfüllt ist;
- c) Speichern der Daten in den Cachespeicher (26); und
- d) Melden des Abschlusses des Schreibprozesses an die Datenverarbeitungseinheit (200).
4. Cachespeicher-Steuerverfahren gemäß Anspruch 2,
dadurch gekennzeichnet, daß die Steuereinheit (23) nach
dem Empfang der Daten von der Datenverarbeitungseinheit
(200) und dem Speichern der Daten in den Cachespeicher
(26) die folgenden Schritte ausführt:
- e) Suchen des zu schreibenden Datensatzes in der Speichereinheit (24); und
- f) entweder Schreiben der im Cachespeicher (26) geschriebenen Daten in den gesuchten Datensatz, falls der Datensatz gefunden worden ist, oder Unterlassen des Schreibens der im Cachespeicher (26) gespeicherten Daten und Melden dieses Sachverhaltes an die Datenverarbei tungseinheit (200), falls der Datensatz nicht gefunden worden ist.
5. Cachespeicher-Steuerverfahren gemäß Anspruch 4,
dadurch gekennzeichnet, daß
das Steuerfeld (600) eine Information (603) ent hält, die die Länge eines vom Steuerfeld (600) verschie denen Feldes angibt;
im Schritt (c) zusätzlich zur Speicherung der Da ten im Cachespeicher (26) die Länge der Daten gespeichert wird; und
im Schritt (f) die Information (603), die die Länge eines vom Steuerfeld (600) verschiedenen Feldes des gefundenen Datensatzes angibt, mit der im Schritt (c) ge speicherten Datenlänge verglichen wird, wobei die im Ca chespeicher (26) gespeicherten Daten in den aufgefundenen Datensatz geschrieben werden, falls die Längen überein stimmen, und wobei die im Cachespeicher (26) gespeicher ten Daten nicht geschrieben werden und dieser Sachverhalt an die Datenverarbeitungseinheit (200) gemeldet wird, falls die Längen nicht übereinstimmen.
das Steuerfeld (600) eine Information (603) ent hält, die die Länge eines vom Steuerfeld (600) verschie denen Feldes angibt;
im Schritt (c) zusätzlich zur Speicherung der Da ten im Cachespeicher (26) die Länge der Daten gespeichert wird; und
im Schritt (f) die Information (603), die die Länge eines vom Steuerfeld (600) verschiedenen Feldes des gefundenen Datensatzes angibt, mit der im Schritt (c) ge speicherten Datenlänge verglichen wird, wobei die im Ca chespeicher (26) gespeicherten Daten in den aufgefundenen Datensatz geschrieben werden, falls die Längen überein stimmen, und wobei die im Cachespeicher (26) gespeicher ten Daten nicht geschrieben werden und dieser Sachverhalt an die Datenverarbeitungseinheit (200) gemeldet wird, falls die Längen nicht übereinstimmen.
6. Cachespeicher-Steuerverfahren gemäß Anspruch 3,
dadurch gekennzeichnet, daß die Steuereinheit (23) den
folgenden Schritt ausführt:
- i) Prüfen, ob der physikalische Bereich die Strukturbedingung erfüllt und Halten des Prüfergebnisses als neue Strukturbedingungsinformation, falls das zu schreibende und durch die Feldbestimmungsinformation (3300; 4) bestimmte Feld das Steuerfeld (600) nicht ent hält und falls die Strukturbedingungsinformation für den physikalischen Bereich, in dem der zu schreibende Daten satz gespeichert ist, einen Zustand angibt, daß ungewiß ist, ob die Bedingung erfüllt ist oder nicht.
7. Cachespeicher-Steuerverfahren gemäß Anspruch 6,
dadurch gekennzeichnet, daß die Steuereinheit (23) den
folgenden Schritt ausführt:
- j) Halten eines Zustandes, in dem ungewiß ist, ob der physikalische Bereich die Strukturbedingung er füllt, als Strukturbedingungsinformation für den den zu schreibenden Datensatz speichernden physikalischen Be reich, falls das zu schreibende und durch die Feldbestim mungsinformation (3300; 4) bestimmte Feld das Steuerfeld (600) nicht enthält.
8. Cachespeicher-Steuerverfahren für ein Informa
tionsverarbeitungssystem, mit einer Datenverarbeitungs
einheit (200), einer Steuereinheit (23) für einen
Cachespeicher (26) und einer Speichereinheit (24), die
eine Mehrzahl von physikalischen Bereichen zum Speichern
eines Datensatzes (301), der ein eine Datensatznummer
(602) enthaltendes Steuerfeld (600) besitzt, wobei die
Datenverarbeitungseinheit (200), die Steuereinheit (23)
und die Speichereinheit (24) jeweils miteinander
verbunden sind,
dadurch gekennzeichnet, daß die
Steuereinheit (23) die folgenden Schritte ausführt:
- a) Empfangen einer Schreibanforderung von der Datenverarbeitungseinheit (200), wobei die Schreibanfor derung eine Datensatzbestimmungsinformation (3400; 1-3) zum Bestimmen eines zu schreibenden Datensatzes, eine Feldbestimmungsinformation (3400; 4) zum Bestimmen eines in den Datensatz zu schreibenden Feldes und eine Struk turbedingungsinformation (3400; 7) enthält, wobei die Strukturbedingungsinformation (3400; 7) angibt, ob fol gende Strukturbedingungen erfüllt sind: die Datensatznum mer des Datensatzes am Beginn des physikalischen Bereichs zum Speichern von Datensätzen ist "Null" und die Nummern der folgenden Datensätze sind in aufsteigender Folge, je weils um "Eins" erhöht gegeben; jeder Datensatz hat ein vom Steuerfeld (600) verschiedenes Feld; die Längen der vom Steuerfeld (600) verschiedenen Felder eines jeden Da tensatzes mit der Datensatznummer "Eins" oder größer sind gleich; und das vom Steuerfeld (600) verschiedene Feld des Datensatzes mit der Datensatznummer "Null" besitzt eine vorgegebene Länge;
- b) Empfangen von Daten von der Datenverarbei tungseinheit (200), die in das bestimmte Feld geschrieben werden sollen, falls der zu schreibende und durch die Da tensatzbestimmungsinformation (3400; 1-3) bestimmte Da tensatz nicht im Cachespeicher (26) gespeichert ist, falls das zu schreibende und durch die Feldbestimmungsin formation (3400; 4) bestimmte Feld das Steuerfeld (600) nicht enthält und falls die Strukturbedingung erfüllt ist;
- c) Speichern der Daten in den Cachespeicher (26); und
- d) Melden des Abschlusses des Schreibprozesses an die Datenverarbeitungseinheit (200).
9. Cachespeicher-Steuerverfahren für ein Informa
tionsverarbeitungssystem, mit einer Datenverarbeitungs
einheit (200), einer Steuereinheit (23) für einen
Cachespeicher (26) und einer Speichereinheit (24) mit
einer Mehrzahl von physikalischen Bereichen zum Speichern
eines Datensatzes (301), der ein eine Datensatznummer
(602) enthaltendes Steuerfeld (600) besitzt, wobei die
Datenverarbeitungseinheit (200), die Steuereinheit (23)
und die Speichereinheit (24) jeweils miteinander
verbunden sind,
dadurch gekennzeichnet, daß die
Steuereinheit (23)
für jeden physikalischen Bereich eine Strukturbe dingungsinformation hält, die angibt, ob folgende Struk turbedingungen erfüllt sind: die Datensatznummer des Da tensatzes am Beginn des physikalischen Bereichs zum Spei chern des Datensatzes ist "Null" und die Nummern der fol genden Datensätze sind in aufsteigender Folge, jeweils um "Eins" erhöht, gegeben; jeder Datensatz hat ein vom Steu erfeld (600) verschiedenes Feld; die Längen der vom Steu erfeld (600) verschiedenen Felder eines jeden Datensatzes mit der Datensatznummer "Eins" oder größer sind gleich; und das vom Steuerfeld (600) verschiedene Feld des Daten satzes mit der Datensatznummer "Null" besitzt eine vorge gebene Länge; und
die folgenden Schritte ausführt:
für jeden physikalischen Bereich eine Strukturbe dingungsinformation hält, die angibt, ob folgende Struk turbedingungen erfüllt sind: die Datensatznummer des Da tensatzes am Beginn des physikalischen Bereichs zum Spei chern des Datensatzes ist "Null" und die Nummern der fol genden Datensätze sind in aufsteigender Folge, jeweils um "Eins" erhöht, gegeben; jeder Datensatz hat ein vom Steu erfeld (600) verschiedenes Feld; die Längen der vom Steu erfeld (600) verschiedenen Felder eines jeden Datensatzes mit der Datensatznummer "Eins" oder größer sind gleich; und das vom Steuerfeld (600) verschiedene Feld des Daten satzes mit der Datensatznummer "Null" besitzt eine vorge gebene Länge; und
die folgenden Schritte ausführt:
- a) Empfangen einer Schreibanforderung von der Datenverarbeitungseinheit (200), wobei die Schreibanfor derung eine Datensatzbestimmungsinformation (3500; 1-3) zum Bestimmen eines zu schreibenden Datensatzes und eine Feldbestimmungsinformation (3500; 4) zum Bestimmen eines in den Datensatz zu schreibenden Feldes enthält;
- b) Empfangen von in das bestimmte Feld zu schreibenden Daten von der Datenverarbeitungseinheit (200), falls der zu schreibende und durch die Datensatz bestimmungsinformation (3500; 1-3) bestimmte Datensatz nicht im Cachespeicher gespeichert ist, falls das zu schreibende und durch die Feldbestimmungsinformation (3500; 4) bestimmte Feld das Steuerfeld (600) nicht ent hält und falls die Strukturbedingung erfüllt ist;
- c) Speichern der Daten in den Cachespeicher (26); und
- d) Melden des Abschlusses des Schreibprozesses an die Datenverarbeitungseinheit (200).
10. Cachespeicher-Steuerverfahren gemäß Anspruch 8,
dadurch gekennzeichnet, daß die Steuereinheit (23) nach
dem Empfang der Daten von der Datenverarbeitungseinheit
(200) und dem Speichern der Daten im Cachespeicher (26)
die folgenden Schritte ausführt:
- e) Suchen des zu schreibenden Datensatzes in der Speichereinheit (24); und
- f) entweder Schreiben der im Cachespeicher (26) gespeicherten Daten in den Datensatz, falls der Datensatz gefunden wurde, oder Unterlassen des Schreibens der im Cachespeicher (26) gespeicherten Daten und Melden dieses Sachverhaltes an die Datenverarbeitungseinheit (200), falls der Datensatz nicht gefunden wurde.
11. Cachespeicher-Steuerverfahren gemäß Anspruch 10,
dadurch gekennzeichnet, daß
das Steuerfeld (600) eine Information (603) ent hält, die die Länge eines vom Steuerfeld (600) verschie denen Feldes angibt;
im Schritt (c), in dem die Daten in den Cache speicher (26) gespeichert werden, außerdem die Länge der Daten gespeichert wird; und
im Schritt (f) die Information (603), die die Länge eines vom Steuerfeld (600) des aufgefundenen Daten satzes angibt, mit der Information der im Schritt (c) ge speicherten Datenlänge verglichen wird und, falls die Längen übereinstimmen, die im Cachespeicher (26) gespei cherten Daten in den aufgefunden Datensatz geschrieben werden oder, falls die Längen nicht übereinstimmen, die im Cachespeicher (26) gespeicherten Daten nicht geschrie ben werden, jedoch dieser Sachverhalt an die Datenverar beitungseinheit (200) gemeldet wird.
das Steuerfeld (600) eine Information (603) ent hält, die die Länge eines vom Steuerfeld (600) verschie denen Feldes angibt;
im Schritt (c), in dem die Daten in den Cache speicher (26) gespeichert werden, außerdem die Länge der Daten gespeichert wird; und
im Schritt (f) die Information (603), die die Länge eines vom Steuerfeld (600) des aufgefundenen Daten satzes angibt, mit der Information der im Schritt (c) ge speicherten Datenlänge verglichen wird und, falls die Längen übereinstimmen, die im Cachespeicher (26) gespei cherten Daten in den aufgefunden Datensatz geschrieben werden oder, falls die Längen nicht übereinstimmen, die im Cachespeicher (26) gespeicherten Daten nicht geschrie ben werden, jedoch dieser Sachverhalt an die Datenverar beitungseinheit (200) gemeldet wird.
12. Cachespeicher-Steuerverfahren gemäß Anspruch 10,
gekennzeichnet durch einen Schritt des
Berechnens einer Schreibposition im physikali schen Bereich des zu schreibenden Datensatzes vor dem Schritt (f), wobei
im Schritt (f) die Schreibposition im Bereich des aufgefundenen Datensatzes mit der berechneten Schreibpo sition verglichen wird und, falls das Vergleichsergebnis eine vorgegebene Bedingung erfüllt, die im Cachespeicher (26) gespeicherten Daten in den aufgefundenen Datensatz geschrieben werden oder, falls das Vergleichsergebnis die vorgegebene Bedingung nicht erfüllt, die im Cachespeicher (26) gespeicherten Daten nicht geschrieben werden, jedoch dieser Sachverhalt an die Datenverarbeitungseinheit (200) gemeldet wird.
Berechnens einer Schreibposition im physikali schen Bereich des zu schreibenden Datensatzes vor dem Schritt (f), wobei
im Schritt (f) die Schreibposition im Bereich des aufgefundenen Datensatzes mit der berechneten Schreibpo sition verglichen wird und, falls das Vergleichsergebnis eine vorgegebene Bedingung erfüllt, die im Cachespeicher (26) gespeicherten Daten in den aufgefundenen Datensatz geschrieben werden oder, falls das Vergleichsergebnis die vorgegebene Bedingung nicht erfüllt, die im Cachespeicher (26) gespeicherten Daten nicht geschrieben werden, jedoch dieser Sachverhalt an die Datenverarbeitungseinheit (200) gemeldet wird.
13. Cachespeicher-Steuerverfahren gemäß Anspruch 10,
dadurch gekennzeichnet, daß
im Schritt (e) die zu schreibenden Datensätze in der Reihenfolge ihrer Datensatznummern aufgefunden wer den, falls eine Mehrzahl von zu schreibenden Datensätzen im selben physikalischen Bereich vorhanden sind;
im Schritt (f) die im Cachespeicher (26) gespei cherten Daten nacheinander in der Reihenfolge ihrer Auf findung in die aufgefundenen Datensätze geschrieben wer den.
im Schritt (e) die zu schreibenden Datensätze in der Reihenfolge ihrer Datensatznummern aufgefunden wer den, falls eine Mehrzahl von zu schreibenden Datensätzen im selben physikalischen Bereich vorhanden sind;
im Schritt (f) die im Cachespeicher (26) gespei cherten Daten nacheinander in der Reihenfolge ihrer Auf findung in die aufgefundenen Datensätze geschrieben wer den.
14. Cachespeicher-Steuerverfahren gemäß Anspruch 13,
gekennzeichnet durch einen Schritt
des Berechnens einer Schreibposition im physika lischen Bereich eines jeden der Mehrzahl der zu schrei benden Datensätze vor dem Schritt (e), wobei
der Schritt (e) des Suchens eines Datensatzes vorübergehend unterbrochen wird, falls der Abstand zwi schen der Position eines aufgefundenen Datensatzes zur berechneten Schreibposition des nächsten Datensatzes gleich oder größer als ein vorgegebener Wert ist.
des Berechnens einer Schreibposition im physika lischen Bereich eines jeden der Mehrzahl der zu schrei benden Datensätze vor dem Schritt (e), wobei
der Schritt (e) des Suchens eines Datensatzes vorübergehend unterbrochen wird, falls der Abstand zwi schen der Position eines aufgefundenen Datensatzes zur berechneten Schreibposition des nächsten Datensatzes gleich oder größer als ein vorgegebener Wert ist.
15. Cachespeicher-Steuerverfahren gemäß Anspruch 8,
dadurch gekennzeichnet, daß die Steuereinheit (23) nach
dem Empfang der Daten von der Datenverarbeitungseinheit
(200) und dem Speichern der Daten in den Cachespeicher
(26) die folgenden Schritte ausführt:
- e) Berechnen einer Schreibposition im physikali schen Bereich des zu schreibenden Datensatzes;
- f) Suchen des zu schreibenden Datensatzes in ei nem vorgegebenen Bereich in der Nähe der berechneten Schreibposition; und
- g) entweder Schreiben der im Cachespeicher (26) gespeicherten Daten in den aufgefundenen Datensatz, falls der zu schreibende Datensatz aufgefunden worden ist, oder Unterlassen des Schreibens der im Cachespeicher (26) ge speicherten Daten, jedoch Melden dieses Sachverhaltes an die Datenverarbeitungseinheit (200), falls der zu schrei bende Datensatz nicht aufgefunden wurde.
16. Cachespeicher-Steuerverfahren gemäß Anspruch 8,
dadurch gekennzeichnet, daß anstatt des Schrittes (e) der
folgende Schritt ausgeführt wird:
- m) Empfangen der in das bestimmmte Feld zu schreibenden Daten von der Datenverarbeitungseinheit (200), falls das zu schreibende und durch die Feldbestim mungsinformation (3500; 4) bestimmte Feld das Steuerfeld (600) nicht enthält, falls der Cachespeicher (26) keinen Datensatz in dem einen zu schreibenden Datensatz spei chernden physikalischen Bereich speichert oder einen be stimmten Datensatz mit einer Datensatznummer, die um "Eins" kleiner als diejenige des zu schreibenden Daten satzes ist, speichert und falls die Strukturbedingung im Schritt (a) erfüllt ist.
17. Cachespeicher-Steuerverfahren gemäß Anspruch 9,
dadurch gekennzeichnet, daß die Steuereinheit (23) den
folgenden Schritt ausführt:
- i) Prüfen, ob der physikalische Bereich die Strukturbedingung erfüllt und Halten des Prüfergebnisses als neue Strukturbedingungsinformation, falls das zu schreibende und durch die Feldbestimmungsinformation (3500; 4) bestimmte Feld das Steuerfeld (600) nicht ent hält und falls die Strukturbedingungsinformation für den den zu schreibenden Datensatz speichernden physikalischen Bereich einen Zustand angibt, in dem ungewiß ist, ob die Bedingung erfüllt ist.
18. Cachespeicher-Steuerverfahren gemäß Anspruch 17,
dadurch gekennzeichnet, daß die Steuereinheit (23) den
folgenden Schritt ausführt:
- j) Halten eines Zustandes, in dem ungewiß ist, ob der physikalische Bereich die Strukturbedingung er füllt, als Strukturbedingungsinformation für den den zu schreibenden Datensatz speichernden physikalischen Be reich, falls das zu schreibende und durch die Feldbestim mungsinformation (3500; 4) bestimmte Feld das Steuerfeld (600) nicht enthält.
19. Cachespeicher-Steuervorrichtung, mit einem zwi
schen einer Datenverarbeitungseinheit (200) und einer
Speichereinheit (24) zum Speichern eines Datensatzes
(301) geschalteten Cachespeicher (26),
gekennzeichnet durch
- a) ein Schreibanforderungs-Empfangsmittel (100) zum Empfang einer Schreibanforderung für einen zu schrei benden Datensatz (301) von der Datenverarbeitungseinheit (200);
- b) ein Datenempfangsmittel (121) zum Schreiben von in den Zieldatensatz (301) zu schreibenden Daten von der Datenverarbeitungseinheit (200), falls der zu schrei bende Datensatz nicht im Cachespeicher (26) gespeichert ist;
- c) ein Datenspeichermittel (122) zum Speichern der empfangenen Daten in den Cachespeicher (26);
- d) ein Schreibprozeßabschluß-Meldemittel (123) zum Melden des Abschlusses des Datenschreibprozesses an die Datenverarbeitungseinheit (200);
- e) ein Datensatzpräsenz-Prüfmittel (130) zum Prüfen, ob der Zieldatensatz (301), in den die im Cache speicher (26) gespeicherten Daten gespeichert werden sol len, in der Speichereinheit (24) gespeichert ist;
- f) ein Datenschreibmittel (140) zum Schreiben der im Cachespeicher (26) gespeicherten Daten in den Zieldatensatz (301) der Speichereinheit (24), falls der Datensatz gespeichert ist; und
- g) ein Beendigungs- und Meldemittel (150) zum Unterlassen des Schreibens der im Cachespeicher (26) ge speicherten Daten und zum Melden eines solchen Sachver haltes an die Datenverarbeitungseinheit (200), falls der Datensatz nicht gespeichert ist.
20. Cachespeicher-Steuervorrichtung, mit einem Cache
speicher (26), der zwischen eine Datenverarbeitungsein
heit (200) und eine Speichereinheit (24) geschaltet ist,
wobei die Speichereinheit (24) einen ein Steuerfeld (600)
einschließlich einer Datensatznummer (602) aufweisenden
Datensatz (301) speichert,
gekennzeichnet durch
- a) ein Schreibanforderungs-Empfangsmittel (100) zum Empfang einer Schreibanforderung von der Datenverar beitungseinheit (200), wobei die Schreibanforderung eine Datensatzbestimmungsinformation (1-3) zum Bestimmen ei nes zu schreibenden Datensatzes, eine Feldbestimmungsin formation (4) zum Bestimmen eines in den Datensatz zu schreibenden Feldes und eine Prozeßmodus-Bestimmungsin formation (5) zum Bestimmen eines Prozeßmodus, der ausge führt wird, wenn der zu schreibende Datensatz nicht im Cachespeicher (26) gespeichert ist, enthält;
- b) Datenempfangsmittel (121) zum Empfang von Da ten von der Datenverarbeitungseinheit (200), die in das bestimmte Feld geschrieben werden sollen, entsprechend dem durch die Prozeßbestimmungsinformation (5) bestimmten Prozeßmodus, falls der zu schreibende und durch die Da tensatzbestimmungsinformation (1-3) bestimmte Datensatz nicht im Cachespeicher (26) gespeichert ist und falls das zu schreibende und durch die Feldbestimmungsinformation (4) bestimmte Feld das Steuerfeld (600) nicht enthält;
- c) Datenspeichermittel (122) zum Speichern der Daten in den Cachespeicher (26); und
- d) Schreibprozeßabschlußmeldemittel zum Melden des Abschlusses des Schreibprozesses an die Datenverar beitungseinheit (200).
21. Cachespeicher-Steuervorrichtung, mit einem Cache
speicher (26), der zwischen eine Datenverarbeitungsein
heit (200) und eine Speichereinheit (24) geschaltet ist,
wobei die Speichereinheit (24) eine Mehrzahl von physika
lischen Bereichen zum Speichern eines ein Steuerfeld
(600) einschließlich einer Datensatznummer (602) aufwei
senden Datensatzes umfaßt,
gekennzeichnet durch
- a) ein Strukturbedinungsinformation-Haltemittel (23) zum Halten einer Strukturbedingungsinformation für jeden physikalischen Bereich, die angibt, ob die Struk turbedingung, daß im physikalischen Bereich keine gedop pelte Datensatznummer des Datensatzes vorliegt, erfüllt ist;
- b) ein Schreibanforderungs-Empfangsmittel (3300) zum Empfang einer Schreibanforderung von der Datenverar beitungseinheit (200), wobei die Schreibanforderung eine Datensatzbestimmungsinformation (1-3) zum Bestimmen ei nes zu schreibenden Datensatzes und eine Feldbestimmungs information (4) zum Bestimmen eines in den Datensatz zu schreibenden Feldes enthält;
- c) ein Datenempfangsmittel (121) zum Empfangen von Daten von der Datenverarbeitungseinheit (200), die in das bestimmte Feld geschrieben werden sollen, falls der zu schreibende und durch die Datensatzbestimmungsinforma tion (1-3) bestimmte Datensatz nicht im Cachespeicher (26) gespeichert ist, falls das zu schreibende und durch die Feldbestimmungsinformation (4) bestimmte Feld das Steuerfeld (600) nicht enthält und falls die Strukturbe dingung erfüllt ist;
- d) ein Datenspeichermittel (122) zum Speichern von Daten in den Cachespeicher (26); und
- e) Schreibprozeßabschlußmeldemittel zum Melden des Abschlusses des Schreibprozesses an die Datenverar beitungseinheit (200).
22. Cachespeicher-Steuervorrichtung gemäß Anspruch
20, gekennzeichnet durch
- f) ein Datensatzsuchmittel (130) zum Suchen des in die Speichereinheit (24) zu schreibenden Datensatzes, nachdem Daten von der Datenverarbeitungseinheit (200) empfangen und im Cachespeicher (26) gespeichert worden sind;
- g) ein Datenschreibmittel (140) zum Schreiben der im Cachespeicher (26) gespeicherten Daten in den auf gefundenen Datensatz, falls der zu beschreibende Daten satz gefunden worden ist; und
- h) ein Beendigungs- und Meldemittel (150) zum Unterlassen des Schreibens der im Cachespeicher (26) ge speicherten Daten und zum Melden eines solchen Sachver haltes an die Datenverarbeitungseinheit (200), falls der zu beschreibende Datensatz nicht aufgefunden worden ist.
23. Cachespeicher-Steuervorrichtung, mit einem Cache
speicher (26), der zwischen eine Datenverarbeitungsein
heit (200) und eine Speichereinheit (24) geschaltet ist,
wobei die Speichereinheit (24) eine Mehrzahl von physika
lischen Bereichen zum Speichern eines Datensatzes (301),
der ein Steuerfeld (600) einschließlich einer Datensatz
nummer (602) aufweist, umfaßt,
gekennzeichnet durch
- a) ein Schreibanforderungs-Empfangsmittel (3400) zum Empfang einer Schreibanforderung von der Datenverar beitungseinheit (200), wobei die Schreibanforderung eine Datensatzbestimmungsinformation (1-3) zum Bestimmen ei nes zu schreibenden Datensatzes, eine Feldbestimmungsin formation (4) zum Bestimmen eines in den Datensatz zu schreibenden Feldes und eine Strukturbedingungsinforma tion (7) enthält, wobei die Strukturbedingungsinformation (7) angibt, ob die folgenden Strukturbedingungen erfüllt sind: die Datensatznummer des Datensatzes am Beginn des physikalischen Bereichs zum Speichern der Datensätze ist "Null" und die Nummern der folgenden Datensätze sind in aufsteigender Folge, jeweils um "Eins" erhöht, gegeben;, jeder Datensatz besitzt ein vom Steuerfeld (600) ver schiedenes Feld; die Längen der vom Steuerfeld (600) ver schiedenen Felder eines jeden Datensatzes mit der Daten satznummer "Eins" oder größer sind gleich; und das vom Steuerfeld (600) verschiedene Feld des Datensatzes mit der Datensatznummer "Null" besitzt eine vorgegebene Länge;
- b) ein Datenempfangsmittel (121) zum Empfang von Daten von der Datenverarbeitungseinheit (200), die in das bestimmte Feld zu schreiben sind, falls der zu schrei bende und durch die Datenbestimmungsinformation (1-3) bestimmte Datensatz nicht im Cachespeicher (26) gespei chert ist, falls das zu schreibende und durch die Feldbe stimmungsinformation (4) bestimmte Feld das Steuerfeld (600) nicht enthält und falls die Strukturbedingung er füllt ist;
- c) ein Datenspeichermittel (122) zum Speichern der Daten in den Cachespeicher (26); und
- d) ein Schreibprozeßbeendigungs- und Meldemittel zum Melden des Abschlusses des Schreibprozesses an die Datenverarbeitungseinheit (200).
24. Cachespeicher-Steuervorrichtung, mit einem Cache
speicher (26), der zwischen eine Datenverarbeitungsein
heit (200) und eine Speichereinheit (24) geschaltet ist,
wobei die Speichereinheit (24) eine Mehrzahl von physika
lischen Bereichen zum Speichern eines Datensatzes, der
ein Steuerfeld (600) einschließlich einer Datensatznummer
(602) enthält, umfaßt,
gekennzeichnet durch
- a) ein Strukturbedingungsinformation-Haltemittel (23) zum Halten einer Strukturbedingungsinformation für jeden physikalischen Bereich, wobei die lnformation an gibt, ob die folgenden Strukturbedingungen erfüllt sind: die Datensatznummer des Datensatzes am Beginn des physi kalischen Bereichs zum Speichern von Datensätzen ist "Null" und die Nummern der folgenden Datensätze sind in aufsteigender Folge, jeweils um "Eins" erhöht, gegeben;, jeder Datensatz besitzt ein vom Steuerfeld (600) ver schiedenes Feld; die Längen der vom Steuerfeld (600) ver schiedenen Felder eines jeden Datensatzes mit der Daten satznummer "Eins" oder größer sind gleich; und das vom Steuerfeld (600) verschiedene Feld des Datensatzes mit der Datensatznummer "Null" besitzt eine vorgegebene Länge;
- b) ein Schreibanforderungs-Empfangsmittel (3500) zum Empfang einer Schreibanforderung von der Datenverar beitungseinheit (200), wobei die Schreibanforderung eine Datensatzbestimungsinformation (1-3) zum Bestimmen ei nes zu schreibenden Datensatzes und eine Feldbestimmungs information (4) zum Bestimmen eines in den Datensatz zu schreibenden Feldes enthält;
- c) ein Datenempfangsmittel (121) zum Empfang von Daten von der Datenverarbeitungseinheit (200), die in das bestimmte Feld geschrieben werden sollen, falls der zu schreibende und durch die Datensatzbestimmungsinformation (1-3) bestimmte Datensatz nicht im Cachespeicher (26) gespeichert ist, falls das zu schreibende und durch die Feldbestimmungsinformation (4) bestimmte Feld das Steuer feld (600) nicht enthält und falls die Strukturbedingung erfüllt ist;
- d) ein Datenspeichermittel (122) zum Speichern der Daten in den Cachespeicher (26); und
- e) ein Schreibprozeßbeendigungs- und Meldemittel zum Melden des Abschlusses des Schreibprozesses an die Datenverarbeitungseinheit (200).
25. Cachespeicher-Steuervorrichtung gemäß Anspruch
23, gekennzeichnet durch
- f) ein Schreibpositionsberechnungsmittel (23) zum Berechnen einer Schreibposition des zu schreibenden Datensatzes in dem physikalischen Bereich;
- g) ein Positionsvergleichsmittel (3420) zum Ver gleich der Schreibposition des aufgefundenen Datensatzes im physikalischen Bereich mit der berechneten Schreibpo sition;
- h) ein Datenschreibmittel (140) zum Schreiben der im Cachespeicher (26) gespeicherten Daten in den auf gefundenen Datensatz, falls das Vergleichsergebnis eine vorgegebene Bedingung erfüllt; und
- i) ein Beendigungs- und Meldemittel (150) zur Unterlassung des Schreibens der im Cachespeicher (26) ge speicherten Daten, jedoch zum Melden dieses Sachverhaltes an die Datenverarbeitungseinheit (200), falls das Ver gleichsergebnis die vorgegebene Bedingung nicht erfüllt.
26. Cachespeicher-Steuervorrichtung gemäß Anspruch
23, gekennzeichnet durch
- f) ein Schreibpositions-Berechnungsmittel (23) zum Berechnen einer Schreibposition des zu schreibenden Datensatzes im physikalischen Bereich;
- g) ein Datensatz-Suchmittel (23) zum Suchen ei nes in einen vorgegebenen Bereich in der Nähe der berech neten Schreibposition zu schreibenden Datensatzes;
- h) ein Datenschreibmittel (140) zum Schreiben der im Cachespeicher gespeicherten Daten in den aufgefun denen Datensatz, falls der zu beschreibende Datensatz ge funden worden ist; und
- i) ein Beendigungs- und Meldemittel (150) zum Unterlassen des Schreibens der im Cachespeicher (26) ge speicherten Daten, jedoch zum Melden eines solchen Sach verhaltes an die Datenverarbeitungseinheit (200), falls der zu schreibende Datensatz nicht aufgefunden wurde.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1323396A JP2826857B2 (ja) | 1989-12-13 | 1989-12-13 | キャッシュ制御方法および制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4039891A1 true DE4039891A1 (de) | 1991-06-27 |
Family
ID=18154260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4039891A Withdrawn DE4039891A1 (de) | 1989-12-13 | 1990-12-13 | Verfahren und vorrichtung zur cachespeichersteuerung |
Country Status (3)
Country | Link |
---|---|
US (4) | US5497472A (de) |
JP (1) | JP2826857B2 (de) |
DE (1) | DE4039891A1 (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2826857B2 (ja) * | 1989-12-13 | 1998-11-18 | 株式会社日立製作所 | キャッシュ制御方法および制御装置 |
JP3260999B2 (ja) * | 1995-03-03 | 2002-02-25 | 富士通株式会社 | ディスク制御装置の制御方法 |
JP3583829B2 (ja) * | 1995-04-13 | 2004-11-04 | 株式会社日立製作所 | 外部記憶サブシステムの制御方法および制御装置 |
US6038676A (en) * | 1997-09-25 | 2000-03-14 | International Business Machines Corporation | Method and circuit for data integrity verification during DASD data transfer |
US6049845A (en) * | 1997-11-05 | 2000-04-11 | Unisys Corporation | System and method for providing speculative arbitration for transferring data |
US6092156A (en) * | 1997-11-05 | 2000-07-18 | Unisys Corporation | System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations |
US6052760A (en) * | 1997-11-05 | 2000-04-18 | Unisys Corporation | Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks |
US6014709A (en) * | 1997-11-05 | 2000-01-11 | Unisys Corporation | Message flow protocol for avoiding deadlocks |
US6314501B1 (en) | 1998-07-23 | 2001-11-06 | Unisys Corporation | Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory |
US6687818B1 (en) | 1999-07-28 | 2004-02-03 | Unisys Corporation | Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system |
US6665761B1 (en) | 1999-07-28 | 2003-12-16 | Unisys Corporation | Method and apparatus for routing interrupts in a clustered multiprocessor system |
US6532476B1 (en) * | 1999-11-13 | 2003-03-11 | Precision Solutions, Inc. | Software based methodology for the storage and retrieval of diverse information |
US20050015546A1 (en) * | 2003-07-15 | 2005-01-20 | Ofir Zohar | Data storage system |
US7827353B2 (en) * | 2003-07-15 | 2010-11-02 | International Business Machines Corporation | Self healing memory |
US7299334B2 (en) * | 2003-07-15 | 2007-11-20 | Xiv Ltd. | Storage system configurations |
US7293156B2 (en) * | 2003-07-15 | 2007-11-06 | Xiv Ltd. | Distributed independent cache memory |
US7724599B2 (en) * | 2003-12-03 | 2010-05-25 | Hitachi, Ltd. | Remote copy system |
JP4408692B2 (ja) * | 2003-12-19 | 2010-02-03 | 富士通株式会社 | 通信装置管理プログラム |
JP2005284497A (ja) * | 2004-03-29 | 2005-10-13 | Hitachi Ltd | 中継装置、管理サーバ、中継方法および認証方法 |
US20070112812A1 (en) * | 2005-11-09 | 2007-05-17 | Harvey Richard H | System and method for writing data to a directory |
US8326899B2 (en) | 2005-11-09 | 2012-12-04 | Ca, Inc. | Method and system for improving write performance in a supplemental directory |
US8321486B2 (en) * | 2005-11-09 | 2012-11-27 | Ca, Inc. | Method and system for configuring a supplemental directory |
US8458176B2 (en) * | 2005-11-09 | 2013-06-04 | Ca, Inc. | Method and system for providing a directory overlay |
US8473496B2 (en) * | 2008-01-31 | 2013-06-25 | SAP France S.A. | Utilizing density metadata to process multi-dimensional data |
US8527732B2 (en) | 2011-09-16 | 2013-09-03 | Hitachi, Ltd. | Storage system and method of controlling storage system |
US9110809B2 (en) * | 2013-07-03 | 2015-08-18 | Nvidia Corporation | Reducing memory traffic in DRAM ECC mode |
US10048878B2 (en) * | 2015-06-08 | 2018-08-14 | Samsung Electronics Co., Ltd. | Nonvolatile memory module and storage system having the same |
KR20230035811A (ko) * | 2021-09-06 | 2023-03-14 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 내 공유된 메모리 공간을 제어하기 위한 장치 및 방법 |
CN116132534B (zh) * | 2022-07-01 | 2024-03-08 | 马上消费金融股份有限公司 | 业务请求的存储方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4490782A (en) * | 1981-06-05 | 1984-12-25 | International Business Machines Corporation | I/O Storage controller cache system with prefetch determined by requested record's position within data block |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3240921A (en) * | 1959-07-06 | 1966-03-15 | Svenska Dataregister Ab | Data handling system |
US3354466A (en) * | 1960-02-12 | 1967-11-21 | Gen Electric | Apparatus in data processing system for coordinating memory communication among processors and peripheral devices |
US3225334A (en) * | 1960-11-07 | 1965-12-21 | Gen Electric | Data processing system including plural peripheral devices with means for the selection and operation |
NL283852A (de) * | 1961-10-06 | |||
NL293797A (de) * | 1962-06-13 | |||
US3328566A (en) * | 1964-07-27 | 1967-06-27 | Gen Precision Inc | Input-output system for a digital computer |
US3702462A (en) * | 1967-10-26 | 1972-11-07 | Delaware Sds Inc | Computer input-output system |
GB1354827A (en) * | 1971-08-25 | 1974-06-05 | Ibm | Data processing systems |
DE2507914C3 (de) * | 1975-02-24 | 1980-02-28 | Hans 8024 Deisenhofen Sauer | Elektromagnetisches Relais |
US4320478A (en) * | 1975-07-02 | 1982-03-16 | Motorola, Inc. | Digital watch |
US4084231A (en) * | 1975-12-18 | 1978-04-11 | International Business Machines Corporation | System for facilitating the copying back of data in disc and tape units of a memory hierarchial system |
US4075686A (en) * | 1976-12-30 | 1978-02-21 | Honeywell Information Systems Inc. | Input/output cache system including bypass capability |
US4084234A (en) * | 1977-02-17 | 1978-04-11 | Honeywell Information Systems Inc. | Cache write capacity |
US4245300A (en) * | 1978-06-05 | 1981-01-13 | Computer Automation | Integrated and distributed input/output system for a computer |
US4399503A (en) * | 1978-06-30 | 1983-08-16 | Bunker Ramo Corporation | Dynamic disk buffer control unit |
US4268907A (en) * | 1979-01-22 | 1981-05-19 | Honeywell Information Systems Inc. | Cache unit bypass apparatus |
JPS55157053A (en) * | 1979-05-25 | 1980-12-06 | Nec Corp | Disc cash write-in control system |
US5241666A (en) * | 1979-06-04 | 1993-08-31 | Unisys Corporation | Variable rate improvement of disc cache subsystem |
US5371855A (en) * | 1979-06-04 | 1994-12-06 | Unisys Corporation | Disc cache subsystem having plural-level cache memories |
US4394732A (en) * | 1980-11-14 | 1983-07-19 | Sperry Corporation | Cache/disk subsystem trickle |
US4394733A (en) * | 1980-11-14 | 1983-07-19 | Sperry Corporation | Cache/disk subsystem |
US4425615A (en) * | 1980-11-14 | 1984-01-10 | Sperry Corporation | Hierarchical memory system having cache/disk subsystem with command queues for plural disks |
US4423479A (en) * | 1980-11-14 | 1983-12-27 | Sperry Corporation | Cache/disk subsystem with acquire write command |
US4598357A (en) * | 1980-11-14 | 1986-07-01 | Sperry Corporation | Cache/disk subsystem with file number for recovery of cached data |
US4500954A (en) * | 1981-10-15 | 1985-02-19 | International Business Machines Corporation | Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass |
US4468730A (en) * | 1981-11-27 | 1984-08-28 | Storage Technology Corporation | Detection of sequential data stream for improvements in cache data storage |
US5045398A (en) * | 1982-06-22 | 1991-09-03 | Harry Levin | Silicon carbide product |
JPS59100964A (ja) * | 1982-12-01 | 1984-06-11 | Hitachi Ltd | ディスク制御システム及びその並列データ転送方法 |
JPS59135563A (ja) * | 1983-01-24 | 1984-08-03 | Hitachi Ltd | デイスク・キヤツシユ装置を有する計算機システム |
JPS59153251A (ja) * | 1983-02-18 | 1984-09-01 | Toshiba Corp | デイスクキヤツシユシステム |
US4603380A (en) * | 1983-07-01 | 1986-07-29 | International Business Machines Corporation | DASD cache block staging |
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
US5091350A (en) * | 1984-03-26 | 1992-02-25 | Hoechst Aktiengesellschaft | Process for hydroformylation with rhodium catalysts and the separation of rhodium therefrom |
US4916605A (en) * | 1984-03-27 | 1990-04-10 | International Business Machines Corporation | Fast write operations |
US4646233A (en) * | 1984-06-20 | 1987-02-24 | Weatherford James R | Physical cache unit for computer |
US4685082A (en) * | 1985-02-22 | 1987-08-04 | Wang Laboratories, Inc. | Simplified cache with automatic update |
US4933835A (en) * | 1985-02-22 | 1990-06-12 | Intergraph Corporation | Apparatus for maintaining consistency of a cache memory with a primary memory |
US4884197A (en) * | 1985-02-22 | 1989-11-28 | Intergraph Corporation | Method and apparatus for addressing a cache memory |
US4835686A (en) * | 1985-05-29 | 1989-05-30 | Kabushiki Kaisha Toshiba | Cache system adopting an LRU system, and magnetic disk controller incorporating it |
JPS6221753A (ja) * | 1985-07-17 | 1987-01-30 | 三井化学株式会社 | 成形体製造用組成物 |
US5091846A (en) * | 1986-10-03 | 1992-02-25 | Intergraph Corporation | Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency |
JPS63132354A (ja) | 1986-11-21 | 1988-06-04 | Fujitsu Ltd | キヤツシユ制御方式 |
US4933335A (en) * | 1987-08-07 | 1990-06-12 | Warner-Lambert Company | Quinolones as antibacterial agents |
US5091850A (en) * | 1987-09-28 | 1992-02-25 | Compaq Computer Corporation | System for fast selection of non-cacheable address ranges using programmed array logic |
JPH0673113B2 (ja) | 1987-10-28 | 1994-09-14 | 日本電気株式会社 | ディスクキャッシュ装置 |
US4900483A (en) * | 1987-10-29 | 1990-02-13 | Exxon Research And Engineering Company | Method of producing isotropically reinforced net-shape microcomposites |
US5025366A (en) * | 1988-01-20 | 1991-06-18 | Advanced Micro Devices, Inc. | Organization of an integrated cache unit for flexible usage in cache system design |
US5045998A (en) * | 1988-05-26 | 1991-09-03 | International Business Machines Corporation | Method and apparatus for selectively posting write cycles using the 82385 cache controller |
US4869043A (en) * | 1988-08-02 | 1989-09-26 | Fero Holdings Ltd. | Shear connector |
JP2776841B2 (ja) * | 1988-09-28 | 1998-07-16 | 株式会社日立製作所 | ディスク制御装置におけるディスクアクセス制御方法 |
US5163142A (en) * | 1988-10-28 | 1992-11-10 | Hewlett-Packard Company | Efficient cache write technique through deferred tag modification |
US5025365A (en) * | 1988-11-14 | 1991-06-18 | Unisys Corporation | Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors |
US5097533A (en) * | 1988-11-29 | 1992-03-17 | International Business Machines Corporation | System and method for interfacing computer application programs written in different languages to a software system |
US5241566A (en) * | 1988-12-13 | 1993-08-31 | E-Systems, Inc. | Full duplex FSK system |
US5313613A (en) * | 1988-12-30 | 1994-05-17 | International Business Machines Corporation | Execution of storage-immediate and storage-storage instructions within cache buffer storage |
US5097532A (en) * | 1989-03-03 | 1992-03-17 | Compaq Computer Corporation | Circuit for enabling a cache using a flush input to circumvent a late noncachable address input |
US5347642A (en) * | 1989-11-30 | 1994-09-13 | Nec Electronics Inc. | Cache memory management unit |
JP2826857B2 (ja) * | 1989-12-13 | 1998-11-18 | 株式会社日立製作所 | キャッシュ制御方法および制御装置 |
-
1989
- 1989-12-13 JP JP1323396A patent/JP2826857B2/ja not_active Expired - Lifetime
-
1990
- 1990-12-13 DE DE4039891A patent/DE4039891A1/de not_active Withdrawn
-
1995
- 1995-01-19 US US08/375,234 patent/US5497472A/en not_active Expired - Lifetime
- 1995-09-19 US US08/530,711 patent/US5694576A/en not_active Expired - Lifetime
-
1998
- 1998-12-21 US US09/217,371 patent/US6085286A/en not_active Expired - Fee Related
-
2003
- 2003-08-04 US US10/632,840 patent/US7082496B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4490782A (en) * | 1981-06-05 | 1984-12-25 | International Business Machines Corporation | I/O Storage controller cache system with prefetch determined by requested record's position within data block |
Also Published As
Publication number | Publication date |
---|---|
US20040030828A1 (en) | 2004-02-12 |
US5497472A (en) | 1996-03-05 |
JP2826857B2 (ja) | 1998-11-18 |
US7082496B2 (en) | 2006-07-25 |
JPH03184144A (ja) | 1991-08-12 |
US5694576A (en) | 1997-12-02 |
US6085286A (en) | 2000-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4039891A1 (de) | Verfahren und vorrichtung zur cachespeichersteuerung | |
DE69722991T2 (de) | Aufzeichnungsbereichsverwaltungsverfahren und Speichergerät | |
DE2759128C2 (de) | ||
DE2500721C2 (de) | Sekundärspeicher für digitale Datenverarbeitungssysteme | |
DE2921387C2 (de) | Verfahren zum Austauschen von Informationen zwischen einer Datenverarbeitungsanlage und einem Magnetplattenspeicher | |
DE3614795A1 (de) | Schreibverfahren fuer dateidaten in einen einmal beschreibbaren speicher | |
DE112011102076B4 (de) | Neuordnen des Zugriffs zum Verringern der Gesamtsuchzeit auf Bandmedien | |
DE1935570A1 (de) | System zur Speicherung und Wiedergewinnung von Daten | |
DE2230987C2 (de) | ||
DE19727243A1 (de) | Festplattenvorrichtung zum Umwandeln logischer Adressen von Diagnosezylindern in Festplattenlaufwerken zugeordnete physikalische Adressen | |
DE2122338A1 (de) | Schaltungsanordnung zur Steuerung des Datenflusses in Datenverarbeitungsanlagen | |
DE2521436B2 (de) | Informationswiedergewinnungsanordnung | |
DE19706512A1 (de) | Echtzeit-Ereignisanordnung in einem elektronischen Ablaufdiagramm | |
DE2646296A1 (de) | Assoziative elektronische schaltungsanordnung aus digitalen prozessoren | |
DE4019135A1 (de) | Serieller speicher auf ram-basis mit parallelem voraus-lesen | |
DE2432608C3 (de) | Speicheranordnung fur eine Datenverarbeitungseinrichtung | |
DE112020004007B4 (de) | Beheben von lesefehlern in einem bandlaufwerk | |
DE112011102139B4 (de) | Bandspeichereinheit und Schreibverfahren dafür | |
DE1549439A1 (de) | Datenverarbeitungssystem | |
DE1524152C3 (de) | Steuereinrichtung für die Übertragung von Informationseinheiten von den endlos umlaufenden Speicherspuren eines Magnetplattenspeichers zu dem Hauptspeicher eines Datenverarbeitungssystems | |
DE3637767C2 (de) | ||
DE2254696A1 (de) | Schaltungsanordnung und verfahren zur neuorientierung nach einer fehlbedingung in einem speichersystem | |
DE3047506A1 (de) | Verfahren zum uebertragen von datenbloecken und vorrichtung zur durchfuehrung dieses verfahrens | |
DE3713043A1 (de) | Verfahren zur steuerung einer plattenspeichereinheit | |
DE19639405C2 (de) | Schreibsystem für eine beschreibbare Compact Disc, das Information über einen Schreib-Betriebsablauf speichert |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 12/08 |
|
8172 | Supplementary division/partition in: |
Ref country code: DE Ref document number: 4042738 Format of ref document f/p: P |
|
Q171 | Divided out to: |
Ref country code: DE Ref document number: 4042738 |
|
8139 | Disposal/non-payment of the annual fee |