-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft
eine Plattensteuerungseinrichtung mit einer Vorrichtungsadapterschaltung,
die mit einem internen Bus verbunden ist, und im besonderen eine
Plattensteuerungseinrichtung, die zum Ausführen einer parallelen Datenübertragung
von einer Vielzahl von Plattenvorrichtungen in der Lage ist.
-
BESCHREIBUNG DER VERWANDTEN
TECHNIK
-
Plattenspeichersysteme wie etwa ein
Magnetplattensystem werden als externe Speichervorrichtung in einem
Computersystem eingesetzt. Ein Plattenspeichersystem hat eine Vielzahl
von Magnetplattenvorrichtungen und eine Plattensteuerungseinrichtung,
die jene Plattenvorrichtungen steuert. Die Plattensteuerungseinrichtung
greift auf eine bezeichnete Magnetplattenvorrichtung als Reaktion
auf eine Zugriffsaufforderung von einer hochrangigen Einrichtung
zu.
-
Wenn die Magnetplattenvorrichtung
für einen
Zugriff auf sich bereit ist, erteilt sie der Plattensteuerungseinrichtung
eine Meldung. Dann startet die Magnetplattenvorrichtung das Übertragen
von Daten zu der Plattensteuerungseinrichtung. Die Plattensteuerungseinrichtung überträgt jene
Daten zu der hochrangigen Einrichtung. Von solch einer Plattensteuerungseinrichtung
wird eine effektive Steuerung der Datenübertragung verlangt.
-
10 ist
ein Blockdiagramm des Standes der Technik.
-
Wie in 10 gezeigt,
ist eine Plattensteuerungseinrichtung 80 mit einer Vielzahl
von Magnetplattenvorrichtungen 90-1 bis 90-4 verbunden.
Die Plattensteuerungseinrichtung 80 umfaßt eine
Kanaladapterschaltung 81, eine Betriebsmittelverwalterschaltung 82,
einen Tabellenspeicher 83, einen Hauptspeicher 84,
eine Vorrichtungsadapterschaltung 85 und einen internen
Bus 86.
-
Die Kanaladapterschaltung 81 steuert
die Schnittstelle mit einer hochrangigen Einrichtung. Die Betriebsmittelverwalterschaltung 82 verwaltet
Betriebsmittel. Der Tabellenspeicher 83 speichert verschiedene
Arten von Tabellen für
die Betriebsmittelverwaltung durch die Betriebsmittelverwalterschaltung 82.
-
Der Hauptspeicher 84 speichert
Lesedaten von einer Magnetplattenvorrichtung temporär. Die Vorrichtungsadapterschaltung 85 greift
auf irgendeine bezeichnete der Magnetplattenvorrichtungen 90-1 bis 90-4 zu
und überträgt Daten
zu dem Hauptspeicher 84.
-
Im folgenden wird die Operation dieser
Plattensteuerungseinrichtung 80 beschrieben. Wenn die Kanaladapterschaltung 81 eine
Zugriffsaufforderung von einer hochrangigen Einrichtung empfängt, meldet
sie jene Zugriffsaufforderung der Betriebsmittelverwalterschaltung 82.
Die Betriebsmittelverwalterschaltung 82 ordnet einen Bereich
in dem Hauptspeicher 84 zu und fordert dann die Vorrichtungsadapterschaltung 85 auf,
auf die bezeichnete der Magnetplattenvorrichtungen 90-1 bis 90-4 zuzugreifen.
-
Die Vorrichtungsadapterschaltung 85 greift auf
die bezeichnete Magnetplattenvorrichtung 90-1, 90-2, 90-3 oder 90- 4 zu.
Wenn die bezeichnete Magnetplattenvorrichtung 90-1, 90-2, 90-3 oder 90-4 zum Übertragen
von Daten bereit ist, erteilt sie zu diesem Zweck eine Meldung an
die Vorrichtungsadapterschaltung 85. Dann überträgt jene
Magnetplattenvorrichtung 90-1, 90-2, 90-3 oder 90-4 Daten
zu der Vorrichtungsadapterschaltung 85.
-
Nachdem die Vorrichtungsadapterschaltung 85 eine
Erlaubnis zur Verwendung des internen Busses 86 erhalten
hat, überträgt sie die
Daten zu dem Hauptspeicher 84. Wenn die Betriebsmittelverwalterschaltung 82 eine
Meldung über
das Ende der Datenübertragung
von der Vorrichtungsadapterschal tung 85 empfängt, instruiert
sie die Kanaladapterschaltung 81, die Datenübertragung
zu starten. Nach Erlangen der Erlaubnis zur Verwendung des internen Busses 86 liest
die Kanaladapterschaltung 81 Daten von dem Hauptspeicher 84.
Dann überträgt die Kanaladapterschaltung 81 die
Daten zu der hochrangigen Einrichtung.
-
11 ist
ein Strukturdiagramm des Standes der Technik, und 12 ist ein Erläuterungsdiagramm des Standes
der Technik. 11 zeigt
die interne Struktur der Vorrichtungsadapterschaltung 85.
-
Die Vorrichtungsadapterschaltung 85 hat, wie
in 11 gezeigt, eine
Busschnittstellenschaltung 87, eine Automatikübertragungsschaltung 88 und
eine Datenübertragungsschaltung 89.
-
Die Busschnittstellenschaltung (BIL) 87,
die mit dem internen Bus 86 verbunden ist, führt eine Schnittstellensteuerung
an dem internen Bus 86 aus. Die Automatikübertragungsschaltung
(ADT) 88 greift auf die Magnetplattenvorrichtungen 90-1 bis 90-4 über die
Datenübertragungsschaltung
(SCSI) 89 gemäß einer
Zugriffsaufforderung von der Schnittstellenschaltung 87 zu.
-
Wenn irgendeine der Magnetplattenvorrichtungen 90-1 bis 90-4 zur
Datenübertragung
bereit ist, meldet sie dies der Automatikübertragungsschaltung 88.
Die Automatikübertragungsschaltung 88 instruiert
die Schnittstellenschaltung 87, um die Erlaubnis zur Verwendung
des internen Busses 86 zu erhalten. Die Automatikübertragungsschaltung 88 empfängt Daten
von jener der Magnetplattenvorrichtungen 90-1 bis 90-4 und überträgt sie dann
zu der Schnittstellenschaltung 87. Die Schnittstellenschaltung 87 überträgt jene
Daten zu dem internen Bus 86.
-
Wie in 12 gezeigt, übertragen
die Magnetplattenvorrichtungen 90-1 bis 90-4 Daten
gemäß der Übertragungsrate von
jeder Magnetplattenvorrichtung. Die Schnittstellenschaltung 87 überträgt Daten
gemäß jener Übertragungsrate
zu dem internen Bus. Der herkömmliche
Vorrichtungsadapter 85 startet deshalb die Datenübertragung
von einer Magnetplattenvorrichtung nach dem Vollenden der Datenübertragung
von einer vorhergehenden Magnetplattenvorrichtung.
-
Die Übertragungsrate von jeder Magnetplattenvorrichtung
hängt jedoch
von der Datenlesegeschwindigkeit jener Magnetplattenvorrichtung
ab. Im allgemeinen haben Magnetplattenvorrichtungen eine relativ
niedrige Übertragungsrate.
Demgegenüber
ist die Übertragungsrate
des internen Busses relativ schnell, da nur eine elektrische Steuerung
involviert ist. Tatsächlich
ist die Übertragungsrate
des internen Busses mehr als zweimal so schnell wie jene von Magnetplattenvorrichtungen.
-
Das Dokument US-5613066 offenbart
einen Plattencontroller, der zwischen einem Hostcomputer und einer
Vielzahl von Plattenvorrichtungen verbunden ist. Der Plattencontroller
umfaßt
einen Kanaladapter als Schnittstelle zu dem Host und einen Vorrichtungsadapter
als Schnittstelle zu den Plattenvorrichtungen.
-
Gemäß der herkömmlichen Struktur wird die Übertragungsrate
des internen Busses so geplant, um der Übertragungsrate von Magnetplattenvorrichtungen
zu entsprechen. Nach Stand der Technik konnte deshalb die Übertragungsrate
des internen Busses nicht effektiv genutzt werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Daher ist es die Hauptaufgabe der
vorliegenden Erfindung, wie in Anspruch 1 definiert, eine Plattensteuerungseinrichtung
vorzusehen, welche die Übertragungsrate
des internen Busses effektiv nutzt.
-
Ein anderes Ziel dieser Erfindung
ist das Vorsehen einer Plattensteuerungseinrichtung, die es ermöglicht,
daß eine
Vielzahl von Plattenvorrichtungen eine parallele Datenübertragung
ausführt.
-
Ein weiteres Ziel dieser Erfindung
ist das Vorsehen einer Plattensteuerungseinrichtung, welche die
Datenübertragungsgeschwindigkeit
verbessert.
-
Diese Ziele werden durch die Merkmale
von Anspruch 1 erreicht.
-
Eine Plattensteuerungseinrichtung
gemäß dieser
Erfindung, mit der eine Vielzahl von Plattenvorrichtungen verbunden
ist, greift auf eine bezeichnete Plattenvorrichtung gemäß einer
Aufforderung von einer hochrangigen Einrichtung zu und überträgt Daten
von der Plattenvorrichtung zu der hochrangigen Einrichtung.
-
Die Plattensteuerungseinrichtung
umfaßt eine
Kanaladapterschaltung zum Steuern einer Schnittstelle mit der hochrangigen
Einrichtung und zum Übertragen
von Daten zu der hochrangigen Einrichtung, einen Speicher zum Speichern
der Daten, eine Vorrichtungsadapterschaltung zum Zugreifen auf die
bezeichnete Plattenvorrichtung und zum Übertragen von Daten von der
Plattenvorrichtung zu dem Speicher, eine Betriebsmittelverwalterschaltung zum
Instruieren der Vorrichtungsadapterschaltung, auf die Plattenvorrichtung
zuzugreifen, gemäß einer Aufforderung
von der Kanaladapterschaltung, und einen internen Bus zum Verbinden
der Kanaladapterschaltung, des Speichers, der Vorrichtungsadapterschaltung
und der Betriebsmittelverwalterschaltung.
-
Die Vorrichtungsadapterschaltung
enthält eine
Schnittstellenschaltung, die mit dem internen Bus verbunden ist,
zum Übertragen
von Daten zu dem internen Bus, eine Datenübertragungsschaltung zum Bilden
einer Vielzahl von Datenübertragungswegen, über die
die Vielzahl von Plattenvorrich tungen Daten parallel überträgt, einen
Pufferspeicher mit Pufferbereichen, die jeweilig für die Datenübertragungswege
vorgesehen sind, und eine Steuerungsschaltung zum Instruieren des
Zugriffs auf die bezeichnete Plattenvorrichtung, dann zum Instruieren der
Datenübertragungsschaltung,
Daten von der bezeichneten Plattenvorrichtung zu einem zugeordneten
Pufferbereich zu übertragen,
gemäß einer
Unterbrechungsaufforderung von der Plattenvorrichtung, und zum Instruieren
der Schnittstellenschaltung, Daten von dem Pufferbereich zu übertragen,
wenn eine Datenmenge in dem Pufferbereich eine vorbestimmte Menge
erreicht.
-
Es ist vorzuziehen, wenn die Datenübertragungsschaltung
eine Vielzahl von ersten Übertragungsschaltungen
zum Austauschen von Daten mit den Plattenvorrichtungen mit einer
ersten Übertragungsrate
enthält,
eine zweite Übertragungsschaltung,
zum Speichern von Daten von der bezeichneten Plattenvorrichtung
in einem zugeordneten Pufferbereich, und einen Datenübertragungsbus
zum Verbinden der Vielzahl von ersten Übertragungsschaltungen mit
der zweiten Übertragungsschaltung
und zum Übertragen
von Daten mit einer zweiten Übertragungsrate,
die schneller als die erste Übertragungsrate
ist.
-
Diese Erfindung ist mit der Datenübertragungsschaltung
zum Bilden einer Vielzahl von Datenübertragungswegen versehen, über die
eine Vielzahl von Plattenvorrichtungen Daten parallel überträgt. Auch
wenn eine Vielzahl von Plattenvorrichtungen parallel arbeitet, können deshalb
Daten übertragen werden.
Zum Beispiel verbindet der Datenübertragungsbus,
der Daten mit der zweiten Übertragungsrate überträgt, die
schneller als die Übertragungsrate der
Plattenvorrichtungen ist, eine Vielzahl von ersten Übertragungsschaltungen
mit der zweiten Übertragungsschaltung.
Selbst wenn eine Vielzahl von Plattenvorrichtungen parallel arbeitet,
wird deshalb der schnelle Datenübertragungsbus
auf zeitgeteilte Weise verwendet, um eine Datenübertragung zu der zweiten Übertragungsschaltung
zu gestatten.
-
Der interne Bus wird durch die Kanaladapterschaltung
und die Betriebsmittelverwalterschaltung sowie die Vorrichtungsadapterschaltung
verwendet. Zur Verwendung des internen Busses ist es deshalb erforderlich,
eine Busverwendungserlaubnis zu erhalten. Dadurch wird verhindert,
daß Daten
von irgendeiner Plattenvorrichtung direkt zu dem internen Bus gesendet
werden. Da die Zeit ab dem Zugriff auf eine Plattenvorrichtung bis
zur Datenübertragung von
jener Plattenvorrichtung nicht konstant ist, kann die Busverwendungserlaubnis
nicht im voraus erhalten werden.
-
Angesichts dessen ist ein Pufferspeicher
vorgesehen, der Pufferbereiche hat, die für die jeweiligen Übertragungswege
vorgesehen sind, so daß Daten
von jedem Übertragungsweg
in dem zugeordneten Pufferbereich gespeichert werden. Wenn die Datenmenge
in einem betreffenden Pufferbereich eine vorbestimmte Menge erreicht, überträgt die Schnittstellenschaltung
Daten von jenem Pufferbereich.
-
Durch diese Konstruktion sind Übertragungsoperationen
von einer Vielzahl von Plattenvorrichtungen einfach Datenübertragungen
in die zugeordneten Pufferbereiche, und die Übertragungsoperationen von
einer Vielzahl von Plattenvorrichtungen können unabhängig von Operationen zum Übertragen
von Daten zu dem internen Bus ausgeführt werden. Da eine Datenübertragung
zu dem internen Bus ausgeführt
wird, wenn die Datenmenge in einem betreffenden Pufferbereich eine
vorbestimmte Menge erreicht, können
Operationen zum Übertragen
von Daten zu dem internen Bus unabhängig von den Übertragungsoperationen
von einer Vielzahl von Plattenvorrichtungen ausgeführt werden.
Selbst wenn eine Vielzahl von Plattenvorrichtungen parallel arbeitet,
können
deshalb Daten von den Plattenvorrichtungen in der richtigen Ordnung
zu dem internen Bus übertragen
werden.
-
Daher hängt die schnelle Übertragungsrate des
internen Busses nicht von der Übertragungsrate der
Plattenvorrichtungen ab, und somit kann sie effektiv genutzt werden.
Dadurch können
die parallelen Operationen der Plattenvorrichtungen zugelassen werden.
-
Andere Merkmale und Vorteile der
vorliegenden Erfindung gehen ohne weiteres aus der folgenden Beschreibung
in Verbindung mit den beiliegenden Zeichnungen hervor.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die beiliegenden Zeichnungen, die
in der Beschreibung inkorporiert sind und einen Teil von ihr bilden,
zeigen gegenwärtig
bevorzugte Ausführungsformen
der Erfindung und dienen zusammen mit der obigen allgemeinen Beschreibung
und der folgenden eingehenden Beschreibung der bevorzugten Ausführungsformen
zum Erläutern
des Prinzips der Erfindung, in denen:
-
1 ein
Blockdiagramm einer Ausführungsform
dieser Erfindung ist;
-
2 ein
Blockdiagramm einer Busschnittstellenschaltung gemäß der Ausführungsform
von 1 ist;
-
3 ein
Blockdiagramm einer Datenübertragungslogikschaltung
gemäß der Ausführungsform von 1 ist;
-
4 ein
Erläuterungsdiagramm
eines Speichers gemäß der Ausführungsform
von 1 ist;
-
5 ein
Flußdiagramm
ist, das einen Hauptprozeß gemäß der Ausführungsform
von 1 zeigt;
-
6 ein
Flußdiagramm
ist, das einen Prozeß zur
Unterbrechung von einer BIL gemäß der Ausführungsform
von 5 zeigt;
-
7 ein
Flußdiagramm
ist, das einen Prozeß zur
Unterbrechung von einer DTL gemäß der Ausführungsform
von 1 zeigt;
-
8 ein
Flußdiagramm
für einen
Datenübertragungsprozeß gemäß der Ausführungsform
von 5 ist;
-
9 ein
Erläuterungsdiagramm
der Operation dieser Ausführungsform
der Erfindung ist;
-
10 ein
Blockdiagramm des Standes der Technik ist;
-
11 ein
Strukturdiagramm des Standes der Technik ist; und
-
12 ein
Erläuterungsdiagramm
des Standes der Technik ist.
-
EINGEHENDE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 ist
ein Blockdiagramm einer Ausführungsform
dieser Erfindung, 2 ist
ein Blockdiagramm einer Busschnittstellenschaltung von 1, 3 ist ein Blockdiagramm einer Datenübertragungslogik
von 1, und 4 ist ein Strukturdiagramm
einer Tabelle von 2.
-
1 zeigt
lediglich die Struktur einer Vorrichtungsadapterschaltung 85.
Da die Struktur der Plattensteuerungseinrichtung dieselbe wie jene
von 10 ist, wird sie
nicht gezeigt.
-
Eine Busschnittstellenschaltung (BIL) 1,
die mit einem internen Bus 86 verbunden ist, steuert die Schnittstelle
mit dem internen Bus 86. Bei Empfang einer Zugriffsaufforderung
von dem internen Bus 86 meldet die Busschnittstellenschaltung 1 dies
einem Prozessor (MPU) 3. Wenn die Busschnittstellenschaltung 1 eine Übertragungsinstruktion
von dem Prozessor 3 empfängt, erhält sie eine Erlaubnis zur Verwendung
des internen Busses 86 und überträgt Daten in einem Pufferspeicher 5 zu
dem internen Bus 86.
-
Wie in 2 gezeigt,
hat die Busschnittstellenschaltung 1 einen Buscontroller 21,
einen MPU-Controller 22 und eine ADT-Schnittstellenschaltung 23.
Der Buscontroller 21, der mit dem internen Bus 86 verbunden
ist, steuert die Schnittstelle mit dem internen Bus 86.
Der Buscontroller 21 erhält, wenn er in einen Datenübertragungsmodus
versetzt wurde, eine Erlaubnis zur Verwendung des internen Busses 86 und überträgt eine
spezifizierte Datenmenge.
-
Der MPU-Controller 22 ist über einen MPU-Bus 9b mit
dem Prozessor (MPU) 3 verbunden. Der MPU-Controller 22 tauscht
Befehle/Daten mit dem Prozessor 3 aus. Die ADT-Schnittstellenschaltung 23 steuert
die Schnittstelle mit der Automatikübertragungsschaltung (ADT)
einer Datenübertragungsschaltung 2,
die später
erläutert
ist.
-
Wie in 1 gezeigt,
selektiert die Datenübertragungsschaltung
(zweite Übertragungsschaltung) 2 eine
Plattenvorrichtung gemäß einer
Selektionsinstruktion von dem Prozessor 3. Die Datenübertragungsschaltung
(DTL) 2 speichert Daten von der selektierten Plattenvorrichtung
in einem Pufferspeicher 5 als Reaktion auf eine Übertragungsfreigabeinstruktion
von dem Prozessor 3. Dann überträgt die Datenübertragungsschaltung 2 Daten
in dem Pufferspeicher 5 zu der Busschnittstellenschaltung 1 als Reaktion
auf eine Übertragungsaufforderung
von der Busschnittstellenschaltung 1.
-
Wie in 3 gezeigt,
enthält
die Datenübertragungsschaltung
(DTL) 2 eine Automatikübertragungsschaltung
(ADT CONT) 24, eine MPU-Schnittstellenschaltung 25,
einen Speichercontroller 26, einen PCI-(Peripheral Component
Interconnect)-Controller (PCI CONT) 27 und einen Busverwendungserlaubniscontroller 28.
-
Die Automatikübertragungsschaltung 24 überträgt automatisch
Daten in einem bezeichneten Pufferbereich in dem Pufferspeicher 5 als
Reaktion auf eine Aufforderung von der Busschnittstellenschaltung 1.
Die MPU-Schnittstellenschaltung 25, die über einen
MPU-Bus 9a mit dem Prozessor 3 verbunden ist,
steuert die Schnittstelle mit dem Prozessor 3.
-
Der Speichercontroller 26,
der über
einen Speicherbus 8 mit dem Pufferspeicher 5 verbunden ist,
führt die
Lese-/ Schreibsteuerung des Pufferspeichers 5 aus. Der
PCI-Controller 27 ist mit einem PCI-Bus 7 verbunden.
Als Reaktion auf eine Übertragungsfreigabeinstruktion
von dem Prozessor 3 aktiviert der PCI-Controller 27 den
zugeordneten der SCSI-(Small
Computer System Interface)-Controller 6-0 bis 6-5 über den
PCI-Bus 7.
-
Hinsichtlich der Details des PCI-Busses 7 siehe "PCI LOCAL BUS SPECIFICATION
REVISION 21" (ausgegeben
am 1. Juni 1995), veröffentlicht
von der PCI-Spezialinteressengruppe.
-
Der PCI-Controller 27 speichert
Daten von irgendeinem der SCSI-Controller 6-0 bis 6-5 über den PCI-Bus 7 in
dem Pufferbereich in dem Pufferspeicher 5, der jenem SCSI-Controller
oder dem Sender zugeordnet ist. Der Busverwendungserlaubniscontroller 28 steuert
die Erlaubnis zur Verwendung des PCI-Busses 7.
-
Wie in 1 gezeigt,
verbinden die individuellen SCSI-Controller (erste Übertragungsschaltungen) 6-0 bis 6-5 jeweilige
Magnetplattenvorrichtungen 10-0 bis 15-3 durch
SCSI-Busse 20-0 bis 20-5. Genauer gesagt, jeder
der SCSI-Controller 6-0 bis 6-5 verbindet
vier der Magnetplattenvorrichtungen 10-0 bis 15-3.
-
Die SCSI-Controller 6-0 bis 6-5 tauschen
Daten mit den Magnetplattenvorrichtungen 10-0 bis 15-3 durch
ein SCSI-Protokoll
aus. Gemäß einer
Aktivierungsinstruktion aktiviert jeder der SCSI-Controller 6-0 bis 6-5 die
bezeichnete der Magnetplattenvorrichtungen 10-0 bis 15-3.
-
Wenn die Magnetplattenvorrichtungen 10-0 bis 15-3 zur Übertragung
von Daten bereit sind, melden sie dies den jeweiligen SCSI-Controllern 6-0 bis 6-5 und
starten die Übertragung
von Daten. Die SCSI-Controller 6-0 bis 6-5 melden
dies ihrerseits dem PCI-Controller 27 über den PCI-Bus 7. Der PCI-Controller 27 sendet
eine Unterbrechung an den Prozessor 3.
-
Die Übertragungsrate der SCSI-Busse 20-0 bis 20-5,
die von der Operationsgeschwindigkeit der Magnetplattenvorrichtungen 10-0 bis 15-3 abhängt, beträgt etwa
20 MHz. Die Übertragungsrate
des internen Busses 86 beträgt etwa 40 MHz, d. h., das Doppelte
der Übertragungsrate
der SCSI-Busse.
-
Der PCI-Bus 7 verbindet
die Datenübertragungsschaltung 2 mit
den sechs SCSI-Controllern 6-0 bis 6-5. Daher
werden sechs Übertragungswege gebildet.
Dieser PCI-Bus 7 ist ein schneller Bus, dessen Übertragungsrate
etwa 133 MHz beträgt.
Diese Datenübertragungsschaltung 2 und
die sechs SCSI-Controller 6-0 bis 6-5 verwenden
den PCI-Bus 7 auf zeitgeteilte Weise.
-
Der Pufferspeicher 5 hat
sechs Pufferbereiche "0" bis "5" gemäß den sechs Übertragungswegen
(SCSI-Controller). Daten auf jedem Übertragungsweg werden in dem
Pufferbereich gespeichert, der jenem Übertragungsweg zugeordnet ist.
-
Der Prozessor (Steuerschaltung) 3 ist
aus einem Mikroprozessor gebildet. Der Prozessor 3 ist über die
MPU-Busse 9a und 9b mit der Busschnittstellenschaltung 1 und
der Datenübertragungsschaltung 2 verbunden.
-
Wenn eine Unterbrechung von der Busschnittstellenschaltung 1 vorliegt,
analysiert der Prozessor 3 Daten in dem internen Bus 86 und
instruiert die Datenübertragungsschaltung 2,
die bezeichnete Magnetplattenvorrichtung zu selektieren. Wenn eine Unterbrechungsaufforderung
von der Datenübertragungsschaltung
vorliegt, instruiert der Prozessor 3 den zugeordneten SCSI-Controller,
die Datenübertragung über die
Datenübertragungsschaltung 2 zu initiieren.
-
Ein Speicher 4 speichert
Daten, die für
die Prozesse erforderlich sind, die durch den Prozessor 3 auszuführen sind.
Wie in 4 gezeigt, sind
in dem Speicher 4 ein Verwendungsflag des internen Busses 40 und
sechs Datenübertragungssteuertabellen 41-0 bis 41-5 vorgesehen.
-
Das Verwendungsflag des internen
Busses 40 gibt an, ob der interne Bus 86 gerade
verwendet wird oder nicht. Die sechs Datenübertragungssteuertabellen 41-0 bis 41-5 geben
den jeweiligen Status der sechs Übertragungswege
und der sechs Pufferbereiche an. Jede der Datenübertragungssteuertabellen 41-0 bis 41-5 speichert
ein Pufferverwendungsflag, das angibt, ob der zugeordnete Pufferbereich
gerade verwendet wird, einen Übertragungsmengenprüfzeiger,
der die Datenakkumulationsmenge angibt, bei der die Datenübertragung
zu dem internen Bus 86 starten wird, und die Zahl einer
angeforderten Übertragungsanzahl,
die die Anzahl von Übertragungen
angibt, die von dem zugeordneten Übertragungsweg angefordert
wird.
-
5 ist
ein Flußdiagramm,
das einen Hauptprozeß zeigt,
den der Prozessor 3 ausführt, 6 ist ein Flußdiagramm, das einen Prozeß zur Unterbrechung
von der Busschnittstellenschaltung (BIL) zeigt, der durch den Prozessor 3 ausgeführt wird, 7 ist ein Flußdiagramm,
das einen Prozeß zur
Unterbrechung von der Datenübertragungsschaltung
(DTL) zeigt, der durch den Prozessor 3 ausgeführt wird, 8 ist ein Flußdiagramm
für einen
Datenübertragungsprozeß von 5, und 9 ist ein Erläuterungsdiagramm der Operation
dieser Ausführungsform
der Erfindung.
-
Wie in 5 gezeigt,
führt der
Prozessor 3 den Datenübertragungsprozeß aus, der
in 8 dargestellt ist.
Wenn eine Unterbrechung von der Busschnittstellenschaltung (BIL) vorliegt,
führt der
Prozessor 3 den Unterbrechungsprozeß von 6 aus. Wenn eine Unterbrechung von der
Datenübertragungsschaltung
(DTL) vorliegt, führt
der Prozessor 3 den Unterbrechungsprozeß von 7 aus.
-
Wenn die Busschnittstellenschaltung 1 eine Zugriffsaufforderung
von dem internen Bus 86 empfängt, sendet sie eine Unterbrechung
an den Prozessor 3. Wenn die Unterbrechung von der Busschnittstellenschaltung 1 gemeldet
wird, führt
der Prozessor 3 den Unterbrechungsprozeß von 6 aus.
- (S1) Der
Prozessor 3 analysiert Daten in dem internen Bus 86,
die durch die Busschnittstellenschaltung 1 empfangen worden
sind. Diese Daten enthalten Daten, die die bezeichnete Plattenvorrichtung,
die Startadresse und die angeforderte Übertragungsmenge angeben.
- (S2) Der Prozessor 3 instruiert die Datenübertragungsschaltung 2,
die Plattenvorrichtung zu selektieren, und beendet dann den Prozeß. Die Datenübertragungsschaltung 2 instruiert
den Übertragungsweg
(SCSI-Controller) für
die bezeichnete Plattenvorrichtung, die bezeichnete Plattenvorrichtung
zu selektieren. Demzufolge greift der SCSI-Controller auf die bezeichnete
Plattenvorrichtung zu.
Wenn die bezeichnete Plattenvorrichtung
zur Übertragung
von Daten an der bezeichneten Datenstartadresse bereit ist, meldet
sie die Initiierung der Datenübertragung
dem SCSI-Controller. Diese
Meldung wird über
den SCSI-Controller der Datenübertragungsschaltung 2 erteilt.
Bei Empfang dieser Meldung sendet die Datenübertragungsschaltung 2 eine
Unterbrechung an den Prozessor 3. Wenn der Prozessor 3 die
Unterbrechung von der Datenübertragungsschaltung 2 empfängt, führt er den
Unterbrechungsprozeß von 7 aus.
- (S3) Wenn der Prozessor 3 die Unterbrechung von der
Datenübertragungsschaltung 2 empfängt, selektiert
er einen Pufferbereich, der gemäß dem Inhalt
der Unterbrechung zu verwenden ist.
- (S4) Dann setzt der Prozessor 3 das Pufferverwendungsflag
("1") von derjenigen
der Datenübertragungssteuertabellen 41-0 bis 41-5,
die dem selektierten Pufferbereich zugeordnet ist, in dem Speicher 4.
Ferner setzt der Prozessor 3 die Übertragungsstart-Übertragungsmenge
(N Byte), bei der die Übertragung
beginnt, bei dem Übertragungsmengenprüfzeiger
von jener Datenübertragungssteuertabelle 41-0, 41-1, 41- 2, 41-3, 41-4 oder 41-5.
- (S5) Der Prozessor 3 setzt dann die angeforderte Übertragungsanzahl
für jenen
Zugriff bei der angeforderten Übertragungsanzahl
in der Datenübertragungssteuertabelle 41- 0, 41-1, 41-2, 41-3, 41-4 oder 41-5.
- (S6) Der Prozessor 3 instruiert die Datenübertragungsschaltung 2,
Daten zwischen dem selektierten Pufferbereich und der bezeichneten
Magnetplattenvorrichtung zu übertragen,
und gibt die Datenübertragung
frei. Der Prozessor 3 beendet dann den Prozeß.
-
Als Resultat meldet die Datenübertragungsschaltung
die Initiierung der Datenübertragung
dem zugeordneten SCSI-Controller.
Demzufolge startet die Magnetplattenvorrichtung, für die die
Unterbrechung erzeugt worden ist, das Übertragen von Daten mit der Übertragungsrate
von jener Vorrichtung. Die übertragenen
Daten werden in dem Puffer in dem SCSI-Controller gespeichert, wonach sie über den PCI-Bus 7 und
die Datenübertragungsschaltung 2 zu dem
Pufferspeicher 5 übertragen
werden.
-
Dabei speichert die Datenübertragungsschaltung 2 die
Daten, die von der Magnetplattenvorrichtung übertragen wurden, in dem Pufferbereich, der
jenem Übertragungsweg
zugeordnet ist. Die Datenübertragungsschaltung 2 überwacht die
Datenübertragungsmenge
für jeden Übertragungsweg
unter Verwendung eines Zählers.
-
Unter Bezugnahme auf 8 wird nun der in 5 gezeigte Datenübertragungsprozeß beschrieben.
- (S10) Zuerst prüft der Prozessor 3,
ob der interne Bus 86 gerade verwendet wird. Zu diesem
Zweck prüft
der Prozessor 3, ob das Busverwendungsflag BUS in dem Speicher 4 gesetzt
("1") ist. Das Busverwendungsflag
BUS wird gesetzt, wenn der Busschnittstellenschaltung (BIL) 1 eine
Aufforderung zur Datenübertragung
durch den internen Bus erteilt wird. Wenn das Busverwendungsflag BUS
nicht gesetzt ist, geht der Prozessor 3 zu Schritt S12 über.
- (S11) Wenn bestimmt wird, daß das Busverwendungsflag BUS
gesetzt ist, prüft
der Prozessor 3 den Datenübertragungsstatus der Busschnittstellenschaltung 1.
Wenn die Busschnittstellenschaltung 1 die Datenübertragungsaufforderung
von dem Prozessor 3 empfängt, erhält sie eine Erlaubnis zur Verwendung
des internen Busses 86 und überträgt dann automatisch Daten von
dem bezeichneten Pufferbereich in dem Pufferspeicher 5. Dann
setzt die Busschnittstellenschaltung 1 das Übertragungsende-Flag,
wenn die Übertragung der
spezifizierten Datenmenge vollendet ist.
-
Der Prozessor 3 analysiert
dieses Übertragungsende-Flag, um zu bestimmen,
ob die Busschnittstellenschaltung 1 die Datenübertragung
vollendet hat. Wenn die Datenübertragung
durch die Busschnittstellenschaltung 1 nicht vollendet
ist, ist die Datenübertragung
von einem Pufferbereich zu dem internen Bus im Gange, so daß Daten
von den anderen Pufferbereichen nicht zu dem internen Bus übertragen
werden können.
Deshalb beendet der Prozessor 3 diesen Prozeß.
-
Wenn die Datenübertragung durch die Busschnittstellenschaltung 1 andererseits
beendet ist, ist die Datenübertragung
von einem Pufferbereich zu dem internen Bus vollendet, so daß Daten
von den anderen Pufferbereichen zu dem internen Bus übertragen
werden können.
Der Prozessor 3 setzt daher das Busverwendungsflag BUS
in dem Speicher 4 zurück
(er setzt es auf "0").
- (S12)
Als nächstes
prüft der
Prozessor 3 die individuellen Datenübertragungssteuertabellen 41-0 bis 41-5 für die jeweiligen Übertragungswege
des Speichers 4. Zuerst setzt der Prozessor 3 den Identifikator
i der Übertragungswege
auf "0".
- (S13) Der Prozessor 3 prüft, ob der Identifikator i "6" ist. Falls der Identifikator i "6" ist, mit der Bedeutung, daß die Verarbeitung
aller Datenübertragungssteuertabellen
vollendet ist, beendet der Prozessor 3 diesen Prozeß.
- (S14) Der Prozessor 3 prüft, ob ein Pufferverwendungsflag
T-USE(i) in der Datenübertragungssteuertabelle
mit dem Identifikator i gesetzt worden ist (ob es "1" ist). Wenn das Pufferverwendungsflag
T-USE(i) nicht gesetzt ist, bestimmt der Prozessor 3, daß die Datenübertragungssteuertabelle
nicht verwendet wird. Das heißt,
der Prozessor 3 bestimmt, daß der Pufferbereich, der durch jene
Datenübertragungssteuertabelle
angegeben wird, nicht verwendet wird. Dann verändert der Prozessor 3 den
Identifikator i auf "i
+ 1", um die nächste Datenübertragungssteuertabelle
zu prüfen,
und kehrt dann zu Schritt S13 zurück.
- (S15) Der Prozessor 3 prüft, ob der Übertragungsmengenprüfzeiger
chk(i) in der Datenübertragungssteuertabelle
mit dem Identifikator i die angeforderte Übertragungsmenge cnt(i) in
der Datenübertragungssteuertabelle
mit dem Identifikator i erreicht hat. Wenn der Übertragungsmengenprüfzeiger
chk(i) die angeforderte Übertragungsmenge
cnt(i) erreicht hat, bedeutet dies, daß die Übertragung der angeforderten Übertragungsmenge
vollendet worden ist.
Daher setzt der Prozessor 3 das
Pufferverwendungsflag T-USE(i) in der Datenübertragungssteuertabelle mit
dem Identifikator i zurück
(ersetzt es auf "0"). Dann verändert der
Prozessor 3 den Identifikator i auf "i + 1", um die nächste Datenübertragungssteuertabelle zu
prüfen,
und kehrt dann zu Schritt S13 zurück.
- (S16) Wenn der Übertragungsmengenprüfzeiger chk(i)
die angeforderte Übertragungsmenge
cnt(i) nicht erreicht hat, bedeutet dies, daß die Übertragung der angeforderten Übertragungsmenge nicht
beendet worden ist. Deshalb liest der Prozessor 3 einen Übertragungszeiger
DTL-ZEIGER, der die Anzahl von Übertragungen
der Datenübertragungsschaltung 2 angibt.
Der Übertragungszeiger
DTL-ZEIGER der Datenübertragungsschaltung 2 gibt
die Datenübertragungsmenge des
zugeordneten Übertragungsweges
an.
Dann bestimmt der Prozessor 3, ob der Übertragungszeiger
DTL-ZEIGER den Übertragungsmengenprüfzeiger
chk(i) der Datenübertragungssteuertabelle
mit dem Identifikator i erreicht hat. Wenn der Übertragungszeiger DTL-ZEIGER
den Übertragungsmengenprüfzeiger
chk(i) der Datenübertragungssteuertabelle
mit dem Identifikator i nicht erreicht hat, hat die Übertragungsmenge
die Übertragungsstart-Übertragungsmenge
noch nicht erreicht. Der Prozessor 3 verändert den Identifikator
i deshalb auf "i
+ 1", um die nächste Datenübertragungssteuertabelle
zu prüfen,
und kehrt dann zu Schritt S13 zurück.
- (S17) Wenn der Prozessor 3 bestimmt, daß der Übertragungszeiger
DTL-ZEIGER den Übertragungsmengenprüfzeiger
chk(i) der Datenübertragungssteuertabelle
mit dem Identifikator i erreicht hat, startet er die Datenübertragung
zu dem internen Bus.
Deshalb verändert der Prozessor 3 den Übertragungsmengenprüfzeiger
chk(i) auf "chk(i)
+ N".
- (S18) Als nächstes
sendet der Prozessor 3 eine Übertragungsaufforderung an
die Busschnittstellenschaltung 1. Dabei spezifiziert der
Prozessor 3 den Pufferbereich für die Datenübertragung zu der Busschnittstellenschaltung 1.
-
Daher erhält die Busschnittstellenschaltung 1 eine
Erlaubnis zur Verwendung des internen Busses 86 und liest
dann Daten von dem bezeichneten Pufferbereich in dem Pufferspeicher 5 über die
Datenübertragungsschaltung 2.
Dann überträgt die Busschnittstellenschaltung 1 diese
Daten zu dem internen Bus 86. Die Übertragungsrate ist diesmal
die Übertragungsrate
des internen Busses 86.
-
Wie aus dem Obigen hervorgeht, verbindet der
PCI-Bus 7 zum Übertragen
von Daten mit der zweiten Übertragungsrate,
die schneller als die Übertragungsrate
der Plattenvorrichtungen ist, eine Vielzahl von SCSI-Controllern
(erste Übertragungsschaltungen) 6-0 bis 6-5 mit
der Datenübertragungsschaltung
(zweite Übertragungsschaltung) 2.
Selbst wenn eine Vielzahl von Plattenvorrichtungen mit einer langsamen Übertragungsrate
parallel arbeitet, wie in 9 gezeigt,
können
deshalb Daten unter Verwendung des PCI-Busses 7 mit einer
schnelleren Übertragungsrate
auf zeitgeteilte Weise schnell zu der Datenübertragungsschaltung 2 übertragen
werden.
-
Ferner ist der Pufferspeicher 5 vorgesehen, der
Pufferbereiche hat, die den jeweiligen SCSI-Controllern zugeordnet
sind, so daß Daten
von jedem SCSI-Controller in dem zugeordneten Pufferbereich gespeichert
werden. Wenn die Datenmenge in jedem Pufferbereich eine vorbestimmte
Menge erreicht, überträgt die Schnittstellenschaltung
die Daten in jenem Pufferbereich.
-
Mit dieser Struktur sind Übertragungsoperationen
von einer Vielzahl von Plattenvorrichtungen, wie in 9 gezeigt, einfach Datenübertragungen
in die zugeordneten Pufferbereiche, und die Übertragungsoperationen von
einer Vielzahl von Plattenvorrichtungen können unabhängig von Operationen zum Übertragen
von Daten zu dem internen Bus ausgeführt werden. Wenn die Datenübertragung
zu dem internen Bus ausgeführt
wird, wenn die Datenmenge in einem betreffenden Pufferbereich eine
vorbestimmte Menge erreicht, können
Operationen zum Übertragen
von Daten zu dem internen Bus unabhängig von den Übertragungsoperationen
einer Vielzahl von Plattenvorrichtungen ausgeführt werden. Selbst wenn eine
Vielzahl von Plattenvorrichtungen parallel arbeitet, können deshalb
Daten von den Plattenvorrichtungen in der richtigen Ordnung zu dem
internen Bus übertragen
werden.
-
Da das Busverwendungsflag BUS vorgesehen
ist, um zu überwachen,
ob der interne Bus durch die Busschnittstellenschaltung verwendet
wird, kann während
der Datenübertragung
von einem Pufferbereich die Datenübertragung von den anderen
Pufferbereichen verhindert werden. Wenn die Datenübertragung
von einem Pufferbereich vollendet ist, kann die Datenübertragung
von den anderen Pufferbereichen zugelassen werden. Deshalb ist es
möglich, Daten
in den Pufferbereichen in adäquater
Ordnung zu dem internen Bus zu übertragen.
-
Neben der oben beschriebenen Ausführungsform
kann diese Erfindung wie folgt abgewandelt werden.
- (1) Obwohl die obige Beschreibung der Ausführungsform anhand des Beispiels
erfolgte, bei dem sechs Übertragungswege
gebildet sind, ist diese Erfindung nicht auf den Typ begrenzt, bei
dem sechs Übertragungswege
verwendet werden, sondern sie kann an einen beliebigen Typ angepaßt werden,
bei dem eine Vielzahl von Übertragungswegen
verwendet wird.
- (2) Obwohl die Plattenvorrichtungen als Magnetplattenvorrichtungen
dargestellt worden sind, können
auch optische Plattenvorrichtungen, magneto-optische Plattenvorrichtungen
oder andere Typen verwendet werden.
-
Obwohl hierin eine Ausführungsform
dieser Erfindung beschrieben worden ist, können verschiedene Abwandlungen
innerhalb des Schutzumfangs dieser Erfindung vorgenommen werden.
-
Wie aus dem Obigen hervorgeht, hat
diese Erfindung die folgenden Vorteile.
- (1)
Weil Pufferbereiche für
jeweilige Übertragungswege
von Plattenvorrichtungen vorgesehen sind und die Übertragungswege
mit einem schnellen Bus konstruiert sind, kann eine Vielzahl von Plattenvorrichtungen
parallel arbeiten.
- (2) Da Daten in einem Pufferbereich übertragen werden, wenn detektiert
wird, daß die
Menge der Daten in dem Pufferbereich eine vorbestimmte Menge erreicht
hat, können
Plattenvorrichtungen durch effektives Nutzen der Geschwindigkeit
des internen Busses parallel arbeiten.