DE69024145T2 - Gepufferte Platteneinheit und Verfahren zur Datenübertragung - Google Patents

Gepufferte Platteneinheit und Verfahren zur Datenübertragung

Info

Publication number
DE69024145T2
DE69024145T2 DE69024145T DE69024145T DE69024145T2 DE 69024145 T2 DE69024145 T2 DE 69024145T2 DE 69024145 T DE69024145 T DE 69024145T DE 69024145 T DE69024145 T DE 69024145T DE 69024145 T2 DE69024145 T2 DE 69024145T2
Authority
DE
Germany
Prior art keywords
data
sequential
transfer
request
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69024145T
Other languages
English (en)
Other versions
DE69024145D1 (de
Inventor
Hiroyuki Kitajima
Akira Kurano
Michio Miyazaki
Masafumi Nozawa
Takikazu Takeuchi
Akira Yamamoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE69024145D1 publication Critical patent/DE69024145D1/de
Publication of DE69024145T2 publication Critical patent/DE69024145T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

  • Die Erfindung betrifft gepufferte Platteneinheiten und ein Verfahren zum übertragen von Daten mit diesen, und spezieller betrifft sie eine gepufferte Platteneinheit und ein Verfahren zum übertragen mit dieser mit erhöhter Geschwindigkeit.
  • Bei einem Computersystem, bei dem im allgemeinen mehrere Platteneinheiten mit einer Steuerung verbunden sind, wird vor der Datenübertragung von der Steuerung gesondert ein Lokalisierprozeß, zu dem Such- und Sektoreinstellvorgänge gehören, ausgeführt, um den Datenübertragungspfad wirkungsvoll zu nutzen. Demgemäß können die mehreren mit der Steuerung verbundenen Platteneinheiten den Lokalisierprozeß unabhängig voneinander ausführen.
  • Bei einem derartigen Steuersystem kann jedoch eine Platteneinheit bereits Daten an die Steuerung übertragen bzw. von dieser empfangen, wenn eine sendende Platteneinheit mit der Datenübertragung beginnen soll, nachdem ihr Lokalisierprozeß abgeschlossen ist. Dies wird als "Wiederanschluß-Fehlschlag nach Abschluß der Lokalisierung" bezeichnet. Wenn dieser Effekt auftritt, kann sich eine andere Platteneinheit keinen Datenübertragungspfad sichern, so daß die andere Platte warten muß, bis die andere Platteneinheit eine vollständige Umdrehung ausgeführt hat, um in die Datenübertragung einzutreten.
  • Ein Mechanismus zum Verhindern dieses "Wiederanschluß-Fehlschlags nach Abschluß der Lokalisierung" ist z.B. in der Japanischen Patentanmeldung JP-A-57-146359 (oder der Japanischen Patentveröffentlichung JP-B-62-3455) vorgeschlagen, bei dem ein Puffer kleiner Kapazität in jeder Platteneinheit vorhanden ist. Gemäß diesem Verfahren werden, wenn eine Platteneinheit bereits Daten an die Steuerung überträgt bzw. von dieser empfängt, wenn die sendende Platte ihren Lokalisierprozeß abgeschlossen hat, die Daten in der anderen Platteneinheit zwischenzeitlich in deren Puffer geladen, und die geladenen Daten werden an die Steuerung übertragen, wenn die übertragung von Daten hinsichtlich der Platteneinheit abgeschlossen ist, die gesendet hat.
  • Es ist ein Verfahren vorgeschlagen, das den Lokalisierprozeß für eine Platteneinheit vereinfacht. Z.B. schlägt die Japanische Patentanmeldung JP-A-59-38866 einen Prozeß vor, der Daten in mehreren Spuren unter Verwendung mehrerer Leseschaltungen in einen Puffer einliest, während die Platteneinheit eine vollständige Umdrehung ausführt.
  • Gemäß diesem Verfahren werden auch Daten auf Spuren in den Puffer gelesen, für die keine Leseanweisung durch die Steuerung besteht. Dieser Prozeß zielt darauf ab, vorab Daten für einen sequentiellen Lesevorgang abzurufen. Wenn tatsächlich angewiesen wird, die Daten zu lesen, werden sie direkt durch einen Puffer ausgelesen, ohne daß die Platteneinheit zu lokalisieren ist, um die Anzahl ausgeführter Lokalisierprozesse zu verringern. Daher ist ein Puffer mit großer Kapazität vorhanden.
  • Die Japanische Patentanmeldung JP-A-59-100964 offenbart eine Technik zum Erhöhen der Eingabe-/Ausgabegeschwindigkeit von Daten unter Verwendung eines Cache-Speichers, der in einer mit Platteneinheiten verbundenen Steuerung vorhanden ist. Diese Technik realisiert eine Erhöhung der Eingabe-/Ausgabegeschwindigkeit von Daten dadurch, daß sie eine Leiteinrichtung (Datenübertragungs-Steuerprozessor) in der Steuerung dazu veranlaßt, Daten auf parallele Weise zwischen der CPU und dem Cache-Speicher sowie zwischen dem Cache-Speicher und der Speichereinheit zu übertragen.
  • In den Dokumenten JP-A-59-33689 und JP-A-58-186867 ist ein Verfahren zum Zuordnen der Schlitze eines Platten-Cache- Speichers zu Eingabe/Ausgabe-Anforderungen offenbart. Jedoch findet sich in diesen Dokumenten weder eine Offenbarung noch ein Vorschlag betreffend ein Zuordnungsverfahren, das die Eigenschaften einer sequentiellen Eingabe/Ausgabe-Anforderung berücksichtigt.
  • Die obigen, herkömmlichen Techniken weisen die folgenden Probleme auf:
  • (1) Der sequentielle Prozeß belegt einen großen Anteil der übertragung von Daten an die Platteneinheiten. Der sequentielle Prozeß unterscheidet sich hinsichtlich des Zugriffsmusters stark von anderen Prozessen. Die herkömmlichen Techniken unterscheiden nicht zwischen Mustern bei sequentiellem Zugriff und Mustern bei nicht-sequentiellem Zugriff, und sie ermöglichen kein Pufferzuordnungsverfahren für diese entsprechenden Zugriffsmuster.
  • (2) Wenn mehrere gleichzeitig von einem Hostcomputersystem ausgeführte Programme eine Anforderung zum Eingeben/Ausgeben von Daten in/von einer Platte ausgeben, kann ein Programm B eine Anforderung zum Übertragen von Daten ausgeben, nachdem eine sequentielle Übertragung für das Programm A abgeschlossen ist und bevor die nächste sequentielle Übertragung für das Programm A gestartet wird, wodurch die in den Puffer geladenen Daten zerstört werden. Die herkömmliche Technik läßt ein derartiges Problem nicht zu.
  • (3) Wenn mehrere sequentielle Übertragungsprozesse parallel ausgeführt werden und eine Anforderung für sequentielle übertragung betreffend ein neues Programm angenommen wird, müssen die bereits zugeordneten Puffer neu zugeordnet werden. Die herkömmlichen Techniken ermöglichen kein Verfahren für eine derartige Neuzuordnung.
  • Es ist eine Aufgabe der Erfindung, eine gepufferte Platteneinheit und ein Verfahren zum Übertragen von Daten mit einer solchen zu schaffen&sub1; die die obigen Probleme überwinden und die Verarbeitungsgeschwindigkeit verbessern.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Um die obige Aufgabe zu lösen, schafft die Erfindung eine gepufferte Platteneinheit und ein Verfahren zum Übertragen von Daten mit dieser innerhalb eines Computersystems mit einer Platteneinheit mit einem Puffer, einer Steuerung mit einer Leiteinrichtung, die über einen Kanal mit einem Hostcomputer verbunden ist, wobei der Puffer einen Bereich für sequentielle Übertragung und einen von diesem Bereich für sequentielle Übertragung getrennten Bereich für nicht-sequentielle Übertragung aufweist. Wenn die Leiteinrichtung die Platteneinheit über eine Eingabe/Ausgabe-Anforderung vom Hostcomputer informiert, informiert sie die Platteneinheit darüber, ob die Eingabe/Ausgabe-Anforderung eine solche für sequentielle Übertragung ist oder nicht. Demgemäß wird die Verwendung eines der Bereiche für sequentielle und nichtsequentielle Übertragung abhängig von dieser Anforderung bestimmt, um dadurch Daten zwischen der Platteneinheit und dem Hostcomputer zu übertragen.
  • Für die Bereiche für nicht-sequentielle und für sequentielle Übertragung werden unabhängige Verwaltungsprozesse angewendet, um das Funktionsvermögen der Platteneinheit zu verbessern. Z.B. kann der Bereich für nicht-sequentielle Übertragung eine einzelne Pufferzuordnungseinheit enthalten. Der Bereich für sequentielle Übertragung kann mehrere Pufferzuordnungseinheiten enthalten.
  • Die Pufferzuordnungseinheiten im Bereich für sequentielle Übertragung werden dann, wenn Datenübertragung ausgeführt wird, in zeitlicher Reihenfolge angeordnet und verwaltet.
  • Bei der Erfindung sind die Bereiche für nicht-sequentielle und für sequentielle Übertragung gesondert in der Platteneinheit vorhanden. Die Steuerung informiert die Platteneinheit darüber, ob ein durch die Steuerung ausgeführter Übertragungsprozeß an die Platteneinheit eine sequentielle oder eine nicht-sequentielle Übertragung ist. Dies, weil die Wirkungen, die von der Verwendung der Puffer herrühren, hinsichtlich sequentieller Übertragung und nicht-sequentieller Übertragung voneinander verschieden sind, wobei die als nächstes zu übertragenden Daten offensichtlich bzw. nicht offensichtlich sind.
  • Gemäß dieser Verhütungsmaßnahme werden dann, wenn eine Anforderung für nicht-sequentielle Übertragung empfangen wird, Daten, wie sie für die Steuerung erforderlich sind, in die Pufferbereichseinheit für nicht-sequentielle Übertragung geladen.
  • Wenn eine Anforderung für sequentielle Übertragung empfangen wird, werden die mehreren Bereichseinheiten für sequentielle Übertragung verwendet.
  • In diesem Fall wird, wenn die empfangene Anforderung für sequentielle Übertragung eine solche ist, der keine Pufferzuordnungseinheiten zugeordnet sind, eine zuzuordnende Pufferzuordnungseinheit unter Verwendung der LRU(Least Recently Used = am längsten nicht benutzt)-Schlange bestimmt. Danach werden die als nächstes zu übertragenden Daten zusätzlich zu den durch die Steuerung angeforderten Daten in der Pufferzuordnungseinheit untergebracht.
  • Wenn eine Anforderung für sequentielle übertragung bereits einer Pufferzuordnungseinheit zugeordnet ist, werden die Daten im Puffer nur an die Steuerung übertragen, ohne direkt auf das Plattenmedium zuzugreifen. Die Datenmenge in den Pufferzuordnungseinheiten für sequentielle Übertragung ist nach der Übertragung an die Steuerung unter einen vorgegebenen Wert verringert, und Daten, auf die als nächste zuzugreifen ist, werden automatisch geladen.
  • Demgemäß ist die Anzahl von Lokalisierungsvorgängen betreffend die gepufferte Platte verringert, was die Verarbeitungsgeschwindigkeit verbessert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist eine schematische Ansicht eines Computersystems bei einem ersten Ausführungsbeispiel der Erfindung;
  • Fig. 2 - 4 veranschaulichen ein beim Computersystem von Fig. 1 verwendetes Aufzeichnungsmedium;
  • Fig. 5 ist eine schematische Ansicht einer gepufferten Platteneinheit gemäß dem ersten Ausführungsbeispiel;
  • Fig. 6A und 6B veranschaulichen einen Puffer beim ersten Ausführungsbeispiel;
  • Fig. 7 veranschaulicht 2n Schlitze 12 beim ersten Ausführungsbeispiel;
  • Fig. 8A und 8B veranschaulichen Datenübertragung beim ersten Ausführungsbeispiel;
  • Fig. 9 veranschaulicht in ein Segment 13 beim ersten Ausführungsbeispiel geladene Daten;
  • Fig. 10 veranschaulicht Pufferverwaltungsinformation 308 beim ersten Ausführungsbeispiel;
  • Fig. 11 veranschaulicht Verwaltungsinformation 800 für sequentielle Schlitze beim ersten Ausführungsbeispiel;
  • Fig. 12 veranschaulicht Verwaltungsinformation 801 für wahlfrei liegende Schlitze beim ersten Ausführungsbeispiel;
  • Fig. 13 ist eine schematische Ansicht des Aufbaus der gesamten Information 802 und einer LRU-Schlange 1100 für die Verwaltung sequentieller Schlitze beim ersten Ausführungsbeispiel;
  • Fig. 14A und 14B veranschaulichen einen Prozeß zum Betreiben der LRU-Schlange 1100, wie er ausgeführt wird, wenn eine bereits einem Schlitz 12 zugeordnete Anforderung für sequentielles Lesen beim ersten Ausführungsbeispiel entgegengenommen wird;
  • Fig. 15A und 15B veranschaulichen einen Prozeß zum Betreiben der LRU-Schlange 1100, wie er ausgeführt wird, wenn beim ersten Ausführungsbeispiel eine Anforderung für sequentielle Leseverarbeitung entgegengenommen wird, der kein Schlitz zugeordnet ist;
  • Fig. 16 veranschaulicht eine Prozessorschnittstelle 302 beim ersten Ausführungsbeispiel;
  • Fig. 17 ist ein Flußdiagramm, das den Betrieb eines ersten Prozessors 300 beim ersten Ausführungsbeispiel angibt, wie er ausgeführt wird, wenn der Prozessor eine Eingabe/Ausgabe- Anforderung von einer Leiteinrichtung 25 empfangen hat;
  • Fig. 18 ist ein Flußdiagramm, das den Betrieb des ersten Prozessors 300 angibt, wie er ausgeführt wird, wenn der Prozessor beim ersten Ausführungsbeispiel eine Anforderung für einen sequentiellen Lesevorgang empfangen hat;
  • Fig. 19 ist ein Flußdiagramm, das den Betrieb des ersten Prozessors 300 angibt, wenn der Prozessor beim ersten Ausführungsbeispiel eine Anforderung für einen nicht-sequentiellen Lesevorgang zum Lesen von zwei oder mehr Datensätzen empfangen hat;
  • Fig. 20A und 20B sind ein Flußdiagramm, das den Lesevorgang des ersten Prozessors 300 unter Verwendung eines Puffers angibt;
  • Fig. 21 ist ein Flußdiagramm, das den Betrieb des ersten Prozessors 300 angibt, wie er ausgeführt wird, wenn beim ersten Ausführungsbeispiel ein Anforderungsflag zurückgesetzt wird;
  • Fig. 22 ist ein Flußdiagramm, das Datenübertragung zwischen einer dritten Übertragungsvorrichtung 315 und einer Leiteinrichtung 25 beim ersten Ausführungsbeispiel angibt;
  • Fig. 23 ist ein Flußdiagramm, das einen Ladevorgang eines zweiten Prozessors 301 für eine vollständige Umdrehung entsprechend einem Befehl vom ersten Prozessor 300 angibt;
  • Fig. 24 veranschaulicht die gesamte Information bei einem zweiten Ausführungsbeispiel der Erfindung;
  • Fig. 25 ist ein Flußdiagramm, das den Betrieb des ersten Prozessors 300 angibt, wie er ausgeführt wird, wenn der Prozessor 300 beim zweiten Ausführungsbeispiel eine Eingabe/ Ausgabe-Anforderung empfängt;
  • Fig. 26A und 26B sind ein Flußdiagramm, das den Lesevorgang des ersten Prozessors 300 unter Verwendung eines Puffers 307 beim zweiten Ausführungsbeispiel angibt;
  • Fig. 27 veranschaulicht einen Puffer 10 für wahlfreie Verarbeitung bei einem dritten Ausführungsbeispiel der Erfindung;
  • Fig. 28 veranschaulicht Verwaltungsinformation 801 für wahlfrei liegende Schlitze beim dritten Ausführungsbeispiel;
  • Fig. 29 veranschaulicht Verwaltungsinformation 800 für sequentielle Schlitze beim dritten Ausführungsbeispiel;
  • Fig. 30 veranschaulicht den Aufbau der gesamten Information und einer wahlfreien LRU-Schlange 1100 beim dritten Ausführungsbeispiel;
  • Fig. 31A, 31B, 31C und 31D sind ein Flußdiagramm, das den Betrieb des ersten Prozessors 300 beim dritten Ausführungsbeispiel anzeigt, wenn der erste Prozessor von der Leiteinrichtung 25 eine Eingabe/Ausgabe-Anforderung empfangen hat;
  • Fig. 32 ist ein Flußdiagramm, das den Betrieb des ersten Prozessors 300 anzeigt, wie er ausgeführt wird, wenn der erste Prozessor eine Anforderung für nicht-sequentielles Lesen empfangen hat; und
  • Fig. 33 ist ein Flußdiagramm des Vorgangs, wie er ausgeführt wird, wenn beim dritten Ausführungsbeispiel ein Schlitz existiert, der dem Vorgang für sequentielles Lesen zuzuordnen ist.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE (Erstes Ausführungsbeispiel)
  • Fig. 1 ist eine schematische Ansicht eines Computersystems als erstes Ausführungsbeispiel der Erfindung. In Fig. 1 bezeichnet die Bezugszahl 10 einen Puffer für nicht-sequentielle Verarbeitung; 11 einen Puffer für sequentielle Verarbeitung; 20 eine CPU; 21 einen Hauptspeicher; 22 einen Kanal; 23 eine Steuerung; 24 eine gepufferte Platteneinheit; 25 eine Leiteinrichtung; 26 ein Programm und 307 einen Puffer.
  • Die Steuerung 23 enthält eine oder mehrere Leiteinrichtungen 25, von der jede Daten zwischen einem Kanal 25 und der entsprechenden gepufferten Platteneinheit 24 überträgt. Die Platteneinheiten 24 können Daten an die mit ihnen verbundenen entsprechenden Leiteinrichtungen 25 übertragen und von diesen empfangen.
  • Der Hauptspeicher 21 speichert mehrere Programme 26, die gleichzeitig durch die CPU 20 abgearbeitet werden.
  • Eine von einem Programm 26 ausgeführte Eingabe/Ausgabe-Anforderung wird über den entsprechenden Kanal 22 an eine Leiteinrichtung 25 der Steuerung 23 gegeben. Die entsprechende gepufferte Platteneinheit 24 führt gemäß einem Befehl von der Leiteinrichtung 25 einen Lokalisiervorgang aus. Danach werden Daten über den Kanal 22 und die Leiteinrichtung 25 zwischen der Platteneinheit 24 und dem Hauptspeicher 21 übertragen. So liest und schreibt das Programm 26 erforderliche Daten aus der und in die Platteneinheit 24.
  • Nachfolgend wird die gepufferte Platteneinheit 24 des ersten Ausführungsbeispiels unter Bezugnahme auf Fig. 5 beschrieben, die eine schematische Ansicht der Platteneinheit ist. In Fig. 5 bezeichnen die Bezugszeichen 300, 301 einen ersten Prozessor bzw. einen zweiten Prozessor; 302 eine Prozessorschnittstelle; 303 eine Leiteinrichtungsschnittstelle; 304 eine Platte; 305 einen Lese/Schreib-Kopf; 306 eine Lese/ Schreib-Kopf-Schnittstelle; 307 einen Puffer; 308 Pufferverwaltungsinformation; 309 eine erste Übertragungsvorrichtung; 310 eine erste Übertragungsschnittstelle; 311 einen ersten Schalter; 312 n zweite Übertragungsvorrichtungen; 313 eine zweite Übertragungsschnittstelle; 314 einen zweiten Schalter; 315 eine dritte Übertragungsvorrichtung; 316 eine dritte Übertragungsschnittstelle und 317 einen dritten Schalter.
  • Der erste Prozessor 300 steuert die Übertragung der gesamten Daten in der gepufferten Platteneinheit 24 entsprechend einer Eingabe/Ausgabe-Anforderung von einer Leiteinrichtung 25.
  • Der zweite Prozessor 301 steuert die Übertragung von Daten zwischen einem Lese/Schreib-Kopf 305 und dem Puffer 307 entsprechend einem Befehl vom ersten Prozessor 300.
  • Die Prozessorschnittstelle 302 speichert Schnittstelleninformation zwischen dem ersten und zweiten Prozessor 300 und 301.
  • Die Leiteinrichtungsschnittstelle 303 dient für die jeweiligen Leiteinrichtungen 25 der Steuerung 23.
  • Die Platte 304 ist ein Medium, auf dem Daten aufgezeichnet sind, und mehrere (m) Platten 304 sind beim vorliegenden Ausführungsbeispiel in einer einzelnen gepufferten Platteneinheit 24 vorhanden.
  • Jeder Lese/Schreib-Kopf 305 liest/schreibt Daten von der/ auf die entsprechende Platte 304. Die Anzahl derartiger Lese/Schreib-Köpfe 305 beträgt bei diesem Ausführungsbeispiel m.
  • Die Lese/Schreib-Kopf-Schnittstelle 306 sucht entsprechend einem Befehl vom ersten oder zweiten Prozessor 300 oder 301 nach einem Lese/Schreib-Kopf 304. Wenn der Suchvorgang abgeschlossen ist, informiert die Schnittstelle 306 den ersten oder zweiten Prozessor 300 oder 301 über diese Tatsache. Sie liefert auch den Sektor 402 (Fig. 2) unter dem Lese/Schreib- Kopf 305 an den ersten oder zweiten Prozessor 300 oder 301.
  • Der Puffer 307 wird dazu verwendet, Daten zu laden, die sequentiell oder wahlfrei gelesen werden.
  • In der Pufferverwaltungsinformation 308 wird Information zum Verwalten von im Puffer 307 abgespeicherten Daten gespeichert.
  • Die erste Übertragungsvorrichtung 309 überträgt entsprechend einem Befehl vom ersten Prozessor 300 Daten zwischen einem Lese/Schreib-Kopf 305 und einer Leiteinrichtung 25. Wenn die im Puffer 307 abgespeicherten Daten geordnet werden, um durch die Leiteinrichtung 25 geschrieben zu werden, werden sie auch gleichzeitig entsprechend einem Befehl vom ersten Prozessor 300 geschrieben.
  • Die erste Übertragungsschnittstelle 310 dient für die erste Übertragungsvorrichtung 309 und den ersten Prozessor 300. Genauer gesagt, wird die erste Übertragungsschnittstelle 310 verwendet, wenn der erste Prozessor 300 die erste Übertragungsvorrichtung 309 dazu anweist, Daten von einer Leiteinrichtung 25 an den Lese/Schreib-Kopf 305 oder vom Lese/ Schreib-Kopf 305 an eine Leiteinrichtung 25 zu liefern.
  • Der erste Schalter 311 wird vom ersten Prozessor 300 angesteuert, um einen Lese/Schreib-Kopf auszuwählen, um demgemäß Daten auf der Platte 304 entsprechend diesem Kopf zu übertragen.
  • Die zweite Übertragungsvorrichtung 312 lädt entsprechend einem Befehl vom ersten oder zweiten Prozessor 300 oder 301 Daten in den Puffer 300, die durch einen Lese/Schreib-Kopf 305 gelesen wurden. Es existieren mehrere derartige zweite Übertragungsvorrichtungen 312, die während einer vollständigen Umdrehung der Platten 304 auf den Spuren befindliche Daten (was später detaillierter beschrieben wird) in den Puffer 307 laden, mit einer Anzahl, die den zweiten Übertragungsvorrichtungen 312 in einem Zylinder entspricht (was später detaillierter beschrieben wird). Daher ist es bedeutungslos, die Anzahl zweiter Übertragungsvorrichtungen 312 auf mehr als die der Platten 304 zu erhöhen. Beim vorliegenden Ausführungsbeispiel ist die Anzahl zweiter Übertragungsvorrichtungen 312 als n angenommen.
  • Die zweite Übertragungsschnittstelle 313 bezeichnet die Stelle im Puffer 307, an die Daten zu laden sind.
  • Der zweite Schalter 314 bestimmt, von welchem der Lese/ Schreib-Köpfe 305 jede der zweiten Übertragungsvorrichtungen 312 Daten lesen sollte. Diese Steuerung wird vom ersten oder zweiten Prozessor 300 oder 301 ausgeführt.
  • Die dritte Übertragungsvorrichtung 315 liefert entsprechend einem Befehl vom ersten Prozessor 300 aus dem Puffer 307 ausgelesene Daten an die Leiteinrichtung 25.
  • Der erste Prozessor 300 bestimmt, welcher Abschnitt des Puffers 307 der dritten Übertragungsschnittstelle 316 zu übertragen ist.
  • Der dritte Schalter 317 wählt von der ersten und dritten Übertragungsvorrichtung 309 und 315 eine sowie eine der Leiteinrichtungen 25 der Steuerung 23 in solcher Weise aus, daß der erste Prozessor 300 die ausgewählte Übertragungs vorrichtung dazu veranlassen kann, Daten an die ausgewählte Leiteinrichtung zu übertragen.
  • Nachfolgend wird unter Bezugnahme auf die Fig. 2 - 4 ein beim Computersystem von Fig. 1 verwendetes Aufzeichnungsmedium beschrieben. In Fig. 2 bezeichnet die Bezugszahl 304 eine Platte; 400 eine Spur, die eine Aufzeichnungseinheit angibt, auf die der Lese/Schreib-Kopf 305 während einer vollständigen Umdrehung der Platte 304 zugreifen kann; 401 einen Datensatz, der die minimale Datenübertragungseinheit anzeigt, die zwischen der Platte und einer Leiteinrichtung 25 übertragen werden kann; 402 Sektoren, die eine Einheit anzeigen, die unter konstanten Winkeln liegt, wobei eine vorbestimmte Position auf der Platte 304 zum Bezug verwendet wird.
  • Der Sektor 402 wird dazu verwendet, zu erkennen, unter welchem Azimut auf der Aufzeichnungsplatte 304 der Lese/ Schreib-Kopf positioniert ist.
  • Wenn eine Spur 400 zur Dateneingabe oder -ausgabe verwendet wird, wird der Lese/Schreib-Kopf 305 an eine Position bewegt, an der er auf die Spur zugreifen kann, was als Suchvorgang bezeichnet wird. In diesem Fall bewegen sich auch alle anderen Lese/Schreib-Köpfe 305 gleichzeitig und nicht gesondert.
  • In Fig. 3 bezeichnet die Bezugszahl 305 einen Lese/Schreib- Kopf für eine gepufferte Platteneinheit 24; 501 einen ersten Lese/Schreib-Kopf; 503 einen zweiten Lese/Schreib-Kopf; 500 einen Zylinder, der eine Ansammlung von Spuren auf demselben Umfang anzeigt (die Einzelheiten des Zylinders werden später angegeben); 505 eine erste Platte; 506 eine zweite Platte.
  • Durch Spezifizieren des Zylinders 500, werden Spuren 400, auf die die jeweiligen Lese/Schreib-Köpfe zugreifen können, eindeutig bestimmt. Als Beispiel sei angenommen, daß sich der erste Lese/Schreib-Kopf 501 an einer Position auf der ersten Platte 505 befindet, an der er auf die erste Spur 502 zugreifen kann. Der zweite Kopf 503 auf der zweiten Platte 506 unmittelbar unter der ersten Platte 505 kann auf die zweite Spur 504 zugreifen. Auf ähnliche Weise sind die Spuren 400, auf die die anderen Lese/Schreib-Köpfe 305 zugreifen können, eindeutig bestimmt. Die Ansammlung dieser Spuren wird als Zylinder 500 bezeichnet.
  • Daher spezifiziert die Leiteinrichtung 25, wenn sie eine Spur spezifiziert, in die Daten eingegeben werden, und von der solche ausgegeben werden, einfach die Folgenummer eines gewünschten Zylinders 500 und die Folgenummer eines gewünschten Lese/Schreib-Kopfs 305 dieses Zylinders. Die Zylinder 500 sind in aufsteigender Reihenfolge von außen nach innen numeriert, während die Lese/Schreib-Köpfe 305 in aufsteigender Reihenfolge von unten nach oben numeriert sind.
  • Eine Spur, die auf einer Platte unmittelbar unter einer verschiedenen Platte 400 vorhanden ist, und zum selben Zylinder 500 wie die erste verschiedene Spur 400 gehört, wird als Spur benachbart zur verschiedenen Spur 400 bezeichnet. Z.B. ist die Spur 400 benachbart zu einer ersten Spur 502 eine zweite Spur 504. Die Spur benachbart zur Spur 400 auf der untersten Platte 304 ist als eine solche definiert, die zu einem Zylinder mit einer Folgenummer gehört, die um eins größer als der Zylinder 500 ist, zu dem die Spur 400 gehört, und auch gehörend zur obersten Platte 304. Die Beziehung umgekehrt zur vorstehend angegebenen, d.h. die Beziehung von der ersten Spur 502 zur zweiten Spur 504 ist so definiert, daß die erste Spur 502 eine Spur ist, die der zweiten Spur 504 vorangeht.
  • Wie der in Fig. 2 dargestellte Sektor 402 zu bestimmen ist, ist in Fig. 4 dargestellt, in der die Bezugszahl 600 eine dritte Spur bezeichnet; 601 einen ersten Datensatz; 604 einen zweiten Datensatz; 605 einen dritten Datensatz; 602 einen ersten Sektor; 603 eine vorgegebene Position (Basissektor (Sektor 0)) auf der Platte 304, wie zum Einstellen des Sektors 402 verwendet. Die Zahlen der Sektoren 402 sind, ausgehend vom Basissektor 603, in aufsteigender Reihenfolge in der Drehrichtung der Platte 304 gegeben.
  • Es sei als Beispiel angenommen, daß die Leiteinrichtung 25 einen ersten Datensatz 601 auf der ersten Spur 6000 eingibt/ ausgibt. Wenn der Lese/Schreib-Kopf an der Position des ersten Sektors 602 unmittelbar vor dem Kopf des ersten Datensatzes 601 ankommt, wird die Leiteinrichtung 25 über diese Tatsache informiert. Dies wird als Sektoreinstellung bezeichnet.
  • Wenn die Leiteinrichtung 25 von der Platteneinheit 25 Information über den Abschluß der Sektoreinstellung empfängt, weist sie die Platteneinheit an, ausgehend von dieser Position nach dem Datensatz 401 zu suchen. Sie handhabt den als ersten aufgefundenen ersten Datensatz 601 als einen, der zu übertragen ist. Demgemäß kann der erste Datensatz 601 als zu übertragendes Objekt gehandhabt werden.
  • Im allgemeinen ist dann, wenn mehrere Datensätze 401 entsprechend einer einzelnen Eingabe/Ausgabe-Anforderung zu übertragen sind, einer als zweiter Datensatz 604 übertragen, der benachbart zum ersten Datensatz 601 liegt. Wenn zwischen dem Speicherendpunkt des Datensatzes 401 und dem Basissektor 603 kein Datensatz 401 gespeichert ist, wie im Fall des dritten Datensatzes 605, ist der Datensatz benachbart zum dritten Datensatz 605 der Datensatz 401, der unmittelbar hinter dem Basissektor 603 der nächsten Spur 400 gespeichert ist.
  • Ein sequentieller Prozeß ist als Eingabe/Ausgabe-Prozeß definiert, bei dem ein Datensatz 401 benachbart zum Datensatz 401, wie er am Ende einer Eingabe/Ausgabe-Anforderung übertragen wird, derjenige ist&sub1; der bei der nächsten Eingabe/ Ausgabe-Anforderung als erster zu übertragen ist.
  • Nachfolgend wird der Aufbau des Puffers 307 beschrieben. Die Fig. 6A und 6B veranschaulichen einen Puffer beim ersten Ausführungsbeispiel der Erfindung. Fig. 7 veranschaulicht Schlitze 12 beim ersten Ausführungsbeispiel der Erfindung.
  • In den Fig. 6A und 6B bezeichnet die Bezugszahl 10 einen Puffer, der für wahlfreie Verarbeitung verwendet wird, wie einem nicht-sequentiellen Lesevorgang zugeordnet; 11 bezeichnet einen Puffer, der für eine sequentielle Verarbeitung verwendet wird, wie einem sequentiellen Lesevorgang zugeordnet; 12 bezeichnet eine Zuordnungseinheit (Schlitz) des Puffers 307, wie einem Lesevorgang zugeordnet.
  • Beim speziellen Ausführungsbeispiel, wie es in Fig. 6A veranschaulicht ist, enthält der Puffer 10 für wahlfreie Verarbeitung einen einzelnen Schlitz. Wie es in Fig. 6B dargestellt ist, enthält der Puffer für sequentielle Verarbeitung mehrere Schlitze 12.
  • In Fig. 7 bezeichnet die Bezugszahl 13 eine Speichereinheit (ein Segment), die Daten auf einer einzelnen Spur speichert.
  • Beim vorliegenden Ausführungsbeispiel enthält der Schlitz 12 mehrere Segmente 13, deren Anzahl 2n oder das Doppelte der n zweiten Übertragungsvorrichtungen 312 ist.
  • Nun wird die Übertragung von Daten unter Verwendung des Puffers 307 beschrieben. Die Fig. 8A und 8B veranschaulichen die Datenübertragung beim ersten Ausführungsbeispiel Wenn bei der Erfindung eine Leseanforderung ausgeführt wird, wie sie erst abgeschlossen ist, wenn sich die Platte 304 über mehr als eine vollständige Umdrehung gedreht hat, wird die Datenübertragung in der Reihenfolge der Fig. 8A und 8B ausgeführt.
  • Wie es in Fig. 8A dargestellt ist, werden Daten über die n zweiten Übertragungsvorrichtungen 312 in eine erste Gruppe 72 geladen, die aus den Segmenten 13 ab einem ersten Segment 70 bis zu einem zweiten Segment 71 besteht. Der Datensatz, der an der letzten Stelle im zweiten Segment 71 geladen ist, wird als letzter Datensatz 76 in der ersten Segmentgruppe bezeichnet.
  • Demgemäß wird, wenn die Übertragung einer Datenmenge für eine vollständige Umdrehung der Platte abgeschlossen ist, die Datenmenge für die nächste eine Umdrehung übertragen, wie es in Fig. 8B dargestellt ist. D.h., daß die n zweiten Übertragungsvorrichtungen 312 Daten an eine zweite Segmentgruppe 75 übertragen, die aus den Segmenten 13 vom dritten Segment 73 bis zu einem vierten Segment 74 bestehen. Der Datensatz 401, wie er an der letzten Stelle im vierten Segment 74 abgespeichert ist, wird als letzter Datensatz 77 in der zweiten Segmentgruppe bezeichnet.
  • Gleichzeitig mit diesen Vorgängen überträgt die dritte Übertragungsvorrichtung 315 die in der ersten Segmentgruppe 72 abgespeicherten Daten an die Leiteinrichtung 25. Wenn die dritte Übertragungsvorrichtung 315 eine Geschwindigkeit hat, die das n-fache derjenigen der zweiten Übertragungsvorrichtung 312 ist, kann die dritte Übertragungsvorrichtung 315 alle Daten in der ersten Segmentgruppe 72 an die Leiteinrichtung 25 übertragen, während die n zweiten Übertragungsvorrichtungen 312 Daten in die zweite Segmentgruppe 75 laden. Wenn eine Leseanforderung weiter bewirkt, daß Daten ausgelesen werden, laden die zweiten Übertragungsvorrichtungen 312 Daten während der nächsten Umdrehung in die erste Segmentgruppe 72. Durch Wiederholen der obigen Vorgänge werden Daten beliebiger Länge mit einer Übertragungsgeschwindigkeit gelesen, die das n-fache derjenigen der zweiten Übertragungsvorrichtung 312 ist. Die Geschwindigkeit der dritten Übertragungsvorrichtung 315 muß nicht auf das nfache der Geschwindigkeit der zweiten Übertragungsvorrichtungen 312 begrenzt sein. Wenn die Geschwindigkeit der dritten Übertragungsvorrichtung 315 so ausgewählt ist, daß sie höher als die Geschwindigkeit einer zweiten Übertragungsvorrichtung und niedriger als das n-fache der Geschwindigkeit der zweiten Übertragungsvorrichtungen ist, kann ein Durchsatz erzielt werden, der der Geschwindigkeit der dritten Übertragungsvorrichtung 315 entspricht. Demgemäß ist der Durchsatz größer als der, der mit einer einzelnen zweiten Übertragungsvorrichtung 312 erzielt wird.
  • Während beim vorliegenden Ausführungsbeispiel der Leseprozeß veranschaulicht ist, erzeugt der Schreibprozeß ähnliche Wirkungen.
  • Die Form von in einem Segment 13 von Fig. 7 beim ersten Ausführungsbeispiel geladenen Daten wird nachfolgend unter Bezugnahme auf Fig. 9 beschrieben. In Fig. 9 bezeichnet die Bezugszahl 1500 eine Stelle (Adresse 0), an der der Basissektor 603 von Fig. 4 gespeichert ist.
  • Beim vorliegenden Ausführungsbeispiel ist dargestellt. daß Daten auf der Spur 400 von Fig. 4 in das Segment 13 geladen sind. In diesem Fall werden die Daten im Basissektor 603 von der Stelle 1500 an der Adresse 0 im Segment 13 geladen.
  • Wenn eine der zweiten Übertragungsvorrichtungen 312 von Fig. 5 vom zweiten Prozessor 301 eine Anforderung zum Laden von Daten auf der Spur 400 empfängt, lädt die zweite Übertragungsvorrichtung 312 Daten ausgehend vom Kopf des ersten aufgefundenen Datensatzes 401 im Segment 13. Dabei entsprechen die jeweiligen Adressen, an denen Datensätze 401 abgespeichert sind, Relativadressen ab dem Basissektor 603 der Spur 400.
  • Unter Verwendung einer derartigen Ladeart entsprechen die jeweiligen Adressen im Segment 13, an denen die Datensätze 401 gespeichert sind, den Adressen auf der Spur 400, und zwar selbst dann, wenn das Laden von Daten im Segment 13 ab einer beliebigen Stelle auf der Spur 400 beginnt.
  • Wenn für die Spur 400 eine Anforderung neu ausgegeben wird, wobei Daten bereits in das Segment 13 geladen sind, wird das Segment 13 ausgehend von einer Adresse gesucht, die der Nummer eines vorgegebenen Sektors 402 entspricht. Demgemäß kann ein Datensatz 401 aufgefunden werden, der mit dem übereinstimmt, der durch Durchsuchen der Platte 304 erhalten wird.
  • Nachfolgend wird der Aufbau der Pufferverwaltungsinformation 308 von Fig. 5 beschrieben.
  • Fig. 10 veranschaulicht Pufferverwaltungsinformation 308 beim ersten Ausführungsbeispiel; Fig. 11 veranschaulicht Verwaltungsinformation 800 für sequentielle Schlitze beim ersten Ausführungsbeispiel; Fig. 12 veranschaulicht Verwaltungsinformation 801 für wahlfrei liegende Schlitze beim ersten Ausführungsbeispiel und Fig. 13 veranschaulicht den Aufbau der gesamten Information 802 sowie den Aufbau einer LRU-Schlange 1100 für die Verwaltung sequentieller Schlitze beim ersten Ausführungsbeispiel.
  • In Fig. 10 bezeichnet die Bezugszahl 800 Verwaltungsinformation für sequentielle Schlitze, entsprechend einem Schlitz 12 im Puffer 11 für sequentielle Verarbeitung von Fig. 6B; 801 entspricht Verwaltungsinformation für wahlfrei liegende Schlitze zum Verwalten eines einzelnen Schlitzes 12 im Puffer 10 für wahlfreie Verarbeitung von Fig. 6A; und 802 bezeichnet die gesamte Information. In der Pufferverwaltungsinformation 308 existiert ein einzelnes Stück derartiger Gesamtinformation. Die Verwaltungsinformation 800 für sequentielle Schlitze und die Verwaltungsinformation 801 für einen wahlfrei angeordneten Schlitz werden gemeinsam als Schlitzverwaltungsinformation bezeichnet.
  • Der Aufbau der Verwaltungsinformation 800 für sequentielle Schlitze ist in Fig. 11 veranschaulicht, in der die Bezugszahl 900 einen LRU-Richtungszeiger bezeichnet; 901 einen MRU(als letztes benutzt)-Richtungszeiger bezeichnet; 902 einen Segmentzylinder/eine Spur bezeichnet; 903 ein Leerflag für eine erste Segmentgruppe bezeichnet; 904 ein Leerflag für eine zweite Segmentgruppe bezeichnet; 905 ein Ladeflag für eine erste Segmentgruppe bezeichnet; 906 einen Schlitzzeiger bezeichnet und 907 ein Anfangsladeflag bezeichnet.
  • Die Stücke von Verwaltungsinformation 800 für sequentielle Schlitze beim vorliegenden Ausführungsbeispiel sind in der LRU-Reihenfolge oder in der zeitlichen Reihenfolge des Empfangs von Leseanforderungen angeordnet. Alternativ können sie in der zeitlichen Reihenfolge des Empfangs einer Empfangsdaten-Eingabe/Ausgabe-Anforderung, einschließlich einer Schreibanforderung, angeordnet sein.
  • Der LRU-Richtungszeiger 900 ist ein Zeiger für die Verwaltungsinformation 800 für sequentielle Schlitze, die für die nächst-längste Zeit nicht gelesen wurde, für die aktuelle Verwaltungsinformation für sequentielle Schlitze.
  • Der MRU-Richtungszeiger 901 ist ein Zeiger für Verwaltungsinformation für sequentielle Schlitze, die für die nächstkürzeste Zeit nicht gelesen wurde, für die aktuelle Verwaltungsinformation für sequentielle Schlitze.
  • Jeder Segmentzylinder/eine Spur 902 kennzeichnet die Nummer der Spur 400, in der Daten in einem jeweiligen der Segmente 13 gespeichert werden sollten. Daher ist die Anzahl von Segmentzylindern/Spuren 902 2n, was die Anzahl von Segmenten 13 in einem einzelnen Schlitz 12 ist.
  • Das erste Segmentgruppe-Leerflag 903 gibt an, daß die gesamte erste Segmentgruppe 72 von Fig. 8 leer ist oder daß die gesamten Daten der ersten Segmentgruppe 72 an die Leiteinrichtung 25 geliefert wurden. Auf ähnliche Weise zeigt das Leerflag 904 für die zweite Segmentgruppe 75 an, daß die zweite Segmentgruppe 75 leer ist oder daß die gesamten Daten der zweiten Segmentgruppe an die Leiteinrichtung 25 geliefert wurden.
  • Das erste Segmentgruppe-Ladeflag 905 zeigt an, daß für die erste Segmentgruppe 72 und nicht für die zweite Segmentgruppe 75 die letzte Ladeverarbeitung ausgeführt wurde. Der Schlitzzeiger 906 ist ein Zeiger auf einem Schlitz 12, der der Verwaltungsinformation 800 für sequentielle Schlitze entspricht.
  • Das Ladeflag 907 für sequentielle Ladevorgänge wird nicht gesetzt, bevor nicht Daten geladen sind, nachdem die Verwaltungsinformation 800 für sequentielle Schlitze einem neuen sequentiellen Lesevorgang zugeordnet wurde.
  • Fig. 12 zeigt den Aufbau der Verwaltungsinformation 801 von Fig. 10 für einen wahlfrei liegenden Schlitz. Die Verwaltungsinformation 801 beim vorliegenden Ausführungsbeispiel für einen wahlfrei liegenden Schlitz kann nicht in einer LRU-Folge angeordnet werden, da die Anzahl ihrer Stücke nur eins ist. Demgemäß enthält die Information 801, abweichend von der Verwaltungsinformation 800 für sequentielle Schlitze von Fig. 1, 2n Segmentzylinder/Spuren 902 sowie ein erstes Segmentgruppe-Leerflag 903, ein zweites Segmentgruppe-Leerflag 904, ein erstes Segmentgruppe-Ladeflag 905, einen Schlitzzeiger 906 und ein Anfangsladeflag 907.
  • Fig. 13 zeigt die Gesamtinformation 802 von Fig. 10. In Fig. 13 bezeichnet die Bezugszahl 110 eine LRU-Schlange; 1101 einen MRU-Schlitzzeiger; 1102 einen LRU-Schlitzzeiger; 1103 ein Leseflag; 1104 ein sequentielles Flag; 1105 eine Zylindernummer; 1106 eine Kopfnummer; 1107 eine Sektornummer; 1108 die Anzahl zu übertragender Datensätze; 1109 die Anzahl von Datensätzen, für die die Übertragung abgeschlossen ist; 1110 ein Anfangsübertragungsflag; 1111 eine Übertragungsabschluß-Segmentnummer; 1112 eine Übertragungsabschluß-Segmentadresse und 1113 zu lesende Verwaltungsinformation.
  • Der MRU-Schlitzzeiger 1101 zeigt auf die Verwaltungsinformation 800 für sequentielle Schlitze, die als letzte gelesen wurde.
  • Der LRU-Schlitzzeiger 1102 zeigt auf die Verwaltungsinformation 800 für sequentielle Schlitze, die für das längste Zeitintervall nicht gelesen wurde.
  • Das Leseflag 1103 zeigt an, daß die von der Leiteinrichtung 25 empfangene Eingabe/Ausgabe-Verarbeitungsanforderung eine Leseanforderung ist.
  • Das sequentielle Flag 1104 zeigt an, daß die von der Leiteinrichtung 25 empfangene Eingabe/Ausgabe-Verarbeitungsanforderung eine Anforderung für sequentielle Verarbeitung ist.
  • Die Zylindernummer 1105 kennzeichnet den Zylinder 500, in dem der gemäß der empfangenen Eingabe/Ausgabe-Verarbeitungsanforderung als erster zu übertragende Datensatz 401 abgespeichert ist, während die Kopfnummer 1106 die durch einen Schreib/Lese-Kopf 305 bestimmte Spurnummer angibt.
  • Die Sektornummer 1107 gibt den Sektor 402 an, in dem der als erster zu übertragende Datensatz 401 abgespeichert ist.
  • Die Anzahl 1108 zu übertragender Datensätze zeigt die Anzahl von Datensätzen 401 an, die entsprechend der empfangenen Eingabe/Ausgabe-Verarbeitungsanforderung zu übertragen ist.
  • Die Anzahl 1109 von Datensätzen, für die die Übertragung abgeschlossen ist, zeigt die Anzahl von Datensätzen 401 an, die im Verlauf der Ausführung der empfangenen Daten-Eingabe/ Ausgabe-Anforderung an die Leiteinrichtung 25 übertragen wurden.
  • Das Anfangsübertragungsflag 1110 zeigt an, daß die Übertragung des Datensatzes 401 die erste ist, die aufgrund der empfangenen Eingabe/Ausgabe-Anforderung erfolgte.
  • Die Übertragungsabschluß-Segmentnummer 1111 zeigt die Kennung des Segments 13 an, in dem der Datensatz 401 gespeichert ist, der an die/von der Leiteinrichtung 25 übertragen wurde. Die Übertragungsabschluß-Segmentadresse 1112 zeigt die Endadresse des Datensatzes 401 an, der abschließend an die/von der Leiteinrichtung übertragen wurde.
  • Die Leseverwaltungsinformation 1113 ist ein Zeiger auf die Verwaltungsinformation 800 für sequentielle Schlitze oder auf die Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz, die aktuell zu lesen ist.
  • Daher wird, wenn mehrere Datensätze 401 z.B. durch eine einzelne Eingabe/Ausgabe-Anforderung zu übertragen sind, die Übertragung des zweiten und der folgenden Datensätze 401 wie folgt ausgeführt. Unter Verwendung der Übertragungsabschluß- Segmentnummer 1111 und der Übertragungsabschluß-Segmentadresse 1112 wird nach einem zu übertragenden Datensatz 401 ab der Position gesucht, an der der als letzter übertragene Datensatz 401 gespeichert ist. Danach wird der als erster aufgefundene Datensatz 401 als übertragen behandelt.
  • Nun wird die Funktion der LRU-Schlange 1101 unter Bezugnahme auf die Fig. 14A, 14B und die Fig. 15A und 15B beschrieben.
  • Die Fig. 14A und 14B veranschaulichen den Betrieb der LRU- Schlange 1100, wie er ausgeführt wird, wenn eine Anforderung für einen sequentiellen Lesevorgang, der bereits ein Schlitz 12 zugeordnet ist, beim ersten Ausführungsbeispiel der Erfindung empfangen wird.
  • In Fig. 14 bezeichnet die Bezugszahl 1200 erste Verwaltungsinformation für sequentielle Schlitze, die einem zu lesenden Schlitz 12 entspricht.
  • Fig. 14A veranschaulicht den Zustand der LRU-Schlange 1100, bevor die Anforderung für einen sequentiellen Lesevorgang empfangen wird. In diesem Fall ist die erste Verwaltungsinformation 1200 für sequentielle Schlitze bereits dem empfangenen sequentiellen Lesevorgang zugeordnet.
  • Fig. 14B veranschaulicht den Zustand der LRU-Schlange 1100, wenn der sequentielle Lesevorgang abgeschlossen ist. In diesem Fall ist die erste Verwaltungsinformation 1200 für sequentielle Schlitze diejenige, die als letzte gehandhabt wurde. Daher wird sie zur durch den MRU-Schlitzzeiger 1101 angegebenen Position bewegt.
  • Die Fig. 15A und 15B veranschaulichen, wie die LRU-Schlange 1100 zu handhaben ist, wenn beim ersten Ausführungsbeispiel eine Anforderung für einen sequentiellen Lesevorgang empfangen wird, dem kein Schlitz zugeordnet ist.
  • In Fig. 15 bezeichnet die Bezugszahl 1300 zweite Verwaltungsinformation für sequentielle Schlitze, wie sie durch den LRU-Schlitzzeiger 1102 angegeben ist.
  • Fig. 15A veranschaulicht den Zustand der LRU-Schlange 1100, bevor die Anforderung für sequentielles Lesen empfangen ist. In diesem Fall ist die zweite Verwaltungsinformation 1300 für sequentielle Schlitze, wie durch den LRU-Schlitzzeiger 1102 angezeigt, der empfangenen Anforderung für sequentielles Lesen zugeordnet.
  • Fig. 15B zeigt, daß die zweite Verwaltungsinformation 1300 für sequentielle Schlitze nach Abschluß des sequentiellen Lesevorgangs so modifiziert ist, wie es durch den MRU- Schlitzzeiger 1101 angegeben ist.
  • Unter Bezugnahme auf Fig. 16 wird die in Fig. 5 dargestellte Prozessorschnittstelle 302 beschrieben. In Fig. 16 bezeichnet die Bezugszahl 1400 ein Anforderungsflag; 1401 einen Ladezylinder; 1402 eine Ladespur und 1403 ein Ladesegment.
  • Das Anforderungsflag 1400 ist ein Bit, das angibt, daß der erste Prozessor 300 den zweiten Prozessor 301 dazu auffordert, Daten für eine vollständige Umdrehung von der Platte 304 zu lesen.
  • Der Ladezylinder 1401 gibt denjenigen Zylinder 500 an, dessen Daten gelesen werden sollen.
  • Die Ladespur 1402 kennzeichnet die Spur 400, in der der Ladeprozeß beginnt.
  • Die Anzahl der Ladesegmente 1403 beträgt n, und jedes Ladesegment 1403 spezifiziert entsprechende Segmente 13, in die Datenstücke auf den zu lesenden n Spuren 400 zu laden sind.
  • Unter Bezugnahme auf die Fig. 17 - 23 wird die Funktion des ersten und zweiten Prozessors 300 und 301 von Fig. 5 beschrieben. Fig. 17 ist ein Flußdiagramm, das die Verarbeitung des ersten Prozessors 300 angibt, wie sie ausgeführt wird, wenn der erste Prozessor 300 beim ersten Ausführungsbeispiel eine Eingabe/Ausgabe-Anforderung von einer Leiteinrichtung 25 empfangen hat. Wenn der erste Prozessor 300 beim vorliegenden Ausführungsbeispiel eine Eingabe/Ausgabe-Anforderung über die Leiteinrichtungsschnittstelle 303 von der Leiteinrichtung 25 empfängt, schreibt er Information zur Eingabe/Ausgabe-Anforderung in die Gesamtinformation 802 von Fig. 10 (1700) ein. Beim vorliegenden Ausführungsbeispiel empfängt der erste Prozessor 300 von der Leiteinrichtung 25 Information zu folgendem:
  • (1) Unterscheidung zwischen Lesen und Schreiben;
  • (2) Unterscheidung zwischen sequentieller und anderer Verarbeitung;
  • (3) Zylindernummer;
  • (4) Kopfnummer;
  • (5) Sektornummer; und
  • (6) Anzahl zu übertragender Datensätze.
  • Wenn die vom ersten Prozessor 300 empfangene Eingabe/Ausga be-Anforderung einen Lesevorgang betrifft, setzt der erste Prozessor das Leseflag 1103 in Fig. 13. Wenn die empfangene Eingabe/Ausgabe-Anforderung einen Schreibvorgang betrifft, löscht der erste Prozessor das Leseflag 1103. Wenn die empfangene Eingabe/Ausgabe-Anforderung sequentielle Verarbeitung betrifft, setzt der erste Prozessor das sequentielle Flag 1104. Andernfalls löscht der erste Prozessor das sequentielle Flag 1104. Der erste Prozessor legt ungestört Daten hinsichtlich der Zylindernummer 1105, der Kopfnummer 1106, der Sektornummer 1107 und der Anzahl zu übertragender Aufzeichnungen 1108, wie von der Leiteinrichtung 25 empfangen, fest. Der erste Prozessor löscht ferner das Anfangsübertragungsflag 1111 und setzt die Anzahl 1109 von Datensätzen mit abgeschlossener Übertragung auf 0.
  • In diesem Fall werden die einzugebenden/auszugebenen Daten durch die empfangene Zylindernummer 1105 und die Kopfnummer 1106 bestimmt. Der Startpunkt für die Daten-Eingabe/Ausgabe ist der Datensatz 401 auf dem Sektor 402 unmittelbar nach der Sektornummer 1107 auf der Spur 400. Eine Sammlung aufeinanderfolgender Datensätze ausgehend vom Datensatz 401 und auf diesen folgend, und mit der Anzahl der zu übertragenden Datensätze, ist einzugeben/auszugeben.
  • Dann wird überprüft, ob das Leseflag 1103 gelöscht ist oder nicht (Schritt 1701).
  • Im Ergebnis erfolgt, wenn das Leseflag 1103 gelöscht ist, oder die empfangene Eingabe/Ausgabe-Anforderung einen Schreibvorgang betrifft, ein Sprung auf einen Schritt 1105. Wenn ein Schreibvorgang betroffen ist, wird der Puffer 308 nicht verwendet und es wird Datenübertragung unter Verwendung der ersten Übertragungsvorrichtung 309 direkt zwischen der Platte 304 und der betroffenen Leiteinrichtung 25 ausgeführt.
  • Wenn das Leseflag 1103 gesetzt ist, wird überprüft, ob das sequentielle Flag 1104 gesetzt ist (Schritt 1702). Wenn dies der Fall ist, wird die Verarbeitung von Fig. 18 aufgerufen (Schritt 1717). Wenn die empfangene Eingabe/Ausgabe-Anforderung sequentielles Lesen betrifft, werden die zu lesenden Daten notwendigerweise in den Puffer 308 gelesen und dann an die Leiteinrichtung 25 übertragen.
  • Dann wird überprüft, ob die Anzahl 1108 zu übertragender Datensätze 1 (Einheitswert) ist, wenn die empfangene Anordnung etwas anderes als sequentielle Übertragung betrifft (Schritt 1703). Selbstverständlich sollte eine andere Ersatzhandlung zulässig sein, wenn im Schritt 1703 festgestellt wird, daß die Anzahl 1108 zu übertragender Datensätze kleiner als ein spezifizierter Wert ist.
  • Im Ergebnis sollten, wenn die Anzahl 1108 zu übertragender Datensätze 2 oder mehr ist, Daten unter Verwendung der n zweiten Übertragungsvorrichtungen 313 im Puffer 307 zwischengespeichert werden, um eine wirkungsvollere Verarbeitung zu erzielen. Daher wird das Verarbeitungsfiag von Fig. 19 aufgerufen (Schritt 1718).
  • Andernfalls startet die folgende spezifizierte Eingabe/Ausgabe-Verarbeitung. Wenn im Schritt 1703 die Anzahl zu übertragender Datensätze 1 (Einheitswert) ist, wird ein Anforderungsflag 1400 überprüft, um zu erkennen, ob der zweite Prozessor 301 Daten in den Puffer 307 lädt und ein Wartevorgang existiert, bis das Anforderungsflag 1400 gelöscht wird (Schritt 1704).
  • Im Schritt 1705 wird die Position des Zylinders 500 unter dem aktuellen Lese/Schreib-Kopf 305 mittels der Lese/ Schreib-Kopf-Schnittstelle 306 klargestellt und der zugehörige Wert wird mit der Zylindernummer 1105 verglichen.
  • Wenn der Wert nicht mit der Zylindernummer 1105 übereinstimmt, muß der Lese/Schreib-Kopf 305 mittels der Lese/ Schreib-Kopf-Schnittstelle 306 einen Suchvorgang (Schritt 1706) ausführen. Der Abschluß des Suchvorgangs wird abgewartet (Schritt 1707).
  • Die Nummer des Sektors 402 unter dem Lese/Schreib-Kopf 305 wird mittels der Lese/Schreib-Kopf-Schnittstelle 306 gelesen (Schritt 1708). Dieser Vorgang dauert an, bis die Nummer des Sektors unter dem Lese/Schreib-Kopf 305 mit der Sektornummer 1707 übereinstimmt, in welchem Fall, die Tatsache, daß sich der Lese/Schreib-Kopf 305 an der durch die spezifizierte Sektornummer 1107 angegebenen Position des Sektors 402 befindet, unter Verwendung der Leiteinrichtungsschnittstelle 303 an die Leiteinrichtung 25 berichtet wird (Schritt 1709).
  • Die Ankunft einer Übertragungsanforderung von der Leiteinrichtung 25 wird für eine vorgegebene Zeit erwartet (Schritt 1710).
  • Wenn die Übertragungsanforderung von der Leiteinrichtung 25 ankommt, wird in einem Schritt 1711 der folgende Vorgang ausgeführt. Die Übertragung von Daten erfolgt direkt zwischen der Leiteinrichtung 25 und dem Lese/Schreib-Kopf 305 unter Verwendung der ersten Übertragungsvorrichtung 309. Wenn durch die Leiteinrichtung 25 angewiesen wird, daß der im Puffer 307 gespeicherte Datensatz 401 geschrieben wird, wird auch der Datensatz 401 im Puffer 307 aktualisiert.
  • Wenn im Schritt 1710 keine Übertragungsanforderung von der Leiteinrichtung 25 ankommt, wird der folgende Vorgang ausgeführt. Wenn das Leseflag 1103 gelöscht ist, was anzeigt, daß die empfangene Eingabe/Ausgabe-Anforderung einen Schreibvorgang betrifft (Schritt 1712), erfolgt ein Sprung auf den Schritt 1709, um eine weitere Umdrehung der Platte 304 abzuwarten.
  • Wenn das Leseflag 1103 gesetzt ist (Schritt 1712), wird in einem Schritt 1713 der folgende Vorgang ausgeführt. In die Segmente eines Schlitzes, der durch den Schlitzzeiger 906 in der Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz, wie in Fig. 12 dargestellt, spezifiziert ist, werden Daten geladen. Dann wird nach der Spur gesucht, die der Zylindernummer 1105 und der Kopfnummer 1106 entspricht. Danach erfolgt ein Übertragungsbefehl an eine geeignete der n zweiten Übertragungsvorrichtungen 313, damit der erste aufgefundene Datensatz 401 übertragen wird.
  • Der Abschluß der Übertragung durch die zweite Übertragungsvorrichtung 313 wird abgewartet (Schritt 1714). Wenn die Übertragung durch diese zweite Übertragungsvorrichtung 313 abgeschlossen ist, wird gewartet, bis die Übertragung von/ zu der Leiteinrichtung 25 über die Leiteinrichtungsschnittstelle 303 möglich wird (Schritt 1715).
  • Wenn eine Übertragung von/zu der Leiteinrichtung 25 möglich wird, wird in einem Schritt 1716 der folgende Vorgang ausgeführt. Daten werden vom Segment 13 des durch den Schlitzzeiger 906 in der Schlitzverwaltungsinformation 801 für wahlfreie Verarbeitung angezeigten Schlitzes 12 an die Leiteinrichtung 25 geliefert. So wird der Leseprozeß abgeschlossen.
  • Einzelheiten des Schritts 1717 von Fig. 17 werden unter Bezugnahme auf Fig. 18 beschrieben, die ein Flußdiagramm ist, das die vom ersten Prozessor 300 ausgeführte Verarbeitung angibt, wenn dieser erste Prozessor eine Anforderung für sequentielles Lesen empfängt.
  • Beim vorliegenden Ausführungsbeispiel werden alle Segmentzylinder/Spuren 902 der Verwaltungsinformation 800 für sequentielle Schlitze durchsucht (Schritt 1800). Durch ein derartiges Durchsuchen wird überprüft, ob der empfangenen Verarbeitungsanforderung für sequentielles Lesen bereits ein Schlitz 12 zugeordnet ist. Genauer gesagt, stimmen die Zylindernummer 1105 und die Kopfnummer 1106 der empfangenen Eingabe/Ausgabe-Anforderung mit denen eines Segmentzylinders/einer Spur 902 überein.
  • Im Ergebnis erfolgt, wenn eine Zuordnung besteht, ein Sprung auf einen Schritt 1804. Falls nicht, wird in einem Schritt 1801 der folgende Prozeß ausgeführt. Die durch den LRU- Schlitzzeiger 1107 angegebene Verwaltungsinformation 800 für sequentielle Schlitze wird als zugeordnet gehandhabt. Dies impliziert, daß der durch den Schlitzzeiger 906 in der Verwaltungsinformation 800 für sequentielle Schlitze angezeigte Schlitz 12 der empfangenen Anforderung für einen sequentiellen Lesevorgang zugeordnet werden sollte.
  • Wie es in den Fig. 15A und 15B dargestellt ist, wird die dem empfangenen Prozeß für sequentielles Lesen zugeordnete Verwaltungsinformation 800 für sequentielle Schlitze an die durch den MRU-Schlitzzeiger 1101 angegebene Stelle verschoben (Schritt 1802).
  • Dann wird Information in die Verwaltungsinformation 800 für sequentielle Schlitze eingetragen (Schritt 1803). Genauer gesagt, werden das erste und zweite Segmentgruppe-Leerflag 903 und 904 gesetzt. Ferner wird das erste Segmentgruppe- Ladeflag 905 gesetzt. Ferner wird das Anfangsladeflag 907 gesetzt. Danach erfolgt ein Sprung auf einen Schritt 1805.
  • Wenn bereits ein Schlitz 12 zugeordnet ist (Schritt 1800), wird die der empfangenen Anforderung für sequentielles Lesen zugeordnete Verwaltungsinformation 800 für sequentielle Schlitze an die durch den MRU-Schlitzzeiger 1101 angegebene Position entsprechend der Funktion der LRU-Schlange 1100 verschoben, wie in den Fig. 14A und 14B dargestellt (Schritt 1804).
  • Im Schritt 1805 wird der Zeiger auf die Verwaltungsinformation 800 für sequentielle Schlitze, die der empfangenen Anforderung für sequentielles Lesen zugeordnet ist, in die Leseverwaltungs information 1112 eingetragen.
  • Ein in den Fig. 20A und 20B dargestellter Prozeßablauf wird aufgerufen, um in einen speziellen Übertragungsvorgang einzutreten (Schritt 1806).
  • Die Einzelheiten des Schritts 1718 von Fig. 17 werden unter Bezugnahme auf Fig. 19 beschrieben, die ein Flußdiagramm ist, das die Verarbeitung zeigt, die der erste Prozessor 300 ausführt, wenn er eine Anforderung für nicht-sequentielles Lesen zum Lesen von zwei oder mehr Datensätzen beim ersten Ausführungsbeispiel der Erfindung empfangen hat. Selbstverständlich sollte eine andere Ersatzhandlung zugelassen sein, wie oben beschrieben, damit Fig. 19 aufgerufen wird, wenn der erste Prozessor 300 eine Anforderung zum nicht-sequentiellen Lesen empfangen hat, um mehr als eine spezielle Anzahl von Datensätzen zu lesen.
  • Beim vorliegenden Ausführungsbeispiel wird erste, anfängliche Information in die Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz eingetragen (Schritt 1900). Genauer gesagt, werden das erste und das zweite Leerflag 903 und 904 gesetzt. Ferner werden das erste Segmentgruppe-Ladeflag 905 und das Anfangsladeflag 907 gesetzt.
  • Der Zeiger auf die Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz wird in einen gelesenen Schlitz 1113 eingetragen (Schritt 1901).
  • Die in den Fig. 20A und 20B dargestellte Verarbeitung wird aufgerufen, um in einen speziellen Leseprozeß einzutreten (Schritt 1902). Die Einzelheiten des Schritts 1902 von Fig. 19 werden unter Bezugnahme auf die Fig. 20A und 20B beschrieben, die Flußdiagramme sind, die den Lesevorgang des ersten Prozessors 300 unter Verwendung des Puffers beim ersten Ausführungsbeispiel angeben.
  • Der Schlitz, in den zu lesende Daten beim speziellen Ausführungsbeispiel zu laden sind, ist ein Schlitz 12, der der Leseverwaltungsinformation 1113 von Fig. 13 entspricht. Daher repräsentiert, wenn die jeweiligen Informationsstücke in der Verwaltungsinformation 800 für sequentielle Schlitze von Fig. 11 oder der Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz von Fig. 12 beschrieben sind, jener Informationprozeß denjenigen in der Schlitzverwaltungsinformation, auf den die Leseverwaltungsinformation 1113 zeigt. Wenn die Komponenten im Schlitz 12, wie in den Fig. 8A und 8B dargestellt, beschrieben sind, repräsentieren sie die Komponenten im Schlitz 12, der der Leseverwaltungsinformation 1113 entspricht. Dies gilt nicht nur in den Fig. 20A und 20B, sondern auch in den Fig. 21, 22 sowie den Fig. 26A und 26B, die später detaillierter beschrieben werden.
  • Beim vorliegenden Ausführungsbeispiel sind sowohl das erste als auch das zweite Gruppenleerflag 903 und 904 gesetzt (Schritt 2000) und es erfolgt ein Sprung auf einen Schritt 2014.
  • Wenn eines der Flags gelöscht ist, wird überprüft, ob das Anforderungsflag 1400 von Fig. 16 gesetzt ist (Schritt 2001).
  • Im Ergebnis erfolgt, wenn das Anforderungsflag 1400 gelöscht ist, ein Sprung auf einen Schritt 2005.
  • Im in Fig. 20A dargestellten Schritt 2002 wird bemerkt&sub1; daß die Beschreibung in Beziehung mit dem Schritt 2009 in Fig. 20B weggelassen wird, da der Prozeß offensichtlich ist.
  • Wenn das Anforderungsflag 1400 gesetzt ist, erfolgt ein Wartevorgang, bis das Anforderungsflag 1400 gelöscht ist (Schritt 2003). Demgemäß erfolgt, wenn das Anforderungsflag 1400 gelöscht ist, eine Verschiebung auf einen Schritt 2004, in dem die in Fig. 21 dargestellte Verarbeitung aufgerufen wird.
  • Dann wird überprüft, ob das erste Segmentgruppe-Ladeflag 903 in der Schlitzverwaltungsinformation 800, auf die die Leseinformation 1113 zeigt, gesetzt ist (Schritt 2005).
  • Im Ergebnis erfolgt, falls dies der Fall ist, ein Sprung auf einen Schritt 2007. Falls nicht, wird die folgende Verarbeitung ausgeführt (Schritt 2006). Alle zur ersten Segmentgruppe 72 der Fig. 8A und 8B gehörenden Adressen von Segmenten 13 werden im Schritt 2006 in die Ladesegmente 1403 eingetragen.
  • Dann wird überprüft, ob das Anfangsladeflag 907 gesetzt ist (Schritt 2016). Im Ergebnis erfolgt, falls es gelöscht ist, ein Sprung auf den Schritt 2019. Falls es gesetzt ist, werden die Zylindernummer 1105 und die Kopfnummer 1106 für den Ladezylinder 1401 bzw. die Ladespur 1402 eingetragen (Schritt 2017). Dann wird das Anfangsladeflag 907 gelöscht (Schritt 2018) und anschließend erfolgt ein Sprung auf einen Schritt 2020.
  • Wenn das Anfangsladeflag 907 im Schritt 216 gelöscht ist, wird eine Spur 400 erhalten, die durch den Segmentzylinder/ eine Spur 902 angegeben ist, die dem letzten Segment der zweiten Segmentgruppe 75 entspricht. Die Nummer des Zylinders 500 und die Nummer des Lese/Schreib-Kopfs 305, die der Spur benachbart zur erhaltenen Spur 400 entsprechen, werden berechnet. Danach werden die Berechnungsergebnisse in den entsprechenden Ladezylinder 1401 und die entsprechende Ladespur 1402 eingespeichert (Schritt 2019).
  • Im Schritt 2020 wird eine Spur 400 erhalten, die den Nummern des Zylinders 500 und des Lese/Schreib-Kopfs 305 entspricht, wie im Ladezylinder 1401 und in der Ladespur 1402 abgespeichert. Die Nummern der Zylinder 500 und der Lese/ Schreibköpfe 305, zu denen die n folgenden Spuren 400, ausgehend von dieser Spur, entsprechen, werden auf Grundlage dieser Spur 400 berechnet. Danach werden die berechneten Werte in die n Segmentzylinder/Spuren 902 eingespeichert, die den Segmenten 1300 der ersten Segmentgruppe 72 entsprechen. Ferner wird das erste Segmentgruppe-Ladeflag 906 gesetzt und dann erfolgt ein Sprung auf den Schritt 2008.
  • Wenn im Schritt 2005 das erste Segmentgruppe-Ladeflag gesetzt ist, erfolgt ein Übergang zum Schritt 2007, in dem alle Adressen der zur zweiten Segmentgruppe 75 gehörenden Segmente 13 in die Ladesegmente 1403 eingetragen werden. Die durch den Segmentzylinder/eine Spur 902 angegebene Spur 400, die dem letzten Segment der ersten Segmentgruppe 75 entspricht, wird erhalten. Danach werden die Nummern des Zylinders 500 und des Lese/Schreib-Kopfs 305, die der Spur benachbart zur erhaltenen Spur entsprechen, in den Ladezylinder 1401 bzw. die Ladespur 1402 eingespeichert. Die folgende Verarbeitung wird dadurch ausgeführt, daß die Spur 400 als Bezug verwendet wird, die den Nummern des Zylinders 500 und des Lese/Schreib-Kopfs 305 entspricht, wie im Ladezylinder 1401 und in der Ladespur 1402 abgespeichert. Die Nummern der Zylinder 500 und der Lese/Schreib-Köpfe 305, zu denen die n folgenden Spuren 400, beginnend mit der Spur 400 als Bezug, gehören, werden in die n Segmentzylinder/Spuren 902 eingetragen, die den Segmenten in der zweiten Segmentgruppe 75 entsprechen. Danach wird das erste Segmentgruppe-Ladeflag 903 gelöscht.
  • Das Anforderungsflag 1400 wird gesetzt, um dafür zu sorgen, daß der zweite Prozessor 301 für eine Umdrehung einen Ladevorgang ausführt (Schritt 2008).
  • Dann wird überprüft, ob die Anzahl 1109 von Datensätzen, für die die Übertragung abgeschlossen ist, der Anzahl zu übertragender Datensätze entspricht (Schritt 2009).
  • Im Ergebnis erfolgt, falls Gleichheit besteht, ein Sprung auf den Schritt 2011. Falls nicht, wird überprüft, ob das erste und zweite Segmentgruppe-Leerflag 903 und 904 beide gelöscht sind (Schritt 2010).
  • Wenn die beiden Flags gelöscht sind, erfolgt ein Sprung auf den Schritt 2014. Wenn eines der Flags gesetzt ist, erfolgt ein Wartevorgang, bis das Anforderungsflag 1400 gelöscht ist (Schritt 2011).
  • Wenn das Anforderungsflag 1400 gelöscht ist, wird die in Fig. 21 dargestellte Verarbeitung aufgerufen (Schritt 2012) und dann erfolgt ein Sprung auf den Schritt 2005.
  • Wenn im Schritt 2009 die Anzahl 1108 zu übertragender Datensätze der Anzahl 1109 von Datensätzen entspricht, für die die Übertragung abgeschlossen ist, wird überprüft, ob sowohl das erste als auch das zweite Leerflag 903 und 904 gelöscht sind (Schritt 2013).
  • Im Ergebnis wird, wenn beide Flags gelöscht sind, die Übertragung beendet. Falls nicht, erfolgt eine Rückkehr zum Schritt 2000.
  • Im Schritt 2014 wird die in Fig. 22 dargestellte Verarbeitung aufgerufen, um einen einzelnen Datensatz von/zu der Leiteinrichtung 25 zu übertragen.
  • Danach wird überprüft, ob das sequentielle Flag 1104 gelöscht ist und ob die Anzahl 1108 zu übertragender Datensätze der Anzahl 1109 von Datensätzen entspricht, für die die Übertragung abgeschlossen ist (Schritt 2015).
  • Im Ergebnis erfolgt, wenn diese Bedingungen nicht erfüllt sind, ein Sprung auf den Schritt 2000. Wenn die Bedingungen erfüllt sind, wird die Verarbeitung beendet.
  • Die Einzelheiten der Schritte 2004 und 2012 von Fig. 20A werden unter Bezugnahme auf Fig. 21 beschrieben, die ein Flußdiagramm zur Funktion des Prozessors 300 ist, wie sie ausgeführt wird, wenn das Anforderungsflag beim ersten Ausführungsbeispiel gelöscht ist. Beim vorliegenden Ausführungsbeispiel wird als erstes überprüft, ob das erste Segmentgruppe-Ladeflag 905 von Fig. 9 gesetzt ist (Schritt 2100).
  • Im Ergebnis wird, falls es gesetzt ist, das erste Segmentgruppe-Leerflag 903 gesetzt und die Verarbeitung wird beendet (Schritt 2101). Falls es gelöscht ist, wird das zweite Segmentgruppe-Leerflag 904 gelöscht und die Verarbeitung wird beendet (Schritt 2102).
  • Die Einzelheiten des Schritts 2014 von Fig. 20B werden unter Bezugnahme auf Fig. 22 beschrieben, die ein Flußdiagramm ist, das den Übertragungsvorgang zwischen einer ersten Übertragungsvorrichtung 315 und der Ladeeinrichtung 25 beim ersten Ausführungsbeispiel angibt.
  • Beim vorliegenden Ausführungsbeispiel erfolgt eine Anfrage für eine Verbindung zum Start der Übertragung von Daten von/ zu der in Fig. 5 dargestellten Leiteinrichtung 25 über die Leiteinrichtungsschnittstelle 303 (Schritt 2200).
  • Wenn eine Übertragung von/zu der Leiteinrichtung 25 möglich wird, wird überprüft, ob das Anfangsübertragungsflag 907 von Fig. 11 gesetzt ist (Schritt 2201). Falls es gelöscht ist, erfolgt ein Sprung auf einen Schritt 2204.
  • Falls es gesetzt ist, wird das zu übertragende Segment 13 unter Verwendung der Zylindernummer 1105 und der Kopfnummer 1106 sowie des Segmentzylinders/der Spur 902, wie in Fig. 13 dargestellt, gesucht, und das Segment 13 wird entsprechend der durch die Sektornummer 1107 bestimmten Adresse durchsucht, um einen zu übertragenden Datensatz 401 aufzufinden (Schritt 2202).
  • Danach wird das Anfangsübertragungsflag 907 gelöscht (Schritt 2203) und es erfolgt ein Sprung auf einen Schritt 2205.
  • Im Schritt 2204 wird ein zu übertragender Datensatz 401 unter Verwendung der Übertragungsabschluß-Segmentnummer 1111 und der Übertragungsabschluß-Segmentadresse 1112 gesucht.
  • Danach wird die dritte Übertragungsvorrichtung 313 angewiesen, Daten für einen Datensatz zu übertragen (Schritt 2205), und es wird auf den Abschluß dieser Übertragung gewartet (Schritt 2206).
  • Wenn eine Mitteilung hinsichtlich des Abschlusses empfangen wird, wird die Anzahl 1109 der Datensätze, für die die Übertragung abgeschlossen ist, um eins inkrementiert und die Übertragungsabschluß-Segmentnummer 1111 und die Übertragungsabschluß-Segmentadresse 1112 werden entsprechend dem Datensatz 401, für den die Übertragung abgeschlossen ist, aktualisiert (Schritt 2207).
  • Dann wird überprüft, ob der Datensatz, für den die Übertragung abgeschlossen ist, der letzte Datensatz 76 in der ersten Segmentgruppe gemäß den Fig. 8A und 8B ist (Schritt 2208).
  • Im Ergebnis wird, falls dies der Fall ist, das erste Segmentgruppe-Leerflag 903 gesetzt und die Verarbeitung wird beendet (Schritt 2209).
  • Falls dies nicht der Fall ist, wird überprüft, ob der Datensatz, für den die Übertragung abgeschlossen ist, der letzte Datensatz 77 in der zweiten Segmentgruppe ist (Schritt 2210).
  • Im Ergebnis wird, falls dies der Fall ist, das zweite Segmentgruppe-Leerflag 904 gesetzt und die Verarbeitung wird beendet (Schritt 2211).
  • Der Ladevorgang des zweiten Prozessors 301 für eine Umdrehung entsprechend Befehlen vom ersten Prozessor 300 in Fig. 5 beim ersten Ausführungsbeispiel wird unter Bezugnahme auf das Flußdiagramm von Fig. 23 beschrieben.
  • Beim vorliegenden Ausführungsbeispiel erfolgt ein Wartevorgang, bis das Anforderungsflag 1400 gesetzt ist (Schritt 2300), in welchem Fall die Verarbeitung in einem Schritt 2301 und anschließenden Schritten ausgeführt wird. Die Nummer des Zylinders 500 unter dem aktuellen Lese/Schreib-Kopf 305 wird mittels des Ladezylinders 1401 und der Lese/ Schreib-Kopf-Schnittstelle 306 erhalten. Aus dem zugehörigen Wert wird überprüft, ob ein Suchvorgang erforderlich ist (Schritt 2301).
  • Im Ergebnis wird, falls dies nicht der Fall ist, ein Sprung auf einen Schritt 2304 ausgeführt.
  • Wenn ein Suchvorgang erforderlich ist, erfolgt eine Suchanforderung über die Lese/Schreib-Schnittstelle 306 (Schritt 2302). Danach wird der Abschluß des Suchvorgangs erwartet (2303).
  • Wenn der Suchvorgang abgeschlossen ist, werden die n zweiten Übertragungsvorrichtungen 312 angewiesen, Daten zu übertragen (Schritt 2304). In diesem Fall trägt der zweite Prozessor 301 in die zweite Übertragungsvorrichtungs-Schnittstelle 313 und den zweiten Schalter 314 Information zu den verwendeten zweiten Übertragungsvorrichtungen 312, zu ausgewählten Spuren und zu Segmenten ein, in die Information zur Spur durch die zweiten Übertragungsvorrichtungen geladen wird.
  • Ferner wird auf den Abschluß der Übertragung durch die n zweiten Übertragungsvorrichtungen 313 gewartet (Schritt 2305).
  • Wenn die Übertragung durch die n zweiten Übertragungsvorrichtungen abgeschlossen ist, wird das Anforderungsflag 1400 von Fig. 16 gelöscht (Schritt 2306) und es erfolgt ein Sprung auf den Schritt 2300.
  • Durch das erste Ausführungsbeispiel wird das Folgende erzielt:
  • (1) geeignete Puffer werden Anforderungen für sequentielle und wahlfreie Übertragung zugeordnet;
  • (2) die entsprechend einer Anforderung für sequentielle Übertragung gelesenen Daten werden durch Zerstörung aufgrund einer Anforderung für wahlfreie Übertragung geschützt;
  • (3) zum Zuordnen von Puffern für den Abschluß jeweiliger sequentieller Übertragungsprozesse wird ein Prozeß bereitgestellt;
  • (4) hinsichtlich einer Anforderung für wahlfreie Übertragung für viele Datensätze werden Datensätze zeitweilig in den Puffer 307 eingespeichert und dann an die Steuerung 23 übertragen, so daß die Datenübertragungsgeschwindigkeit zwischen der Platteneinheit 24 und der Steuerung 23 genutzt werden kann.
  • (Zweites Ausführungsbeispiel)
  • Für das vorliegende Ausführungsbeispiel wird der Betrieb des Systems beschrieben, wie er ausgeführt wird, wenn Daten zur Anzahl der zu übertragenden Datensätze nicht vorab von der Leiteinrichtung 25 von Fig. 5 empfangen werden. Das Computersystem und die gepufferten Platteneinheiten 24 des vorliegenden Ausführungsbeispiels sind ähnlich denen beim ersten Ausführungsbeispiel. Das erste Ausführungsbeispiel ist mit Ausnahme von unten speziell angegebenen Punkten dasselbe wie das erste Ausführungsbeispiel.
  • Im allgemeinen ist die Zeit, die zwischen dem Abschluß der Übertragung mehrerer Datensätze 401 bis zum Empfang einer Anforderung zum Übertragen der nächsten Datensätze 401 verstreicht, sehr kurz, z.B. in der Größenordnung einer Anzahl von Mikrosekunden. Daher wird beim vorliegenden Ausführungsbeispiel dann, wenn innerhalb einer vorgegebenen Zeit nach Abschluß der Übertragung eines Datensatzes 401 keine Übertragungsanforderung empfangen wird, der Eingabe/Ausgabe- Prozeß als abgeschlossen angesehen. Da viele Fälle bestehen, in denen die Anzahl zu übertragender Datensätze 401 bei nicht-sequentieller Übertragung den Wert 1 (Einheitswert) hat, werden Daten nur dann in den Puffer 307 geladen, wenn keine Leiteinrichtung 25 sicher zugeordnet ist.
  • Die gesamte Information beim zweiten Ausführungsbeispiel wird unter Bezugnahme auf Fig. 24 beschrieben. Beim Ausführungsbeispiel wird ein Übertragungsabschluß-Erkennungsflag 1600 anstelle der Anzahl 1108 zu übertragender Datensätze und der Anzahl 1109 von Datensätzen, für die die Übertragung abgeschlossen ist, wie es beim ersten, in Fig. 13 dargestellten Ausführungsbeispiel der Fall ist, bereitgestellt. Dieses Flag wird gesetzt, wenn erkannt wird, daß entsprechend der empfangenen Eingabe/Ausgabe-Anforderung alle korrekten Datensätze 401 an die Leiteinrichtung 25 geliefert sind.
  • Beim vorliegenden Ausführungsbeispiel wird die Überarbeitung durch den ersten Prozessor 300 ausgeführt, wenn dieser erste Prozessor 300 von Fig. 5 eine Eingabe/Ausgabe-Anforderung empfangen hat, und es wird der Lesevorgang durch den ersten Prozessor 300 unter Verwendung des Puffers 307 beschrieben.
  • Fig. 25 ist ein Flußdiagramm, das den Betrieb des ersten Prozessors 300 angibt, wie er ausgeführt wird, wenn dieser Prozessor beim zweiten Ausführungsbeispiel eine Eingabe/Ausgabe-Anforderung emfpangen hat.
  • Beim vorliegenden Ausführungsbeispiel entspricht der Schritt 2500 dem Schritt 1700 von Fig. 17. Dies ist die Anfangseinstellung jeweiliger Stücke von Information, wie sie ausgeführt wird, wenn eine Eingabe/Ausgabe-Anforderung von der Leiteinrichtung 25 empfangen wird. Das Übertragungsabschluß- Erkennungsflag 1600 wird gelöscht, anstatt daß der Wert der Anzahl 1108 zu übertragender Datensätze (Fig. 13) eingetragen wird und die Anzahl von Datensätzen, für die die Übertragung abgeschlossen ist, im Schritt 1700 auf 0 gesetzt wird.
  • In Fig. 25 existiert keine dem Schritt 1703 von Fig. 17 entsprechende Verarbeitung, und der Schritt 1704 wird im Fall eines wahlfreien Lesevorgangs gestartet.
  • Im Schritt 1716 unterscheidet sich die Verarbeitung, die ausgeführt wird, nachdem der in den Puffer 308 eingelesene Datensatz 401 an die Leiteinrichtung 25 übertragen ist, von der beim ersten Ausführungsbeispiel Beim vorliegenden zweiten Ausführungsbeispiel wird, nachdem der Datensatz 401 übertragen wurde, eine Anforderung zum Lesen des nächsten Datensatzes 401 von der Leiteinrichtung 25 für eine vorgegebene Zeit ab der Übertragung des Datensatzes 401 abgewartet (Schritt 2501). Wenn keine Leseanforderung empfangen wird, wird die Verarbeitung beendet. Wenn eine Leseanforderung emfpangen wird, wird das Anfangsübertragungsflag 1113 gelöscht (Schritt 2502). Danach wird die Verarbeitung von Fig. 19 aufgerufen, um die Übertragung des nächsten Datensatzes auszuführen (Schritt 2503).
  • Die Fig. 26A und 26B sind ein Flußdiagramm, die den Lesevorgang des ersten Prozessors 300 unter Verwendung des Puffers 307 beim zweiten Ausführungsbeispiel angeben.
  • Fig. 26A und 26B entsprechen den Fig. 20A und 20B (erstes Ausführungsbeispiel). Daher ist beim vorliegenden Ausführungsbeispiel das Verarbeitungsflußdiagramm, das im Schritt 1806 von Fig. 18 und im Schritt 1902 von Fig. 19 aufgerufen wird, dasjenige der Fig. 26A und 26B.
  • Im in Fig. 26A dargestellten Schritt 2600 ist zu beachten, daß die Beschreibung in bezug auf den Schritt 2010 in Fig. 26B weggelassen wird, da der Prozeß offensichtlich ist.
  • Beim vorliegenden Ausführungsbeispiel wird in einem Schritt 2601 überprüft, ob das Übertragungsabschluß-Erkennungsflag 1600 von Fig. 24 gesetzt ist.
  • Der Abschluß des Eingabe/Ausgabe-Prozesses wird beim vorliegenden Ausführungsbeispiel mittels des Übertragungsabschluß- Erkennungsflags 1600 erkannt. Beim ersten Ausführungsbeispiel wird der Abschluß des Eingabe/Ausgabe-Prozesses erkannt, wenn die Anzahl 1108 zu übertragender Datensätze und die Anzahl 1109 von Datensätzen, für die die Übertragung abgeschlossen ist, übereinstimmen.
  • Beim vorliegenden Ausführungsbeispiel wird, nachdem der Prozeß von Fig. 22 im Schritt 2014 aufgerufen wurde, die Ankunft einer Anforderung zum Übertragen des nächsten Datensatzes 401 für eine vorgegebene Zeit abgewartet (Schritt 2602). Wenn die nächste Anforderung zur Übertragung von der Leiteinrichtung 25 eintrifft, erfolgt ein Sprung auf den Schritt 2013. Falls nicht, wird das Übertragungsabschluß- Erkennungsflag 1600 gesetzt (Schritt 2603). Es wird überprüft, ob das sequentielle Flag gelöscht ist und ob das Übertragungsabschluß-Erkennungsflag 1600 gesetzt ist (Schritt 2604). Wenn diese zwei Bedingungen erfüllt sind, wird die Verarbeitung beendet.
  • Der Unterschied zwischen dem zweiten Ausführungsbeispiel und dem bereits beschriebenen ersten Ausführungsbeispiel ist der folgende. Beim ersten Ausführungsbeispiel informiert die Steuerung 23 die Platteneinheit vorab über die Anzahl zu übertragender Datensätze, Im Gegensatz hierzu werden beim zweiten Ausführungsbeispiel hinsichtlich einer Anforderung für wahlfreies Lesen Daten nur dann in die Puffer 307 geladen, wenn keine Übertragungspfade zwischen den Platteneinheiten 24 und der Steuerung 23 nach Abschluß des Lokalisierprozesses sichergestellt sind.
  • (Drittes Ausführungsbeispiel)
  • Beim vorliegenden Ausführungsbeispiel sind der Aufbau der Schlitze 12 von Fig. 7 (erstes Ausführungsbeispiel) und der Prozeß der Zuordnung von Schlitzen 12 wie folgt geändert.
  • (1) Änderung des Puffers für wahlfreie Verarbeitung
  • Beim vorliegenden Ausführungsbeispiel besteht der Puffer 10 von Fig. 6A für wahlfreie Verarbeitung aus mehreren Zuordnungseinheiten.
  • Demgemäß werden, wenn eine Leseanforderung hinsichtlich der in den Zuordnungseinheiten abgespeicherten Daten auftritt, nur die Daten in den Zuordnungseinheiten gelesen.
  • Ein nicht-sequentieller Lesevorgang bedeckt beinahe nicht mehrere Spuren 400, so daß die Zuordnungseinheiten entsprechend den Spuren 400 vorhanden sind.
  • Die jeweiligen Zuordnungseinheiten werden in der zeitlichen Reihenfolge der Zugriffe verwaltet. Demgemäß wird, wenn eine Leseanforderung für eine Spur 400 empfangen wird, der keine Zuordnungseinheit zugeordnet ist, diejenige Zuordnungseinheit ausgewählt, auf die während des längsten Zeitintervalles nicht zugegriffen wurde.
  • (2) Änderung des Puffers für sequentielle Verarbeitung
  • Beim vorliegenden Ausführungsbeispiel besteht der Puffer 11 von Fig. 68 für sequentielle Verarbeitung aus den mehreren Schlitzen 12. Nur diejenigen Schlitze 12, auf die während einer vorgegebenen Zeit nicht zugegriffen wurde, werden so gehandhabt, daß sie dem Prozeß für sequentielles Lesen zugeordnet sind. Da ein Prozeß für sequentielles Lesen, dem keine Schlitze 12 zugeordnet sind, empfangen wird, wenn nur einige wenige Schlitze 12 in der LRU-Reihenfolge verwaltet werden, können die zuvor gelesenen Daten verlorengehen. Das Verfahren zum Verwalten von Schlitzen 12 in der LRU-Reihenfolge ist wirkungsvoll, wenn die Zugriffshäufigkeiten bei jeweiligen Prozessen für sequentielles Lesen, wie sie einem jeweiligen Schlitz 12 entsprechen, variieren, oder wenn der Puffer 307 aus relativ vielen Schlitzen 12 besteht.
  • Daher werden beim vorliegenden Ausführungsbeispiel, solange keine Schlitze 12 bestehen, auf die während einer vorgegebenen Zeit nicht zugegriffen wurde, wenn eine neue Anforderung für sequentielles Lesen empfangen wird, keine Schlitze 12 zur neuempfangenen Anforderung für sequentielles Lesen zugeordnet und Daten werden direkt vom Lesekopf 305 übertragen.
  • Es wird nun der spezielle Aufbau des vorliegenden Ausführungsbeispieles beschrieben. Fig. 17 veranschaulicht den Puffer 10 für wahlfreie Verarbeitung beim dritten Ausführungsbeispiel, in dem mehrere wahlfrei liegende Schlitze 2700 existieren. Daten auf einer einzelnen Spur 400 sind in jeden wahlfrei liegenden Schlitz 2700 eingespeichert.
  • Fig. 28 veranschaulicht die Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz beim dritten Ausführungsbeispiel, wobei mehrere Stücke von Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz existieren, die den wahlfrei liegenden Schlitzen 2700 von Fig. 27 entsprechen und die in der Pufferverwaltungsinformation 308 von Fig. 5 abgespeichert sind.
  • Ein LRU-Richtungszeiger 900 zeigt auf diejenige Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz, die für die nächst-längste Zeit, bezogen auf die aktuelle Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz nicht gelesen wurde. Ein MRU-Richtungszeiger 901 zeigt auf die Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz, der für die nächst-kürzeste Zeit bezogen auf die aktuelle Verwaltungsinformation 801 für einen wahlfrei hegenden Schlitz nicht gelesen wurde.
  • Insbesondere werden beim vorliegenden Ausführungsbeispiel Stücke von Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz in der zeitlichen Zugriffsreihenfolge verwaltet, so daß abweichend vom ersten Ausführungsbeispiel von Fig. 12 Werte auch in die LRU- und MRU-Richtungszeiger 900 und 901 eingetragen werden. Beim ersten Ausführungsbeispiel befinden sich die MRU- und LRU-Richtungszeiger 901 und 900 in der Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz in einem Nullzustand.
  • Da der wahlfrei liegende Schlitz 2700 den Datensatz auf einer einzelnen Spur speichert, ist die Anzahl verwendeter Segmente/Zylinder 902 1 (Einheitswert). Aus ähnlichen Gründen sind keine Flags erforderlich, wie das erste und zweite Segmentgruppe-Leerflag 903 und 904 sowie das erste Segmentgruppe-Ladeflag 905.
  • Fig. 29 veranschaulicht die Verwaltungsinformation 800 für den wahlfrei liegenden Schlitz beim dritten Ausführungsbeispiel der Erfindung. In Fig. 29 bezeichnet die Bezugszahl 2900 die Zugriffszeit, wenn die zweckentsprechende Verwaltungsinformation 800 für einen wahlfrei liegenden Schlitz gelesen wird.
  • Beim vorliegenden Ausführungsbeispiel werden die Stücke von Verwaltungsinformation 800 für sequentielle Schlitze nicht in der LRU-Schlange verwaltet. Daher unterscheiden sich die LRU- und MRU-Richtungszeiger 900 und 901 von denen beim ersten Ausführungsbeispiel von Fig. 11, und sie sind lahmgelegt.
  • Fig. 30 veranschaulicht den Aufbau der Gesamtinformation und den Aufbau einer LRU-Schlange 1100 für wahlfreien Zugriff beim dritten Ausführungsbeispiel. Es wird der Betrieb des vorliegenden Ausführungsbeispiels für den Fall beschrieben, daß die Leiteinrichtung 25 von Fig. 1 nicht die Anzahl von Datensätzen spezifiziert, die zu übertragen sind und beim Eingabe/Ausgabe-Prozeß zu handhaben sind.
  • In Fig. 30 bezeichnet die Bezugszahl 3000 einen MRU-Richtungszeiger für wahlfreien Zugriff, der auf die Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz zeigt, die als letztes gelesen wurde; 3001 bezeichnet einen LRU- Richtungszeiger für wahlfreien Zugriff, der auf diejenige Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz zeigt, die für das längste Zeitintervall nicht gelesen wurde; 3002 bezeichnet eine LRU-Schlange für wahlfreien Zugriff; 3003 bezeichnet Verwaltungsinformation für wahlfreie Verarbeitung, die ein Zeiger auf Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz ist, die zu lesen ist; und 3004 bezeichnet ein Schlitzverwendungs-Sperrbit, das gesetzt wird, wenn der Puffer 307 beim Leseprozeß nicht verwendet wird.
  • Da die Stücke von Verwaltungsinformation 800 für sequentielle Schlitze beim vorliegenden Ausführungsbeispiel nicht in der LRU-Reihenfolge verwaltet werden, werden die MRU- und LRU-Zeiger 1111 und 1112 lahmgelegt.
  • Da die Stücke von Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz in der Zugriffsreihenfolge verwaltet werden müssen, sind der MRU-Zeiger 3000 für wahlfreien Zugriff und der LRU-Zeiger 3001 für wahlfreien Zugriff vorhanden, um die Stücke an Verwaltungsinformation 8001 für einen wahlfrei liegenden Schlitz in der LRU-Schlange 3002 zu verwalten, wobei der Vorgang ähnlich demjenigen für die LRU- Schlange 1100 beim ersten Ausführungsbeispiel der Fig. 14A und 14B sowie der Fig. 15A und 15B ist.
  • Da beim obigen Ausführungsbeispiel die Anzahl von Stücken an Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz den Wert 1 (Einheitswert) hat, muß keine Verwaltungsinformation 3003 für zufällige Verarbeitung erstellt werden.
  • Beim vorliegenden Ausführungsbeispiel ist im ersten Prozessor 300 eine (nicht dargestellte) Uhr vorhanden, um den Zeitpunkt zu speichern, zu dem ein Prozeß für sequentielles Lesen empfangen wird. Demgemäß ist über die Uhr die aktuelle Zeit verfügbar, wenn eine spezielle Anweisung ausgeführt wird.
  • Nachfolgend werden die Verarbeitungsabläufe im vorliegenden Ausführungsbeispiel beschrieben. Das vorliegende Ausführungsbeispiel verfügt über die folgenden Merkmale, wenn ein Prozeß für nicht-sequentielles Lesen ausgeführt wird:
  • (1) der Datensatz in einer einzelnen Spur 400 wird in einem wahlfrei liegenden Schlitz 2700 in Fig. 27 eingespeichert.
  • Wenn nach der Sektoreinstellung kein Übertragungspfad zur Leiteinrichtung 25 von Fig. 5 sichergestellt werden kann, werden alle Datensätze 401 in der Spur 400 in den wahlfrei liegenden Schlitz 2700 geladen, und dann wird damit begonnen, sie an die Leiteinrichtung 25 zu übertragen; und
  • (2) wenn der Leseprozeß nicht nur durch Übertragung von Daten auf der Spur 400, auf die zuerst zugegriffen wurde, abgeschlossen wird, wird der Puffer 307 nicht länger verwendet und Daten werden direkt zwischen dem Lese/Schreib-Kopf 305 und der Leiteinrichtung 25 übertragen.
  • Die Fig. 31A, 31B, 31C und 31D sind Flußdiagramme, die die Funktionen des ersten Prozessors 300 angeben, wie sie ausgeführt werden, wenn er beim dritten Ausführungsbeispiel eine Eingabe/Ausgabe-Anforderung von der Leiteinrichtung 25 empfangen hat. Fig. 32 ist ein Flußdiagramm, das den Betrieb des ersten Prozessors 300 angibt, wenn er beim dritten Ausführungsbeispiel eine Anforderung für nicht-sequentielles Lesen empfängt. Fig. 33 ist ein Flußdiagramm, das einen Vorgang angibt, wie er ausgeführt wird, wenn ein Schlitz existiert, der beim dritten Ausführungsbeispiel einem sequentiellen Lesevorgang zugeordnet ist.
  • In Fig. 31A entspricht der Schritt 3111 dem Schritt 2500 von Fig. 25, und er dient zum Einstellen von Anfangsinformation. Beim vorliegenden Ausführungsbeispiel wird ein Schlitzverwendungs-Sperrbit 3004 abgeschaltet, abweichend vom Fall beim vorigen Ausführungsbeispiel
  • Die Verarbeitung von Fig. 32 wird aufgerufen, wenn das sequentielle Flag 1104 von Fig. 30 gelöscht ist oder wenn im Schritt 1702 beim vorliegenden Ausführungsbeispiel eine Anforderung für nicht-sequentielles Lesen empfangen wird (Schritt 3100).
  • Demgemäß wird, nachdem die Verarbeitung von Fig. 32 abgeschlossen ist, überprüft, ob im Puffer 307 die zu lesende Spur 400 vorhanden ist (Schritt 3101). Im Ergebnis erfolgt, wenn sie vorhanden ist, ein Sprung auf den Schritt 1715, um Daten im Puffer 307 zur Leiteinrichtung 25 zu senden. Falls nicht, beginnt die Verarbeitung mit dem Schritt 1704 und den folgenden Schritten.
  • Im Schritt 3102, der dem Schritt 1713 von Fig. 25 entspricht, behandeln die zweiten Übertragungsvorrichtungen 312 die wahlfrei liegenden Schlitze 2700, die beim Verarbeitungsablauf von Fig. 32 ausgewählt wurden, als übertragen. Auf ähnliche Weise behandelt auch die dritte Übertragungsvorrichtung 314 in einem Schritt 3103, der dem Schritt 1716 entspricht, die wahlfrei liegenden Schlitze 2700, die beim Verarbeitungsablauf von Fig. 32 ausgewählt wurden, als übertragen, da mehrere derartige wahlfrei liegende Schlitze 2700 existieren. Der Puffer 10 für wahlfreie Verarbeitung besteht in den Schritten 1713 und 1716 von Fig. 25 aus einem einzelnen Schlitz 12, so daß der zu übertragende Schlitz 12 eindeutig bestimmt ist.
  • Wenn eine Anforderung für einen Prozeß für sequentielles Lesen entgegengenommen wird, wird in einem Schritt 3104 überprüft, ob dem entgegengenommenen Leseprozeß ein Schlitz zugeordnet ist.
  • Im Ergebnis erfolgt, falls dies der Fall ist, ein Sprung auf einen Schritt 3106, um die Verarbeitung von Fig. 33 aufzurufen.
  • Falls keine Zuordnung besteht, wird der folgende Prozeß ausgeführt. Es wird nach Schlitzen 12 gesucht, die gemäß der aktuellen Zeit und den Zugriffszeitpunkten 2900 für eine vorgegebene Zeit nicht gelesen wurden, und zwar in allen Stücken von Verwaltungsinformation 800 für sequentielle Schlitze (Schritt 3105). Wenn mindestens ein Schlitz 12 existiert, der für die vorgegebene Zeit nicht gelesen wurde, wird die Verarbeitung von Fig. 33 aufgerufen (Schritt 3106). Falls nicht, wird das Schlitzbenutzungs-Sperrbit 3004 gesetzt (Schritt 3107). Danach erfolgt ein Sprung auf den Schritt 1704.
  • Wenn keine Leiteinrichtung 25 sichergestellt ist, nachdem die Sektoreinstellung abgeschlossen ist, und wenn die Bedingungen gelten, daß das Leseflag 1103 gelöscht ist oder das Schlitzbenutzungs-Sperrbit 3009 gesetzt ist, erfolgt beim vorliegenden Ausführungsbeispiel ein Sprung auf den Schritt 1708, da der Fall vorliegt, daß der Puffer 307 sogar beim Leseprozeß nicht verwendet werden kann (Schritt 3108). In Fig. 25 erfolgt ein Sprung auf den Schritt 1708, in dem eine vollständige Umdrehung der Platte 304 abgewartet wird, nur dann, wenn das Leseflag 1103 im Schritt 1712 gelöscht ist.
  • Es wird nun die Verarbeitung beschrieben, wie sie ausgeführt wird, wenn ein Vorgang mit nicht-sequentiellem Lesen mehrere Spuren 400 überdeckt. Dies ist die Verarbeitung, wie sie ausgeführt wird, wenn die Leiteinrichtung 25 im Schritt 2501 von Fig. 25 die Übertragung des nächsten Datensatzes 401 anfordert.
  • Beim vorliegenden Ausführungsbeispiel wird überprüft, ob der Datensatz 401 benachbart zum Datensatz, dessen Übertragung im Schritt 3109 abgeschlossen wurde, auf derselben Spur 400 vorhanden ist.
  • Im Ergebnis erfolgt, falls dies der Fall ist, ein Sprung auf den Schritt 1715, um die nächste Übertragung zu starten.
  • Falls nicht, wird in einem Schritt 3110 die folgende Verarbeitung ausgeführt. Die Zylindernummer und die Nummer des Lese/Schreib-Kopfs für eine Spur 400 benachbart zur Spur 400, die gelesen wurde, werden in die Zylindernummer 1105 und die Kopfnummer 1106 eingetragen. Dann wird in die Sektornummer 1107 der Wert Null eingegeben. Schließlich wird das Schlitzbenutzungs-Sperrbit 3004 gesetzt. Nach der obigen Verarbeitung erfolgt ein Sprung auf den Schritt 1705.
  • Schließlich wird die Verarbeitung beschrieben, wie sie nach der Verarbeitung im Schritt 1711 ausgeführt wird. Im Schritt 1711 werden Daten direkt zwischen dem Lese/Schreib-Kopf 305 und der Leiteinrichtung 25 übertragen. Daher kann die Datenübertragung abgeschlossen werden, ohne den zugeordneten wahlfrei liegenden Schlitz 2700 zu benutzen. Daher entsteht das Erfordernis, den Inhalt der Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz für den zugeordneten wahlfrei liegenden Schlitz 2700 neu einzutragen.
  • Beim vorliegenden Ausführungsbeispiel wird überprüft, ob das Leseflag 1103 gelöscht ist oder ob das sequentielle Flag 1104 gelöscht ist (Schritt 3112). Wenn diese Bedingung erfüllt ist, wird der Inhalt der Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz, auf den die wahlfrei verarbeitete Verwaltungsinformation 3003 zeigt, zurückgesetzt (Schritt 3113). Daher werden die folgenden Vorgänge für den Segmentzylinder/die Spuren 902 in der Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz, auf die die wahlfrei verarbeitete Verwaltungsinformation 3003 zeigt, ausgeführt. Es werden die Nummern der Zylinder 500, die nicht auf der Platte 304 vorhanden sind, in die Segmentzylinder/Spuren 902 eingetragen. Demgemäß wird angenommen, daß im wahlfrei liegenden Schlitz 2700, der der Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz entspricht, keine Daten vorhanden sind. Die Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz, auf die der wahlfreie MRU-Zeiger 3000 zeigt, wird durch den wahlfreien LRU-Zeiger 3001 auf den Positionszeiger verschoben. Dieser Vorgang entspricht der Wiederherstellung des Zustands von Fig. 15B in denjenigen von Fig. 15A.
  • Unter Bezugnahme auf Fig. 32 werden Einzelheiten zum Schritt 3100 von Fig. 31A beschrieben. Diese Verarbeitung wird vom ersten Prozessor 300 von Fig. 5 ausgeführt, wenn er eine Anforderung für einen nicht-sequentiellen Leseprozeß empfängt.
  • Wie es in Fig. 32 dargestellt ist, wird überprüft, ob Daten in der zu lesenden Spur 400 in den wahlfrei liegenden Schlitz 2700 von Fig. 27 eingespeichert sind (Schritt 3200).
  • Im Ergebnis wird, falls dies der Fall ist, die entsprechende Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz an die Position verschoben, auf die der wahlfreie MRU-Zeiger 3000 von Fig. 30 zeigt (Schritt 3201) und es erfolgt ein Übergang auf einen Schritt 3204. Dieser Vorgang ist ähnlich dem, der in den Fig. 14A und 14B dargestellt ist.
  • Wenn sich im wahlfrei liegenden Schlitz 2700 keine zu lesende Spur befindet, wird die Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz, auf die der wahlfreie LRU- Zeiger 3001 zeigt, auf den Zeiger verschoben, wie er vom wahlfreien MRU-Zeiger 3000 angegeben wird (Schritt 3202). Dieser Vorgang ist ähnlich dem, der in den Fig. 15A und 15B dargestellt ist.
  • Die Werte der Zylindernummer 1105 und der Kopfnummer 1106 werden anfangs in den Segmentzylinder/die Spuren 902 der Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz eingetragen, nach der Verschiebung auf die Position, auf die der wahlfreie MRU-Zeiger 3000 zeigt (Schritt 3203).
  • Dann wird dafür gesorgt, daß die wahlfrei verarbeitete Verwaltungsinformation 3003 auf diejenige Verwaltungsinformation 801 für einen wahlfrei liegenden Schlitz zeigt, auf die der wahlfreie MRU-Zeiger 3000 zeigt (Schritt 3204).
  • Die Einzelheiten des Schritts 3106 von Fig. 31B werden unter Bezugnahme auf Fig. 33 beschrieben. Diese Verarbeitung wird ausgeführt, wenn ein Schlitz existiert, der einem Prozeß für sequentielles Lesen zugeordnet ist.
  • Zunächst wird überprüft, ob dem entgegengenommenen Prozeß für sequentielles Lesen bereits ein Schlitz zugeordnet ist (Schritt 3300).
  • Im Ergebnis wird, wenn dies der Fall ist, die Verwaltungsinformation 800 für sequentielle Schlitze, die diesem Schlitz entspricht, gelesen und in die einzustellende Leseverwaltungsinformation 1113 eingetragen (Schritt 3301).
  • Falls keine Zuordnung besteht, wird ein Schritt 3302 ausgeführt. Es wird nach dem Stück Verwaltungsinformation 800 für sequentielle Schlitze gesucht, auf das für die längste Zeit nicht zugegriffen wurde, mit einer Überschreitung der Zugriffszeit 3004. Danach wird jenes Stück Verwaltungsinformation 800 für sequentielle Schlitze in die Leseverwaltungsinformation 1113 eingetragen.
  • Jene Verwaltungsinformation 800 für sequentielle Schlitze wird initialisiert (Schritt 3303). Der Initialisierungsprozeß ist derselbe wie der Prozeß im Schritt.
  • Schließlich wird die Verarbeitung der Fig. 26A und 26B aufgerufen (Schritt 3304).
  • Wie oben beschrieben, werden beim dritten Ausführungsbeispiel mehrere wahlfrei liegende Schlitze 700 einer Anforderung für wahlfreie Übertragung zugeordnet. Demgemäß können, wenn sich die gemäß der Anforderung für wahlfreie Übertragung zu lesenden Daten bereits im Puffer 307 befinden, diese Daten ohne Ausführung eines Lokalisierprozesses gelesen werden. Für eine Anforderung mit sequentieller Übertragung wird die Zeit verwaltet, zu der das letzte Mal auf die Schlitze 13 zugegriffen wurde. Wenn kein Schlitz 13 existiert, auf den für länger als eine konstante Zeit zugegriffen wurde, bevor eine Anforderung für sequentielle Übertragung, der kein Schlitz 13 zugeordnet ist, entgegengenommen wird, wird kein Schlitz 13 zugeordnet. Demgemäß wird, wenn die Anzahl von Schlitzen 13 klein ist, verhindert, daß die zuvor gelesenen Daten aus den in die Schlitze 13 geladenen Daten verschwinden.
  • Gemäß der Erfindung wird in einem Computersystem mit Puffern in den Platteneinheiten dadurch hohe Geschwindigkeit beim Lesen erzielt, daß eine wirkungsvolle Pufferzuordnung zwischen Prozessen für sequentielles Lesen und Prozessen für wahlfreies (nicht-sequentielles) Lesen realisiert wird.
  • Fig. 1
  • 20 CPU
  • 22 Kanal
  • 25 Leiteinrichtung
  • 24 Puffer für nicht-sequentielle Verarbeitung
  • Disk Unit Platteneinheit
  • 11 Puffer für sequentielle Verarbeitung
  • Fig. 3
  • In order of cylinder 500 number
  • in der Reihenfolge der Nummern der Zylinder 500
  • outward außen
  • inside innen
  • up oben
  • In order of track 400 (plate 304) number
  • in der Reihenfolge der Nummern der Spuren 400 (Platte 304)
  • down unten
  • Fig. 4
  • rotates Drehrichtung
  • in order of sector number Reihenfolge der Sektornummern
  • Fig. 5
  • rotates Drehrichtung
  • 300 erster Prozessor
  • 301 zweiter Prozessor
  • 302 Prozessorschnittstelle
  • 303 Leiteinrichtungsschnittstelle
  • 305 Kopf
  • 306 Lese/Schreib-Kopf
  • 307 Puffer
  • 308 Pufferverwaltungsinformation
  • 309 erste Übertragungsvorrichtung
  • 310 erste Übertragungsschnittstelle
  • 311 erster Schalter
  • 312 zweite Übertragungsvorrichtung
  • 313 zweite Übertragungsschnittstelle
  • 314 zweiter Schalter
  • 315 dritte Übertragungsvorrichtung
  • 316 dritte Übertragungsschnittstelle
  • 317 dritter Schalter
  • Fig. 6
  • Slot Schlitz
  • Fig. 7
  • Segment Segment
  • Fig. 8A, 8B
  • 312 zweite Übertragungsvorrichtung
  • 1st segment erstes Segment
  • 2nd segment zweites Segment
  • 3rd segment drittes Segment
  • 4th segment viertes Segment
  • last record letzter Datensatz
  • Fig. 9
  • relative address from Relativadresse ausgehend vom
  • reference sector Bezugssektor
  • position 1500 where reference sector is stored
  • Position, an der der Bezugssektor abgespeichert ist
  • position where record 601 starts to be stored
  • Position, an der die Abspeicherung des Datensatzes 601 beginnt
  • 13 Segment
  • Fig. 10
  • 800 Verwaltungsinformation für sequentielle Schlitze
  • 801 Verwaltungsinformation für einen wahlfrei liegenden Schlitz
  • 802 Gesamtinformation
  • Fig. 11
  • 900 LRU-Richtungszeiger
  • 901 MRU-Richtungszeiger
  • 902 Segmentzylinder/Spur
  • 903 Leerflag für eine erste Segmentgruppe
  • 904 Leerflag für eine zweite Segmentgruppe
  • 905 Ladeflag für eine erste Segmentgruppe
  • 906 Schlitzzeiger
  • 907 Anfangsladeflag
  • Fig. 12
  • 900 LRU-Richtungszeiger
  • 901 MRU-Richtungszeiger
  • 902 Segmentzylinder/Spur
  • 903 Leerflag
  • 904 Leerflag
  • 905 Ladeflag
  • 906 Schlitzzeiger
  • 907 Ladeflag
  • Fig. 13
  • 800 Verwaltungsinformation für sequentielle Schlitze
  • 1101 MRU-Schlitzzeiger
  • 1102 LRU-Schlitz zeiger
  • 1103 Leseflag
  • 1104 sequentielles Flag
  • 1105 Zylindernummer
  • 1106 Kopfnummer
  • 1107 Sektornummer
  • 1108 Anzahl zu übertragender Datensätze
  • 1109 Anzahl von Datensätzen, für die die Übertragung abgeschlossen ist
  • 1110 Anfangsübertragungsflag
  • 1111 Übertragungsabschluß-Segmentnummer
  • 1112 Übertragungsabschluß-Segmentadresse
  • 1113 zu lesende Verwaltungsinformation
  • Fig. 14A, 14B
  • 800 Verwaltungsinformation für sequentielle Schlitze
  • 1101 MRU-Schlitzzeiger
  • 1102 LRU-Schlitzzeiger
  • 1200 Verwaltungsinformation für den ersten sequentiellen Schlitz
  • Fig. 15A, 15B
  • 800 Verwaltungsinformation für sequentielle Schlitze
  • 1101 MRU-Schlitzzeiger
  • 1102 LRU-Schlitzzeiger
  • 1300 Verwaltungsinformation für den zweiten sequentiellen Schlitz
  • Fig. 16
  • 1400 Anforderungsflag
  • 1401 Ladezylinder
  • 1402 Ladespur
  • 1403 Ladesegment
  • Fig. 17
  • Start Start
  • 1700 Leseflag, sequentielles Flag, Zylindernummer, Kopfnummer, Sektornummer, Anzahl der zu übertragenden Datensätze und Anfangsübertragungsflag eintragen
  • 1701 Leseflag gelöscht?
  • 1702 sequentielles Flag gelöscht?
  • 1703 Anzahl der zu übertragenden Datensätze = 1?
  • 1704 warten, bis das Anforderungsflag gelöscht ist
  • 1705 Suche angefordert?
  • 1706 Suchvorgang anweisen
  • 1707 Abschluß des Suchvorgangs abwarten
  • 1708 Ankunft des spezifizierten Sektors abwarten
  • 1709 Leiteinrichtung über Ankunft des spezifizierten Sektors informieren
  • 1710 Übertragungsanforderung von der Leiteinrichtung innerhalb vorgegegebener Zeit?
  • 1711 Daten direkt zwischen dem Lese/ Schreib-Kopf und der Leiteinrichtung unter Verwendung der ersten Übertragungsvorrichtung übertragen. Datensätze im Puffer aktualisieren, wenn die Datensätze zu schreiben sind
  • 1712 Leseflag gelöscht?
  • 1713 zweite Übertragungsvorrichtung zur Übertragung auffordern
  • 1714 Abschluß der Übertragung durch die zweite Übertragungsvorrichtung abwarten
  • 1715 Abwarten, bis Übertragung an die Leiteinrichtung freigegeben ist
  • 1716 veranlassen, daß die dritte Übertragungsvorrichtung Datensätze im Puffer an die Leiteinrichtung sendet
  • 1717 Verarbeitung von Fig. 18 aufrufen
  • 1718 Verarbeitung von Fig. 19 aufrufen
  • End Ende
  • N Nein
  • Fig. 18
  • Start Start
  • 1800 verfügt die empfangene sequentielle Anforderung über einen zugeordneten Schlitz?
  • 1801 Zuordnen eines Schlitzes und von Verwaltungsinformation für sequentielle Schlitze
  • 1802 Verschieben der Verwaltungsinformation für sequentielle Schlitze an die MRU-Position
  • 1803 Initialisieren der Verwaltungsinformation für sequentielle Schlitze
  • 1804 Verschieben der Verwaltungsinformation für sequentielle Schlitze an die MRU-Position
  • 1805 Einstellen des Zeigers auf die Verwaltungsinformation für sequentielle Schlitze in der Leseverwaltungs information
  • 1806 Verarbeitung von Fig. 20A aufrufen
  • End Ende
  • N Nein
  • Fig. 19
  • Start Start
  • 1900 Verwaltungsinformation für einen wahlfrei liegenden Schlitz eintragen
  • 1901 Adresse für Verwaltungsinformation für einen wahlfrei liegenden Schlitz in die Leseverwaltungsinformation eintragen
  • 1902 Verarbeitungsablauf von Fig. 20A aufrufen
  • End Ende
  • Fig. 20A
  • 2000 erstes und zweites Segmentleerflag gelöscht?
  • 2001 Anforderungsflag gesetzt?
  • 2002 Anzahl zu übertragender Datensätze = Anzahl von Datensätzen, für die die Übertragung abgeschlossen ist?
  • 2003 warten, bis das Anforderungsflag gelöscht ist
  • 2004 Verarbeitung von Fig. 21 aufrufen
  • 2005 erstes Segmentgruppe-Ladeflag gesetzt?
  • 2006 in die Ladesegmente Adressen derjenigen Segmente eintragen, die zur ersten Segmentgruppe gehören
  • 2016 Anfangsladeflag gesetzt?
  • 2017 Zylindernummer und Kopfnummer in Ladezylinder und Ladespur eintragen
  • 2018 Löschen des Anfangsladeflags
  • 2019 in Ladezylinder und Ladespur die Nummer der Spur benachbart zur Spur eintragen, die dem letzten Segment der zweiten Segmentgruppe entspricht Segment 74
  • 2020 Werte in Segmentzylinder/Spurspalten eintragen und Segmentgruppe-Ladeflag setzen
  • Y Ja
  • N Nein
  • Fig. 20B
  • 2007 alle Adressen der Segmente, die zur zweiten Segmentgruppe gehören, in Ladesegmente eintragen, in den Ladezylinder und die Ladespur die Nummer der Spur benachbart zu derjenigen Spur eintragen, die dem letzten Segment der ersten Segmentgruppe ent spricht; in die Segmentzylinder/ Spuren die Werte der zweiten Segmentgruppe eintragen; Löschen des ersten Segmentgruppe-Ladeflags
  • 2008 Setzen des Anforderungsflags
  • 2009 Anzahl zu übertragender Datensätze = Anzahl von Datensätzen, für die die Übertragung abgeschlossen ist
  • 2010 erstes und zweites Segmentgruppe-Leerflag gelöscht?
  • 2011 warten, bis das Anforderungsflag gelöscht ist
  • 2012 Verarbeitung von Fig. 21 aufru fen
  • 2013 erstes und zweites Segmentgruppe-Leerflag = gelöscht?
  • 2014 Verarbeitung von Fig. 22 aufrufen
  • 2015 sequentielles Flag = gelöscht & Anzahl zu übertragender Datensätze = Anzahl von Datensätzen, für die die Übertragung abgeschlossen ist?
  • End Ende
  • Y Ja
  • N Nein
  • Fig. 21
  • Start Start
  • 2100 erstes Segmentgruppe-Ladeflag = gesetzt?
  • 2101 Löschen des ersten Segmentleerflags
  • 2102 Löschen des zweiten Segmentleerflags
  • End Ende
  • Y Ja
  • N Nein
  • Fig. 22
  • Start Start
  • 2200 Schritte ausführen, die dazu erforderlich sind, die Übertragung von Daten an die Leiteinrichtung zu beginnen
  • 2201 Anfangsübertragungsflag = gesetzt?
  • 2202 zu übertragende Datensätze mittels der Zylindernummer, Kopfnummer und Sektornummer heraussuchen
  • 2203 Anfangsübertragungsflag löschen
  • 2204 zu übertragenden Datensatz aus den Übertragungsabschluß-Segmentnummern und den Übertragungsabschluß-Segmentadressen heraussuchen
  • 2205 Übertragungsbefehl an die dritte Übertragungsvorrichtung ausgeben
  • 2206 Abschluß der Übertragung abwarten
  • 2207 Anzahl der Datensätze, für die die Übertragung abgeschlossen ist, um EINS inkrementieren; Aktualisieren der Übertragungsabschluß-Segmentnummern und -adressen
  • 2208 Übertragung des letzten Datensatzes der ersten Segmentgruppe abgeschlossen?
  • 2209 erstes Segmentgruppe-Leerflag setzen
  • 2210 Übertragung des Datensatzes des letzten Segments der zweiten Segmentgruppe abgeschlossen?
  • 2211 zweites Segmentgruppe-Leerflag setzen
  • End Ende
  • Y Ja
  • N Nein
  • Fig. 23
  • Start Start
  • 2300 Anforderungsflag = gesetzt?
  • 2301 Suchvorgang überflüssig?
  • 2302 Suchvorgang anweisen
  • 2303 Abschluß des Suchvorgangs abwarten
  • 2304 Anweisung an die zweite Übertragungsvorrichtung zu übertragen
  • 2305 Abschluß der Übertragung abwarten
  • 2306 Anforderungsflag löschen
  • Y Ja
  • N Nein
  • Fig. 24
  • 1101 MRU-Schlitzzeiger
  • 1102 LRU-Schlitzzeiger
  • 1103 Leseflag
  • 1104 sequentielles Flag
  • 1105 Zylindernummer
  • 1106 Kopfnummer
  • 1107 Sektornummer
  • 1600 Übertragungsabschluß-Erkennungsflag
  • 1110 Anfangsübertragungsflag
  • 1111 Übertragungsabschluß-Segmentnummer
  • 1112 Übertragungsabschluß-Segmentadresse
  • 1113 Leseverwaltungsinformation
  • Fig. 25
  • Start Start
  • 2500 Leseflag, sequentielles Flag, Zylindernummer, Kopfnummer, Sektornummer und Anfangsübertragungsflag setzen; Übertragungsabschluß-Erkennungsflag löschen
  • 1701 Leseflag gelöscht?
  • 1702 sequentielles Flag gelöscht?
  • 1704 abwarten, bis das Anforderungsflag gesetzt ist
  • 1705 Suche angefordert?
  • 1706 Suchvorgang anweisen
  • 1707 Abschluß des Suchvorgangs abwarten
  • 1708 Ankunft des spezifizierten Sektors abwarten
  • 1709 Leiteinrichtung über die Ankunft des spezifizierten Sektors informieren
  • 1710 Übertragungsanforderung von der Leiteinrichtung innerhalb einer vorgegebenen Zeit?
  • 1711 direkte Datenübertragung zwischen dem Lese/Schreibkopf und der Leiteinrichtung unter Verwendung der ersten Übertragungsvorrichtung. Aktualisieren der Datensätze im Puffer, wenn die Datensätze zu schreiben sind
  • 1712 Leseflag gelöscht?
  • 1713 zweite Übertragungsvorrichtung zur Übertragung auffordern
  • 1714 Abschluß der Übertragung durch die zweite Übertragungsvorrichtung abwarten
  • 1715 warten, bis die Übertragung an die Leiteinrichtung freigegeben ist
  • 1716 Veranlassen, daß die zweite Übertragungsvorrichtung Datensätze im Puffer an die Leiteinrichtung überträgt
  • 1719 Verarbeitung von Fig. 18 aufrufen
  • 2501 nächste Übertragungsanforderung von der Leiteinrichtung innerhalb einer vorgegebenen Zeit?
  • 2502 Löschen des Anfangsübertragungsflags, Aktualisieren der Übertragungsabschluß-Segmentnummer und Eintragen der Übertragungsabschluß-Segmentadresse
  • 2503 Aufrufen der Verarbeitung von Fig. 19
  • End Ende
  • Y Ja
  • N Nein
  • Fig. 26A
  • Start Start
  • 2000 erstes und zweites Segmentleerflag gelöscht?
  • 2201 Anforderungsflag gesetzt?
  • 2202 Übertragungsabschlußflag gesetzt?
  • 2203 warten, bis das Anforderungsflag gelöscht ist
  • 2204 Verarbeitung von Fig. 21 aufrufen
  • 2205 erstes Segmentgruppe-Ladeflag gesetzt?
  • 2006 in Ladesegmente die Adressen der Segmente eintragen, die zur ersten Segmentgruppe gehören
  • 2007 Eintragen aller Adressen von Segmenten, die zur zweiten Segmentgruppe gehören, in Ladesegmente; Eintragen der Nummer der Spur benachbart zur Spur, die dem letzten Segment der ersten Segmentgruppe entspricht, in den Ladezylinder und die Ladespur; Eintragen der Werte der zweiten Segmentgruppe in die Segmentzylinder/Spuren; Löschen des ersten Segmentgruppe-Ladeflags
  • 2016 Anfangsladeflag gesetzt?
  • 2017 Zylindernummer & Kopf setzen; Zylindernummer & Spur laden
  • 2018 Löschen des Anfangsladeflags
  • 2019 Eintragen der Nummer der Spur benachbart zur Spur, die dem letzten Segment des zweiten Segmentgruppe-Segments 74 entspricht, in den Ladezylinder und die Ladespur
  • 2020 Eintragen der Werte in Segmentzylinder/Spurspalten und Setzen des Segmentgruppe-Ladeflags
  • Y Ja
  • N Nein
  • Fig. 26B
  • 2008 Setzen des Anforderungsflags
  • 2010 erstes und zweites Segmentgruppe-Leerflag = gelöscht?
  • 2011 warten, bis das Anforderungsflag gelöscht ist
  • 2012 Verarbeitung von Fig. 21 aufrufen
  • 2013 erstes und zweites Segmentgruppe-Leerflag = gelöscht?
  • 2014 Verarbeitung von Fig. 22 aufrufen
  • 2601 Übertragungsabschlußflag gesetzt?
  • 2602 nächste Übertragungsanforderung von der Leiteinrichtung innerhalb vorgegebener Zeit?
  • 2603 Setzen des Übertragungsabschluß-Erkennungsflags
  • 2604 sequentielles Flag = gelöscht und Übertragungsabschluß-Erkennungsflag = gesetzt?
  • End Ende
  • Y Ja
  • N Nein
  • Fig. 27
  • 2700 wahlfrei liegender Schlitz
  • Fig. 28
  • 900 LRU-Richtungszeiger
  • 901 MRU-Richtungszeiger
  • 902 Segmentzylinder/Spur
  • 906 Schlitzzeiger
  • 907 Ladeflag
  • Fig. 29
  • 900 LRU-Richtungszeiger
  • 901 MRU-Richtungszeiger
  • 902 Segmentzylinder/Spur
  • 903 Leerflag für eine erste Segmentgruppe
  • 904 Leerflag für eine zweite Segmentgruppe
  • 905 Ladeflag für eine erste Segmentgruppe
  • 906 Schlitzzeiger
  • 907 Ladeflag
  • 2900 Zugriffszeit
  • Fig. 30
  • 801 Verwaltungsinformation für einen wahlfrei liegenden Schlitz
  • 1101 LRU-Schlitzzeiger
  • 1102 MRU-Schlitzzeiger
  • 1103 Leseflag
  • 1104 sequentielles Flag
  • 1105 Zylindernummer
  • 1106 Kopfnummer
  • 1107 Sektornummer
  • 1110 Anfangsübertragungsflag
  • 1111 Übertragungsabschluß-Segmentnummer
  • 1112 Übertragungsabschluß-Segmentadresse
  • 1113 Leseverwaltungsinformation 1600 Übertragungsabschluß-Erkennungsflag
  • 3000 wahlfreier MRU-Richtungszeiger
  • 3001 wahlfreier LRU-Richtungszeiger
  • 3003 wahlfrei verarbeitete Verwaltungsinformation
  • 3004 Schlitzbenutzungs-Sperrbit
  • Fig. 31A
  • Start Start
  • 1701 Leseflag gelöscht?
  • 1702 sequentielles Flag gelöscht?
  • 1704 warten, bis das Anforderungsflag gesetzt ist
  • 1705 Suche angefordert?
  • 1706 Suchvorgang anweisen
  • 1707 Abschluß des Suchvorgangs abwarten
  • 1708 Ankunft des spezifizierten Sektors abwarten
  • 1709 Leiteinrichtung über die Ankunft des spezifizierten Sektors informieren
  • 1710 Übertragungsanforderung von der Leiteinrichtung innerhalb einer vorgegebenen Zeit?
  • 1714 Abschluß der Übertragung durch die zweite Übertragungsvorrichtung abwarten
  • 3100 Verarbeitungsablauf von Fig. 32 aufrufen
  • 3101 zu lesende Spur = im Puffer?
  • 3102 zweite Übertragungsvorrichtung zur übertragung auffordern
  • 3108 Leseflag = gelöscht oder Schlitzbenutzungs-Bit = gesetzt?
  • 3111 Leseflag, sequentielles Flag, Zylindernummer, Kopfnummer, Sektornummer und Anfangsübertragungsflag eintragen; Übertragungsabschluß-Erkennungsflag löschen; Schlitzbenutzungs-Sperrflag löschen
  • Y Ja
  • N Nein
  • Fig. 31B
  • 3104 Schlitz ist der Leseanforderung zugeordnet?
  • 3105 Schlitze wurden für eine vorgegebene Zeit nicht gelesen?
  • 3106 Verarbeitungsablauf von Fig. 33 aufrufen
  • 3107 Setzen des Schlitzverwendungs- Sperrbits
  • End Ende
  • Fig. 31C
  • 1711 Daten direkt zwischen dem Lese/ Schreib-Kopf und der Leiteinrichtung unter Verwendung der ersten Übertragungsvorrichtung übertragen. Aktualisieren von Datensätzen im Puffer, wenn die Datensätze zu schreiben sind
  • 3112 Leseflag = gelscht oder sequentielles Flag gelöscht
  • 3113 Rücksetzen der zugeordneten Verwaltungsinformation für einen wahlfrei liegenden Schlitz
  • End Ende
  • Y Ja
  • N Nein
  • Fig. 31D
  • 1715 Abwarten des Starts der Übertragung von/zu der Leiteinrichtung
  • 2401 nächste Übertragungsanforderung von der Leiteinrichtung innerhalb vorgegebener Zeit?
  • 3103 veranlassen, daß der Puffer einen Datensatz vom Puffer an die dritte Übertragungsvorrichtung liefert
  • 3109 nächster Datensatz in derselben Spur vorhanden?
  • 3110 nächste Spur in der Zylindernummer und Kopfnummer eintragen; Eintragen von 0 in die Sektornummer und Setzen des Schlitzbenutzungs-Sperrbits
  • End Ende
  • Fig. 32
  • Start Start
  • 3200 Lesespur im wahlfrei liegenden Schlitz vorhanden?
  • 3201 Verschieben der entsprechenden Verwaltungsinformation für einen wahlfrei liegenden Schlitz an die Position, auf die der wahlfreie MRU-Zeiger zeigt
  • 3202 Verwaltungsinformation für einen wahlfrei liegenden Schlitz, auf die der wahlfreie LRU-Zeiger zeigt, an die Position, auf die der zufällige MRU-Zeiger zeigt
  • 3203 Initialisieren der Verwaltungsinformation für einen wahlfrei liegenden Schlitz, die an die Position verschoben wurde, auf die der wahlfreie MRU-Zeiger zeigt
  • 3204 veranlassen, daß die wahlfrei verarbeitete Information auf die Verwaltungsinformation für einen wahlfrei liegenden Schlitz zeigt, auf die der wahlfreie MRU-Zeiger zeigt
  • End Ende
  • Y Ja
  • N Nein
  • Fig. 33
  • Start Start
  • 3300 Schlitz ist dem empfangenen Leseprozeß zugeordnet?
  • 3301 veranlassen, daß die Leseverwaltungsinformation auf die Verwaltungsinformation für sequentielle Schlitze im entsprechenden Schlitz zeigt
  • 3302 veranlassen, daß die Leseverwaltungsinformation auf die Verwaltungsinformation für sequentielle Schlitze in Schlitzen zeigt, auf die am längsten nicht zugegriffen wurde
  • 3303 Initialisieren der Verwaltungsinformation für sequentielle Schlitze
  • 3304 Verarbeitungsablauf von Fig. 26A aufrufen
  • End Ende
  • Y Ja
  • N Nein

Claims (26)

1. Eingabe/Ausgabe-System mit einer an ein oder mehrere Platteneinheiten (24) angeschlossenen Steuerung (23), die über einen Kanal (22) mit einem Prozessor (20) verbunden ist, wobei die besagten ein oder mehreren Platteneinheiten (24) jeweils einen Puffer (307) mit einem Bereich (11) zur sequentiellen Übertragung und einem Bereich (10) für nicht-sequentielle Übertragung enthalten, und wobei die Steuerung (23) Daten zwischen den besagten ein oder mehreren Platteneinhei- ten (24) und dern Prozessor unter Verwendung eines der Bereiche (10, 11) überträgt, der danach ausgewählt wird, ob eine von dem Prozessor gegebene Daten-Eingabe/Ausgabe-Anforderung eine solche für sequentielle Übertragung ist oder nicht.
2. Eingabe/Ausgabe-System nach Anspruch 1, wobei der Bereich für sequentielle Übertragung des Puffers mehrere Pufferbereichseinheiten (12) enthält, die jeweils in der Reihenfolge der Zeitpunkte, zu denen die letzte Übertragung ausgeführt ist, angeordnet und verwaltet sind.
3. Eingabe/Ausgabe-System nach Anspruch 1, wobei dann, wenn die besagten ein oder mehreren Platteneinheiten von der Steuerung eine Anforderung für sequentielle Übertragung empfangen, der die Pufferbereichseinheit für sequentielle Übertragung nicht zugeordnet ist, die besagten ein oder mehreren Platteneinheiten (24) der Anforderung für sequentielle Übertragung diejenigen Pufferbereichseinheiten für seguentielle Übertragung zuordnen, die am längsten nicht als übertragen behandelt worden sind.
4. Eingabe/Ausgabe-System nach Anspruch 1, wobei der Bereich (11) für sequentielle Übertragung mehrere Pufferbereichseinheiten (12) enthält, wobei die Platteneinheiten eine Einrichtung (2900) zur Speicherung der Anzahl von Malen aufweist, die die Vielzahl von Pufferbereichseinheiten (12) als übertragen gehandhabt worden ist, und wobei dann, wenn die besagten ein oder mehreren Platteneinheiten eine Anforderung für sequentielle Übertragung empfangen, der die Pufferbereichseinheit für sequentielle Übertragung nicht zugeordnet worden ist, Daten zwischen den besagten ein oder mehreren Platteneinheiten und der Steuerung (23) direkt übertragen werden, sofern nicht mehr als eine vorgegebene Zeitspanne seit der Zeit vergangen ist, daß die Vielzahl von Pufferbereichseinheiten (12) des Bereichs (11) für sequentielle Übertragung zuletzt übertragen worden ist.
5. Eingabe/Ausgabe-System nach Anspruch 1, wobei dann, wenn in den der Anforderung für sequentielle Übertragung zugeordneten Pufferbereichseinheiten (12) keine auf eine Anforderung für sequentielle Übertragung zu übertragenden Datensätze geladen sind und von der Steuerung die Anforderung für sequentielle Übertragung empfangen wird, sämtliche Daten auf einer Spur einschließlich zu übertragenden Datensätzen während einer vollständigen Umdrehung der Platteneinheit in die Vielzahl von Pufferbereichseinheiten (12) des Bereichs für sequentielle Übertragung geladen und die zu übertragenden Datensätze an die Steuerung (23) gesendet werden.
6. Eingabe/Ausgabe-System nach Anspruch 1, wobei dann, wenn ein auf Anforderung für sequentielle Übertragung zu übertragender Datensatz in die der Anforderung für sequentielle Übertragung zugeordneten Pufferbereichseinheiten (12) geladen ist und die Platteneinheit (24) von der Steuerung die Anforderung für sequentielle übertragung empfängt, die Platteneinheit den in dem Pufferbereich befindlichen Datensatz an die Steuerung (23) sendet.
7. Eingabe/Ausgabe-System nach Anspruch 1, wobei dann, wenn der Vorgang für die angenommene Anforderung auf sequentielle Übertragung beendet ist und die der Anforderung für sequentielle Übertragung zur sequentiellen Verarbeitung zugeordneten Pufferbereichseinheiten einen leeren Bereich enthalten, die Platteneinheit ein oder mehrere zu übertragende Datensätze in diesen leeren Bereich lädt.
8. Datenübertragungsverfahren für eine gepufferte Platteneinheit (24) in einem Computersystem, bei dem eine Steuerung (23) eine Eingabe/Ausgabe-Anforderung von einem Prozessor (20) über einen Puffer (307) an die Platteneinheit (24) sendet und die Datenübertragung zwischen dern Prozessor (20) und der Platteneinheit (24) über den Puffer (307) und einen Kanal (22) erfolgt, mit folgenden Schritten:
wenn die Steuerung (23) die Platteneinheit (24) über eine Daten-Eingabe/Ausgabe-Anforderung von dern Prozessor benachrichtigt, wird sie veranlaßt, der Platteneinheit (24) mitzuteilen, ob es sich dabei um eine Anforderung für sequentielle Datenübertragung handelt oder nicht; und je nach der Information erfolgt die Datenübertragung zwischen der Platteneinheit (24) und dern Prozessor (20) unter Verwendung eines in dem Puffer (307) vorhandenen Bereichs (11) für sequentielle Übertragung oder eines ebenfalls in dem Puffer vorhandenen Bereichs (10) für nicht-sequentielle Übertragung.
9. Datenübertragungsverfahren nach Anspruch 8, wobei der in dem Puffer vorhandene Bereich (11) für sequentielle Übertragung mehrere Pufferbereichseinheiten (12) umfaßt, die in zeitlicher Reihenfolge der neuen Übertragung verwaltet werden.
10. Datenübertragungsverfahren nach Anspruch 8, wobei dann, wenn die Platteneinheit von der Steuerung eine Anforderung für sequentielle Übertragung empfängt, der die Pufferbereichseinheit nicht zugeordnet worden ist, die Platteneinheit der Anforderung für sequentielle Übertragung denjenigen Pufferbereich zuordnet, der am längsten nicht übertragen worden ist.
11. Datenübertragungsverfahren nach Anspruch 8, wobei dann, wenn die Platteneinheit von der Steuerung eine Anforderung für sequentielle Übertragung empfängt, der die Pufferbereichseinheit nicht zugeordnet worden ist, Daten zwischen der Platteneinheit (24) und der Steuerung (23) direkt übertragen werden, sofern nicht seit der letzten Übertragung einer Vielzahl von Pufferbereichseinheiten (12) des Bereichs (12) für sequentielle Übertragung eine vorbestimmte Zeitspanne verstrichen ist.
12. Datenübertragungsverfahren nach Anspruch 8, wobei dann, wenn eine Anforderung für sequentielle Übertragung empfangen wird und in einer Pufferbereichseinheit (12) des Bereichs für sequentielle Verarbeitung keine in der Anforderung für sequentielle Übertragung zu übertragenden Datensätze geladen sind, sämtliche Daten auf einer Spur einschließlich zu übertragenden Datensätzen während einer vollständigen Umdrehung der Platteneinheit in die Pufferbereichseinheit (12) des Bereichs für sequentielle Übertragung geladen und die zu übertragenden Datensätze an die Steuerung (23) gesendet werden.
13. Datenübertragungsverfahren nach Anspruch 8, wobei dann, wenn eine Anforderung für sequentielle Übertragung empfangen wird und in einer Pufferbereichseinheit (12) des Bereichs (11) für seguentielle Verarbeitung ein in der Anforderung für sequentielle Übertragung zu übertragender Datensatz geladen ist, die Platteneinheit den in dieser Pufferbereichseinheit des Bereichs für sequentielle Übertragung vorhandenen Datensatz an die Steuerung (23) sendet.
14. Datenübertragungsverfahren nach Anspruch 8, wobei dann, wenn die Verarbeitung für die angenommene Anforderung für sequentielle Übertragung beendet ist und eine Pufferbereichseinheit (12) des Bereichs (11) für sequentielle Verarbeitung einen leeren Bereich enthält, die Platteneinheit einen oder mehrere zu übertragende Datensätze in diesen leeren Bereich lädt.
15. System oder Verfahren nach Anspruch 1 bzw. 8, wobei der in dem Puffer vorhandene Bereich (10) für nicht-sequentielle Übertragung einen einzelnen Pufferbereich (12) umfaßt.
16, System oder Verfahren nach Anspruch 1 bzw. 8, wobei der in dem Puffer vorhandene Bereich (11) für sequentielle Übertragung mehrere Pufferbereiche (12) umfaßt.
17. System oder Verfahren nach Anspruch 1 bzw. 8, wobei entsprechende Pufferbereichseinheiten (12) des Puffers eine Kapazität zur Aufnahme einer während mindestens zweier vollständiger Umdrehungen der Platteneinheit übertragenen Datenmenge aufweisen.
18. System oder Verfahren nach Anspruch 1 bzw. 8, wobei dann, wenn eine Anforderung für nicht-sequentielle Übertragung empfangen wird und die Stelle eines zu übertragenden Datensatzes zu diesem Zeitpunkt vervollständigt ist, so daß zwischen der Steuerung (23) und der Platteneinheit (24) eine Datenübertragung möglich wird, Daten zwischen der Platteneinheit und der Steuerung direkt übertragen werden, während dann, wenn eine Datenübertragung unmöglich ist, der zu übertragende Datensatz in Pufferbereichseinheiten (12) des Bereichs (10) für nicht-sequentielle Übertragung geladen und dann an die Steuerung übertragen werden, wenn Datenübertragung möglich wird.
19. System oder Verfahren nach Anspruch 1 bzw. 8, wobei der Prozessor (20) dann, wenn er eine Anforderung für die Eingabe und Ausgabe von Daten an bzw. von der Steuerung (23) hat, die Steuerung über die Anzahl der bei der Anforderung zu übertragenden Datensätze informiert, und wobei auch die Steuerung (23) der Platteneinheit (24) die Anzahl der zu übertragenden Datensätze mitteilt.
20. System oder Verfahren nach Anspruch 1 bzw. 8, wobei dann, wenn die Platteneinheit (24) eine Anforderung auf nicht-sequentielle Übertragung eines einzelnen Datensatzes empfängt und die Stelle eines zu übertragenden Datensatzes vervollständigt worden ist, die Platteneinheit Daten direkt auf die Steuerung (23) überträgt, falls Datenübertragung möglich ist, während sie dann, wenn Datenübertragung nicht möglich ist, den zu übertragenden Datensatz in Pufferbereichseinheiten (2700) des Bereichs (10) für nicht-sequentielle Übertragung lädt und die Daten dann überträgt, wenn Datenübertragung an die Steuerung möglich wird.
21. System bzw. Verfahren nach Anspruch 18, wobei die Platteneinheit (24) dann, wenn sie eine Anforderung für nicht-sequentielle Übertragung zweier oder mehrerer Datensätze empfängt, sämtliche Datensätze auf einer zu übertragende Datensätze enthaltenden Spur in die Pufferbereichseinheiten (2700) des Bereichs (10) für nicht-sequentielle Übertragung lädt und die zu übertragenden Datensätze dann an die Steuerung (23) sendet.
22. System bzw. Verfahren nach Anspruch 1 bzw. 8, wobei der Bereich (10) für nicht-sequentielle Übertragung mehrere Pufferbereichseinheiten (2700) umfaßt.
23. System bzw. Verfahren nach Anspruch 22, wobei die einzelnen Pufferbereichseinheiten (2700) zu Verwaltungszwecken in zeitlicher Reihenfolge einer neuen Übertragung angeordnet sind.
24. System bzw. Verfahren nach Anspruch 22, wobei die einzelnen Pufferbereichseinheiten (2700) zu Verwaltungszwecken in der Reihenfolge der Zeitpunkte angeordnet werden, zu denen die letzte Übertragung ausgeführt wird.
25. System bzw. Verfahren nach Anspruch 22, wobei die Vielzahl von Pufferbereichseinheiten (2700) eine Kapazität zur Aufnahme einer auf eine einzelne Spur der Platteneinheit (24) geladenen Datenmenge aufweisen.
26. System bzw. Verfahren nach Anspruch 22, wobei die Platteneinheit (24) dann, wenn sie eine Anforderung für nicht-sequentielle Übertragung empfängt und zu übertragende Daten auf einer Spur in Pufferbereichseinheiten (2700) des Bereichs (10) für nicht-sequentielle Verarbeitung gespeichert sind, die Daten in diesen Pufferbereichseinheiten (2700) an die Steuerung (23) sendet.
DE69024145T 1989-09-13 1990-09-12 Gepufferte Platteneinheit und Verfahren zur Datenübertragung Expired - Lifetime DE69024145T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1237892A JPH03100718A (ja) 1989-09-13 1989-09-13 バッファ付きディスク装置の入出力処理方法

Publications (2)

Publication Number Publication Date
DE69024145D1 DE69024145D1 (de) 1996-01-25
DE69024145T2 true DE69024145T2 (de) 1996-10-17

Family

ID=17021970

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69024145T Expired - Lifetime DE69024145T2 (de) 1989-09-13 1990-09-12 Gepufferte Platteneinheit und Verfahren zur Datenübertragung

Country Status (4)

Country Link
US (1) US5187778A (de)
EP (1) EP0418723B1 (de)
JP (1) JPH03100718A (de)
DE (1) DE69024145T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526507A (en) * 1992-01-06 1996-06-11 Hill; Andrew J. W. Computer memory array control for accessing different memory banks simullaneously
JPH07334310A (ja) * 1994-06-06 1995-12-22 Toshiba Corp ディスク装置及び同装置における読み出しデータのバッファ記憶制御方法
JPH08328752A (ja) * 1994-06-10 1996-12-13 Canon Inc 情報記録装置及び方法
US5717918A (en) * 1994-06-17 1998-02-10 Hitachi, Ltd. Method for concurrently performing a physical sequential scan of a database into a database buffer which is queued until a preceding scan is completed
JPH11143643A (ja) * 1997-11-06 1999-05-28 Sony Corp 再生装置、及びキャッシュ処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5833770A (ja) * 1981-08-24 1983-02-28 Sony Corp デジタルデ−タのプログラム転送方法
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
US4454595A (en) * 1981-12-23 1984-06-12 Pitney Bowes Inc. Buffer for use with a fixed disk controller
JPS58186867A (ja) * 1982-04-27 1983-10-31 Hitachi Ltd キャッシュ・メモリの制御方式
JPS5933689A (ja) * 1982-08-20 1984-02-23 Hitachi Ltd デ−タ転送方式
JPS5938866A (ja) * 1982-08-27 1984-03-02 Fujitsu Ltd 磁気デイスク装置
JPS59100964A (ja) * 1982-12-01 1984-06-11 Hitachi Ltd ディスク制御システム及びその並列データ転送方法
JPS59153251A (ja) * 1983-02-18 1984-09-01 Toshiba Corp デイスクキヤツシユシステム
JPS617967A (ja) * 1984-06-15 1986-01-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション I/oコントロ−ラ
US4667286A (en) * 1984-12-20 1987-05-19 Advanced Micro Devices, Inc. Method and apparatus for transferring data between a disk and a central processing unit
US5056010A (en) * 1989-10-30 1991-10-08 Industrial Technology Research Institute Pointer based DMA controller

Also Published As

Publication number Publication date
US5187778A (en) 1993-02-16
JPH03100718A (ja) 1991-04-25
EP0418723B1 (de) 1995-12-13
DE69024145D1 (de) 1996-01-25
EP0418723A3 (en) 1991-10-30
EP0418723A2 (de) 1991-03-27

Similar Documents

Publication Publication Date Title
DE69722991T2 (de) Aufzeichnungsbereichsverwaltungsverfahren und Speichergerät
DE69031862T2 (de) Verfahren zum Lastausgleich für Kanälen und Verwendung desselben in einem Datenverarbeitungssystem
DE3280428T2 (de) Datenspeichersystem fuer einen arbeitsrechner.
DE3587398T2 (de) Datenspeicherhierarchie und deren Betriebsverfahren.
DE2209282C3 (de) Datenverarbeitungsanlage
DE3851730T2 (de) Cachespeicherverwaltung für ein peripheres Ratenspeichersubsystem.
DE3131341C2 (de)
DE69533058T2 (de) Speicherplattenanordnung mit redundanter Speicherung und Verfahren zur inkrementalen Redundanzerzeugung während des Datenschreibens auf die Speicherplattenanordnung
DE69831944T2 (de) Vorrichtung und verfahren zur sicherung eines plattenspeichersystem
DE69031926T2 (de) Instandhaltung von Dateiattributen in einem verteilten Datenverarbeitungssystem
DE3151745C2 (de)
DE69834026T2 (de) Verfahren und vorrichtung zur befehlswiedereinordnung und wiederherstellung von daten zur originalen befehlsreihenfolge
DE69833815T2 (de) Verbesserter Disk-Log mit verteiltem Schreibsystem
DE3588009T2 (de) Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung.
DE112010004931B4 (de) Mehrphasige Wiederherstellung von Dateisystemen mit Selektiver Bedarfsweiser Verfügbarkeit von Daten
DE2350884A1 (de) Datenverarbeitungssystem
DE60310960T2 (de) Halten von informationen in einem oder mehreren virtuellen volumenaggregaten mit mehreren virtuellen volumen
DE10062063B4 (de) Verfahren, System, Computerprogramm-Produkt und Speichervorrichtung zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität
DE3390323T1 (de) Ermittlung eines sequentiellen Datenstroms
DE102013205571B4 (de) Verfahren, Computerprogrammprodukt und Vorrichtung zum Migrieren von Datenträgern mit schlanker Speicherzuweisung in mehrschichtigen Speicherarchitekturen
DE10050171B4 (de) Verfahren zur Steuerung von Cache-Speichern
DE69126108T2 (de) Rotierende Speicheranordnung
DE3021227A1 (de) Plattenspeicher-notizblock-teilsystem
DE3688136T2 (de) Verfahren zum Testen und Setzen von Daten in einen Datensatz auf einer Platte in eine atomaren Ein/Ausgabeoperation.
DE3338329C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition