-
Technisches
Gebiet
-
Die
vorliegende Erfindung betrifft einen SCSI-IDE-Busumformungsadapter.
-
Technischer
Hintergrund
-
In
einem heutigen Kleincomputer befindet sich eine Anzahl von Bussen,
die die Umstände
seiner Entwicklung widerspiegeln, und dort, wo periphere Einheiten
anzuschließen
sind, ist eine Hardware-Vorrichtung entsprechend jedem der Busse vorgesehen.
-
In
der oben erwähnten
herkömmlichen
Spezifikation kann, da ein ausschließlicher Controller für jeden
spezifischen Bus vorgesehen ist, dieser nicht mit irgendeinem anderen
Bus verbunden werden, obwohl er funktionell mit jedem anderen Bus
verwendet werden könnte.
-
Da
insbesondere in den letzten Jahren die Spezifikation jedes Busses
Funktionen voraussetzt, die für
die entsprechende Hardware-Vorrichtung erforderlich sind, erfordern
unterschiedliche Busse, deren Spezifikation unabhängig voneinander
bestimmt sind, unvermeidlich das gleiche System für die gleiche
Funktion. Daher wird in einem Computer unvermeidlich eine Mehrzahl ähnlicher
Busse verwendet.
-
Die
vorliegende Erfindung ist im Hinblick auf dieses Problem angestrebt
worden, und ihre Aufgabe ist es, einen SCSI-IDE-Busumformungsadapter
anzugeben, der in der Lage ist, die Hardwarefunktionen effizienter
zu nutzen.
-
Die
JP 7-200192 offenbart eine optische Plattenvorrichtung mit einer
SCSI-Standardschnittstelle zum Anschluss an eine Host-CPU, dadurch
gekennzeichnet, dass ein Controller-Abschnitt zum Umwandeln der
Schnittstelle in eine Schnitt stelle, die zu einem anderen Standard
passt, zu der optischen Plattenvorrichtung hinzugefügt ist,
um eine Schnittstelle bereitzustellen, die zu dem anderen Standard zum
Anschluss an die Host-CPU passt.
-
Offenbarung
der Erfindung
-
Zur
Lösung
der oben genannten Aufgabe ist die Erfindung, wie sie zu Anspruch
1 gehört,
ein SCSI-IDE-Busumformungsadapter zum Einbau zwischen einem SCSI-Bus und einem IDE-Bus,
die unterschiedliche Systeme sind, und zum Erzielen einer Anpassung
zwischen den Bussen, und eine Konfiguration hat, die umfasst: ein
Befehlsschnittstellen-Umformungsmittel zum Erreichen einer gegenseitigen Anpassung
zwischen Befehlssystemen, während
Befehle an der IDE-Seite durch Hinzufügen von Platzhalterbefehlsdaten
zu Befehlen an der SCSI-Seite angepasst werden; und ein Datenbus-Umformungsmittel
zum, wenn unterschiedliche Busdatenbreiten angepasst werden sollen
und Daten zwischen dem SCSI-Bus und dem IDE-Bus übertragen werden sollen, Eingeben
oder Ausgeben durch geradzahlige Adressdaten an der IDE-Seite zu
oder von der SCSI-Seite und dann Eingeben oder Ausgeben ungeradzahliger
Adressdaten, und das ein Direktübertragungsmittel
aufweist, um während
der Datenübertragung
Daten zwischen den zwei Bussen gemäß einem DMA-System zu übertragen.
-
Gemäß der zu
Anspruch 1 gehörigen
Erfindung mit der oben beschriebenen Konfiguration erreicht der
SCSI-IDE-Busumformungsadapter, während
er zwischen den SCSI-Bus und den IDE-Bus geschaltet ist, die Busse
unterschiedlicher Systeme sind, eine Anpassung zwischen den zwei
Bussen. Daher wird durch Anschluss dieses SCSI-IDE-Busumformungsadapters
an einen der Busse und Anschluss an periphere Vorrichtungen, die
mit dem anderen Bus zu verbinden sind, an den SCSI-IDE-Busumformungsadapter
eine Verfügbarkeit
erreicht.
-
Hier
haben der SCSI-Bus und der IDE-Bus unterschiedliche Befehlssysteme,
und der SCSI-IDE-Busumformungsadapter hat ein Befehlsschnittstellen-Umformungsmittel
zum Erreichen einer gegenseitigen Anpassung zwischen den Befehlssystemen.
-
Das
Befehlsschnittstellen-Umformungsmittel erreicht eine gegenseitige
Anpassung zwischen den Befehlssystemen durch Umformen von Befehlen,
die auf einen der Busse wirken, in Befehle, die auf den anderen
Bus wirken, und Eingabe/Ausgabe der umgeformten Befehle.
-
Zum
Beispiel ist ATAPI ein erweitertes System des AT-Protokolls, und,
da es Elemente aufweist, die mit dem SCSI-Befehlssystem gemeinsam
sind, gestattet es die Umformung in einem relativ unbeschränkten Zustand
in diesen Busumformungsadapter. Insbesondere, wenn die Umformung
zwischen dem ATAPI-Bus und dem SCSI-Bus ausgeführt werden soll, erreicht das
vorgenannte Befehlsschnittstellen-Umformungsmittel eine Anpassung
mit Befehlen an der ATAPI-Seite durch Addieren von Platzhalterbefehlsdaten
zu den Befehlen an der SCSI-Seite.
-
Obwohl
das Befehlssystem an der ATAPI-Seite 12 Bytes gegenüber 6 bis
12 Bytes verwendet, die durch jenes an der SCSI-Seite benutzt wird, wird
die letztere Hälfte
der Bytes an der ATAPI-Seite lediglich zur möglichen Verwendung bei der
Erweiterung reserviert, aber sie werden tatsächlich nicht benutzt. Dementsprechend
kann das Befehlsschnittstellen-Umformungsmittel eine Anpassung an
Befehle an der ATAPI-Seite erreichen, indem es lediglich Platzhalterbefehlsdaten
zu den Befehlen der SCSI-Seite hinzufügt.
-
Übrigens
benötigt
die praktische Notwendigkeit der Busumformung eine Umformung zwischen dem
IDE-Bus und dem SCSI-Bus, wobei, da ein ATAPI-Bus mit einem IDE-Bus
kompatibel ist, jeder Befehl auf dem IDE-Bus auf dem ATAPI-Bus verwendet werden
kann, selbst wenn einige Befehle auf dem ATAPI-Bus auf dem IDE-Bus
nicht verwendet werden können.
Daher kann ein Adapter zur Umformung zwischen dem SCSI-Bus und dem
ATAPI-Bus selbstverständlich
als ein solcher zur Umformung zwischen dem IDE-Bus und dem SCSI-Bus
fungieren.
-
Andererseits
hat der SCSI-Bus und der IDE-Bus, die unterschiedliche Datenbusse
aufweisen, ein Datenbus-Umformungsmittel zum gegenseitigen Datenaustausch
zwischen den Datenbussen.
-
Dieses
Datenbus-Umformungsmittel wandelt Daten zum Erreichen einer Anpassung
um, um eine gegenseitige Dateneingabe/-ausgabe zwischen den Bussen
zu ermöglichen,
die unterschiedliche Datenbusse aufweisen.
-
Insbesondere
hat das Datenbus-Umformungsmittel eine Konfiguration, um die Anpassung durch
Eingabe oder Ausgabe durch geradzahlige Adressdaten an der IDE-Seite
zu oder von der SCSI-Seite zu erreichen, und dann Eingabe oder Ausgabe
von ungeradzahligen Adressdaten.
-
Während der
Hauptstrom der Datenbusbreite des SCSI gegenwärtig in Byte-Terms vorliegt, liegt jener
an der IDE-Seite in Wort-Terms vor. Dementsprechend kann die Anpassung
erreicht werden durch Eingabe oder Ausgabe durch geradzahlige Adressdaten
an der IDE-Seite zu oder von der SCSI-Seite, und dann Eingabe oder
Ausgabe von ungeradzahligen Adressdaten.
-
Wo übrigens
ein Befehl so zu interpretieren ist, dass er einen anderen dem entsprechenden
Befehl generieren soll, wird gewöhnlich
ein Schritt zur Bewertung davon hinzugefügt, und die Daten werden zumindest
einmal gelesen, gefolgt durch Ausgabe der Daten. Die Interpretation
eines Befehls kann einen solchen Schritt im Wesentlichen nicht vermeiden,
wobei aber die Datenübertragung
unnötig
ist und dies einen Faktor zur Geschwindigkeitsverzögerung darstellt.
Aus diesem Grund ist das vorgenannte Datenbus-Umformungsmittel mit
einem Direktübertragungsmittel
versehen, um Daten entsprechend einem DMA-System zwischen den zwei
Bussen zu übertragen,
wenn die Daten übertragen
werden sollen. Das DMA-System ist in diesem Kontext ein Transfersystem
zum direkten Lesen und Schreiben von Daten ohne eine zwischengeschaltete
CPU oder dgl. und kann durch Verwendung eines Mehrzweck-DMA-Controllers
oder dgl. realisiert werden. Während
ein solches direktes Transfermittel extensiv anwendbar ist, trägt es dazu
bei, den gesamten Durchsatz zu verbessern, wo ein Befehl so zu interpretieren
ist, dass er einen anderen dem entsprechenden Befehl erzeugt.
-
Ferner
sollte kein Unterschied in der Busbreite vorliegen, wo ein DMA verwendet werden
soll.
-
Während übrigens
die Übereinstimmung zwischen
SCSI und IDE im Wesentlichen allein dadurch erreicht werden kann,
dass Platzhalterdaten hinzugefügt
werden, weil deren Befehlssysteme einander sehr ähnlich sind, sind die Befehle
nicht immer wie diese. Aus diesem Grund hat die Erfindung, wie sie
zu Anspruch 2 gehört,
eine Konfiguration, wie sie für
den Busumformungsadapter in einem von Anspruch 1 beansprucht ist,
worin das Befehlsschnittstellen-Umformungsmittel ein Befehlsdaten-Interpretationsmittel
zum Interpretieren von Befehlen, die von einem der Busse eingegeben
werden, sowie ein Befehlserzeugungsmittel zum Erzeugen und Ausgeben von
Befehlen an dem anderen Bus entsprechend den interpretierten Befehlen
aufweist.
-
In
der zu Anspruch 2 gehörigen
Erfindung, die wie oben beschrieben konfiguriert ist, interpretiert das
Befehlsdaten-Interpretationsmittel Befehle, die von einem der Busse
eingegeben werden, und das Befehlsgeneratormittel erzeugt, entsprechend
den interpretierten Befehlen, Befehle an dem anderen Bus und gibt
diese aus. Daher ist es extensiv anwendbar, unabhängig von
etwaigen Unterschieden in dem Befehlssystem, die nicht allein dadurch überwunden
werden können,
dass Platzhalterdaten hinzugefügt
werden.
-
Wie
bisher beschrieben, macht es die vorliegende Erfindung möglich, beim
Anschluss von peripheren Vorrichtungen zwischen SCSI und IDE, die heute
häufig
verwendet werden, jeglichen Unterschied im Befehlssystem zu beseitigen,
indem lediglich Platzhalterdaten hinzugefügt oder entfernt werden, was
zu einer sehr leichten Anpassung von Befehlssystemen führt, um
Daten direkt zu übertragen und
hierdurch die Datenübertragungsgeschwindigkeit
zu verbessern, während
Datenbussysteme sehr leicht angepasst werden, indem geradzahlige Adressdaten
und ungeradzahlige Adressdaten von Wortdaten in Bytedaten umgewandelt
werden, und einen SCSI-IDE-Busumformungsadapter bereitzustellen,
der, scheinbar das erste Mal, eine Umformung zwischen SCSI und einem
IDE-Bus dieser Art ermöglicht.
-
Ferner
kann die zu Anspruch 2 gehörige
Erfindung auch dort angewendet werden, wo sich Befehlssysteme stark
voneinander unterscheiden.
-
Weiter
zusätzlich
ist sie, solange es mit einem ATAPI-Bus kompatibel ist, mit einem
IDE-Bus kompatibel.
-
Kurzbeschreibung
der Zeichnungen
-
1 ist
ein schematisches Diagramm eines Bussystems, an dem ein Busumformungsadapter, der
zu einem Ausführungsmodus
der vorliegenden Erfindung gehört,
angewendet wird.
-
2 ist
ein Diagramm mit Darstellung von Befehlspaketen eines SCSI-Busses
und eines ATAPI-Busses.
-
3 ist
ein Diagramm mit Darstellung der Beziehung zwischen der Entsprechung
zwischen Bytedaten und Wortdaten an dem SCSI-Bus und dem ATAPI-Bus.
-
4 ist
ein Diagramm mit Darstellung der schematischen logischen Konfiguration
und der Pinzuweisung des Busumformungsadapters.
-
5 ist
ein schematisches Blockdiagramm mit Darstellung eines anderen Konfigurationsbeispiels
des Busumformungsadapters.
-
6 ist
ein Diagramm mit Darstellung von Phasenumschaltungen an dem SCSI-Bus.
-
7 ist
ein Flussdiagramm mit Darstellung des Prozesses in der Wählphase.
-
8 ist
ein Flussdiagramm mit Darstellung des Prozesses in der Befehlsphase.
-
9 ist
ein Flussdiagramm mit Darstellung des Prozesses in der Dateneingabephase.
-
10 ist
ein Flussdiagramm mit Darstellung des Prozesses in der Datenausgabephase.
-
11 ist
ein Flussdiagramm mit Darstellung des Prozesses in der Statusphase.
-
12 ist
ein Flussdiagramm mit Darstellung des Prozesses in der Meldephase.
-
13 ist
ein schematisches Blockdiagramm eines Busumformungsadapters, der
zu einem anderen Ausführungsmodus
der Erfindung gehört.
-
14 ist
eine äußere Perspektivansicht des
Busses.
-
15 ist
eine Perspektivansicht mit Darstellung, wie der Busumformungsadapter
auf einer IDE-Festplatte montiert wird.
-
16 ist
ein Blockdiagramm des Busumformungsadapters.
-
17 ist
ein Blockdiagramm eines Busumformungsadapters, der zu einem anderen
Ausführungsmodus
der Erfindung gehört.
-
18 ist
ein Blockdiagramm eines Busumformungsadapters, der zu einem anderen
Ausführungsmodus
der Erfindung gehört.
-
19 ist
ein Blockdiagramm eines Busumformungsadapters, der zu einem anderen
Ausführungsmodus
der Erfindung gehört.
-
20 ist
ein Diagramm mit Darstellung eines Umrisses einer Befehlsumwandlung.
-
21 ist
ein Diagramm mit Darstellung eines spezifischen Beispiels der Befehls umwandlung.
-
22 ist
ein Diagramm mit Darstellung der Beziehung der Entsprechung der
Umformung von SCSI-Befehlen in IDE-Befehle.
-
23 ist
ein Flussdiagramm mit Darstellung der Prozedur der DMA-Übertragung.
-
24 ist
ein Flussdiagramm mit Darstellung der Prozedur einer Fehlermeldung
von dem IDE-Bus zu dem SCSI-Bus.
-
Beste Arten
zur Ausführung
der Erfindung
-
Nachfolgend
werden beste Arten zur Ausführung
der vorliegenden Erfindung in Bezug auf die beigefügten Zeichnungen
beschrieben.
-
1 stellt
schematisch ein Bussystem dar, auf das ein Busumformungsadapter,
der zu einem Ausführungsmodus
der Erfindung gehört,
angewendet wird.
-
In
dem Diagramm ist ein Computer per se (nicht gezeigt) mit einer SCSI-Karte 10 versehen,
um einen SCSI-Bus verfügbar
zu machen, und mit der SCSI-Karte 10 sind in einer Prioritätsverkettungsform SCSI-spezifizierte
Festplatten 21 und 22 und eine ATAPI-spezifizierte
Festplatte 31 verbunden. Angemerkt werden sollte, dass
die ATAPI-spezifizierte Festplatte 31 über einen Busumformungsadapter 40 angeschlossen
ist, der eine Art der Ausführung
der Erfindung verkörpert.
Nachfolgend wird angenommen, dass ein ID von "1" der
ersten SCSI-spezifizierten Festplatte 21 zugewiesen wird,
einer von "2" der zweiten SCSI-spezifizierten
Festplatte 22 und ähnlich "3" als ein ID innerhalb des SCSI-Busses
der dritten ATAPI-spezifizierten
Festplatte 31. Natürlich
wird angenommen, dass der Busumformungsadapter 40 dieses
ID "3" erkennt und die
ATAPI-spezifizierte Festplatte 31 geeignet steuert. Hier
entspricht der Weg zwischen dem Busumformungsadapter 40 und der
ATAPI-spezifizierten Festplatte 31 dem ATAPI-Bus.
-
Obwohl
der SCSI-Bus und der ATAPI-Bus in dieser Art der Implementierung
als Beispiel unterschiedlicher Busse angewendet werden, ist es natürlich auch
auf andere Busse anwendbar.
-
Bevor
die Konfiguration des Busumformungsadapters 40 beschrieben
wird, wird der Unterschied zwischen dem SCSI-Bus und dem ATAPI-Bus erläutert. Im
Hinblick auf ein Befehlssystem haben sie ein gemeinsames Merkmal
darin, Befehle in einem Befehlspaket auszugeben, unterscheiden sich jedoch
in der Länge
eines Befehlspakets. Somit liegt der Unterschied dann, dass, während der
SCSI-Bus ein 6-Byte-Befehlspaket verwendet, der ATAPI-Bus ein 12-Byte-Befehlspaket
verwendet. Da jedoch die letzteren 6 Bytes für den ATAPI-Bus lediglich zur
Verwendung in einer möglichen
künftigen
Erweiterung reserviert sind, kann grundsätzlich die Länge angeglichen
werden, indem Platzhalterbefehle hinzugefügt werden, wie in 2 gezeigt.
-
Andererseits
haben sie in Bezug auf Datenbusse das gemeinsame Merkmal der parallelen
Datenausgabe, unterscheiden sich jedoch in der Busbreite. Während der
SCSI-Bus eine 8 Bit breite Byteeinheit verwendet, verwendet der
ATAPI-Bus eine 16-Bit-Worteinheit. In Bezug auf die Sequenz der übertragenen
Daten entsprechen hier die ungeradzahligen Adressdaten und die geradzahligen
Adressdaten von Wortdaten jeweils den ersten und zweiten Bytes von
Bytedaten, wie in 3 gezeigt. Wenn daher Daten
von dem ATAPI-Bus zu dem SCSI-Bus übertragen werden sollen, können die
geradzahligen Adressdaten und die geradzahligen Adressdaten von Wortdaten
in 2 Bytes aufgeteilt und als solche aufeinander folgend übertragen
werden, und wenn Daten von dem SCSI-Bus zu dem ATAPI-Bus übertragen werden
sollen, können
jeweils aufeinander folgende 2 Bytes in Wortdaten als geradzahlige
Adressdaten und ungeradzahlige Adressdaten umgewandelt werden und
als solche übertragen
werden.
-
Eine
schematische Konfiguration des Busumformungsadapters 40,
der die oben beschriebenen Unterschiede im Befehlssystem und Datenbus anpasst,
ist in 4 dargestellt. Die interne Logik kann breit klassifiziert
werden in eine Busbreitenänderungslogik 41,
eine Schnittstellenänderungslogik 42,
eine SCSI-Steuerlogik 43 und eine ATAPI-Steuerlogik 44.
-
Die
Busbreitenänderungslogik 41,
die eine Logik zur Anpassung von Datenübertragungen zwischen dem auf
Byte beruhenden SCSI-Bus und dem auf Wort beruhenden ATAPI-Bus ist,
wie oben beschrieben, fungiert im Wesentlichen unabhängig entsprechend
dem Zeittakt für
Datenübertragungen.
Somit bilden die Hardware-Konfiguration und die unten beschriebene
Software dieser Busbreitenänderungslogik 41 ein
Datenbusumformungsmittel. Es versteht sich von selbst, dass, während nur
die Busbreite zwischen dem SCSI-Bus und dem ATAPI-Bus verändert wird,
geeignete Änderungen
vorgenommen werden, wenn die Anpassung von Datenübertragungen mit einem Datenbus,
der aus einem anderen System besteht, durchgeführt werden soll.
-
Obwohl
diese Art der Implementierung eine Konfiguration verwendet, die
aus der vorgenannten Busbreitenänderungslogik 41,
der Schnittstellenänderungslogik 42,
der SCSI-Steuerlogik 43 und der ATAPI-Steuerlogik 44 besteht,
um den Busumformungsadapter 40 zum Anschließen der
ATAPI-spezifizierten Festplatte 31 an den SCSI-Bus aufzubauen, kann
auch eine vielseitigere Konfiguration verwendet werden.
-
5 stellt
ein Beispiel einer Konfiguration dar, die im Hinblick auf eine vielseitigere
Nutzung verkörpert
ist, worin Signaldekodierer 61 und 62, die jeweils
den einzelnen Bussen, wie etwa dem ATAPI-Bus und dem SCSI-Bus entsprechen,
vorgesehen sind, und Befehle durch eine Befehlsumwandlungsschaltung 63 interpretiert
und umgeformt werden, die den Hauptteil darstellt, um die gegenseitige
Anpassung zu erreichen. Auch vorgesehen ist ein Arbeits-RAM 64 zum
Umformen von Daten, damit diese nach Bedarf zur Verfügung stehen.
Wenn daher die Anwendung eines anderen Busses erforderlich ist, würde es lediglich
ausreichen, einen Signaldekodierer bereitzustellen, der Befehle
und dgl. zu der Befehlsumwandlungsschaltung 63 übertragen
kann.
-
Wo
andererseits die Übereinstimmung
zwischen unterschiedlichen Bussen erfolgen soll, wie etwa SCSI und
ATAPI, die im Befehlssystem diese Unterschiede ent halten, wird dies
dadurch ausgeführt,
dass die Schnittstellenänderungslogik 42,
die SCSI-Steuerlogik 43 und die ATAPI-Steuerlogik 44 Prozesse
entsprechend den in 6 gezeigten tatsächlichen
Phasenumschaltungen an dem SCSI-Bus entsprechend dem Flussdiagramm
von 7 und folgenden ausführen.
-
Als
Nächstes
wird der Betrieb dieser Art der Implementierung unter Verwendung
der oben genannten Konfiguration in Bezug auf die in 6 gezeigten
Phasenumschaltungen und die Flussdiagramme von 7 und
folgenden beschrieben.
-
An
dem SCSI-Bus findet die Operation in Acht-Wege-Phasenschaltungen
statt. Wenn, zuerst von einem Bus-frei-Zustand, ein Computer (nicht
gezeigt) versucht, auf die ATAPI-spezifizierte Festplatte 31 zuzugreifen,
wird ein SCSI-ID "3", der einen Zugriffsversuch
auf den SCSI-Bus repräsentiert, über eine
SCSI-Karte 10 abgeschickt, und es findet ein Schalten zu
der Wählphase
statt.
-
In
der Wählphase
wird, wie in 7 gezeigt, der auf dem SCSI-Bus
abgeschickte SCSI-ID durch jede der SCSI-Vorrichtungen 21, 22 und 40 in
Schritt 102 eingegeben, und jede bewertet in Schritt 104,
ob der ID ein sich selbst zugewiesener SCSI-ID ist oder nicht. Wenn
der ID nicht sein eigener SCSI-ID ist, endet die Wählphase
an dieser jeweligen Vorrichtung oder, wenn der ID sein eigener SCSI-ID ist, schaltet diese
Vorrichtung zu der Befehlsphase.
-
Beim
Schalten zur Befehlsphase wird, wie in 8 gezeigt,
in Schritt 202 zuerst der Bus besetzt. Und wenn Daten in
ein Befehlspaket in Schritt 204 empfangen werden, werden
sie als Befehlspaketdaten an den ATAPI-Bus in Schritt 206 abgeschickt.
In Schritt 208 wird bewertet, ob der Empfang des Datenpakets
abgeschlossen wurde oder nicht, und falls nicht, wird der gleiche
Prozess an den Daten in dem Befehlspaket, das als Nächstes geschickt
wird, wiederholt. Wenn ein Befehlspaket an dem SCSI-Bus aus 6 Bytes
besteht, werden, nach Empfang eines 6-Byte-Befehlspakets, in Schritt 210 Platzhalterdaten zu
dem ATAPI-Bus abgeschickt.
-
Die
ATAPI-spezifizierte Festplatte 31 des ATAPI-Busses gibt,
bei Empfang des Befehlspakets, ein In-Betrieb-Signal an den ATAPI-Bus
aus. Obwohl übrigens
der ATAPI-Bus verschiedene Prozessarten ausführt, indem er Signale in ein
Aufgabendateiregister schreibt, wird hier, der Einfachheit halber,
seine Operation ausgedrückt
als Ausgabe eines In-Betrieb-Signals.
-
Der
Busumformungsadapter 40, der in Schritt 212 auf
die Ausgabe des Besetztsignals wartet, bewertet in Schritt 214,
ob das vorgenannte Befehlspaket Lesen oder Schreiben anweist, und
wenn es Lesen anweist, schaltet es zur Dateneingabephase, oder wenn
es Schreiben anweist, schaltet es zur Datenausgabephase.
-
Bei
der Dateneingabephase werden Daten in den Busumformungsadapter 40 von
dem ATAPI-Bus eingegeben und an den SCSI-Bus ausgegeben. Wie in 9 gezeigt,
liest der Busumformungsadapter 40 in Schritt 302 Wortdaten,
die von der ATAPI-spezifizierten Festplatte 31 auf dem
ATAPI-Bus abgeschickt werden, und liefert in Schritt 304 nur
die geradzahligen Adressdaten von diesen durch zu dem SCSI-Bus und
speichert die ungeradzahligen Adressdaten in einem Puffer. Dann
liefert er in Schritt 306 zur nächsten Datenausgabezeit die
in dem Puffer gespeicherten Daten zu dem SCSI-Bus. Und in Schritt 310 bewertet er,
ob nur jene Daten, die durch das Befehlspaket bezeichnet wurden, übertragen
worden sind oder nicht, und wiederholt den oben beschriebenen Prozess,
bis die Übertragung
abgeschlossen ist. Wenn andererseits die Datenübertragung abgeschlossen worden ist,
schaltet er zur Statusphase. Wenn jedoch während dieser Datenübertragung
irgendein Fehler aufgetreten ist, wird in Schritt 312 ein
Fehlerflag gesetzt, nach Durchgang zu Schritt 308, und
diese Dateneingabephase werden fertiggestellt, ohne auf den Abschluss
von Schritt 310 zu warten, gefolgt durch ein Schalten zur
Statusphase.
-
Oder
wenn der Befehl zum Schreiben ist, findet ein Schalten zur Datenausgabephase,
in 10 gezeigt, statt. Wenn in dieser Datenaungabephase
in Schritt 402 die ersten Bytedaten von dem SCSI-Bus eingegeben
werden, wird der Arbeitsbereich für Wortdaten für geradzahlige
Adressdaten gesetzt; wenn in Schritt 404 die zweiten Bytedaten
von dem SCSI-Bus eingegeben werden, wird der Arbeitsbe reich für Wortdaten
für ungeradzahlige
Adressdaten gesetzt; und in Schritt 406 werden Wortdaten
in diesem Arbeitsbereich zu dem ATAPI-Bus geliefert. Sowohl der
SCSI-Bus als auch der ATAPI-Bus behandeln Transfers in vorgeschriebenen
Blockeinheiten, wie etwa Sektoren, und, da die Länge eines Blocks geradzahlig
ist, es ist unmöglich,
dass der Datentransfer ohne jegliche Daten abgeschlossen wird, die von
dem SCSI-Bus eingegeben werden, der Wortdaten darstellt. Jedoch
kann der Prozess zum Abschluss auf diesem Weg nach Bedarf hinzugefügt werden,
mit der Möglichkeit,
dass eine ungerade Zahl berücksichtigt
wird.
-
Bei
Abschluss der Dateneingabe von dem SCSI-Bus ohne Fehler findet ein
Schalten zu der Statusphase statt, oder wenn auf dem Wege irgendein Fehler
auftritt, wird, nach Gang zu Schritt 408, in Schritt 412 ein
Fehlerflag gesetzt sowie ein Schalten zur Statusphase, ohne den
Abschluss von Schritt 410 abzuwarten.
-
In
der Statusphase, wie in 11 gezeigt, verändert der
Busumformungsadapter 40 die Inhalte und Berichte an den
SCSI-Bus in Abhängigkeit
davon, ob in Schritt 502 ein Fehlerflag gesetzt ist oder nicht.
Wenn somit kein Fehlerflag gesetzt ist, wird er in Schritt 504 berichten,
dass der Prozess in einem "GUTEN" Zustand in der Dateneingabephase
oder in der Datenausgabephase abgeschlossen wurde, oder wenn ein
Fehlerflag gesetzt wird, wird er in Schritt 506 berichten,
dass in der Dateneingabephase oder in der Datenausgabephase ein
Fehler aufgetreten ist, und schaltet zu der Meldephase.
-
In
der Meldephase wird, wie in 12 gezeigt,
in Schritt 602 "Befehl
abgeschlossen" berichtet, um
zu zeigen, dass das, was durch den Computer angewiesen wurde, beendet
worden ist, unabhängig vom
Vorhandensein oder Fehlen eines Fehlers, und in Schritt 604 wird
der Bus befreit. Dies führt
wiederum zu der freien Busphase. Wenn natürlich ein Fehler vorlag, wird
der Computer bewirken, dass ein ähnlicher
Prozess wiederholt wird.
-
Wie
oben beschrieben, macht es diese Art der Implementierung möglich, unter
Verwendung des Busumformungsadapters 40, die mit dem SCSI-Bus verbundene
ATAPI-spezifizierte Festplatte 31 zu verwenden.
-
Hier
kann auch bei der Busumformung ein größerer Vorteil durch Fokussierung
auf eine bestimmte Funktion erreicht werden, als jene zur Verwendung
an Peripherievorrichtungen an einem anderen Bus verfügbar zu
machen. Wenn sie zum Beispiel nur an der ATAPI-spezifizierten Festplatte
gemäß den SCSI-Spezifikationen
genutzt werden soll, ist es nicht erforderlich, sie in jedem Aspekt
der SCSI-Spezifikationen
adaptierbar zu machen, sondern es wird ausreichen, sie auf einem
begrenzten Bereich von Befehlen ansprechen zu lassen. Dementsprechend gäbe es eine
entsprechende Minderung in der Überhanglast,
und der Befehlsinterpretationsteil kann in die Lage versetzt werden,
schneller zu arbeiten.
-
Die
Burst-Transfergeschwindigkeit gemäß den SCSI-Spezifikationen
ist maximal 10 MBytes/sec, und die effektive Geschwindigkeit beträgt höchstens
3 bis 5 MBytes/sec. Im Gegensatz hierzu beträgt die Transfergeschwindigkeit
gemäß den ATAPI-Spezifikationen
maximal 16,6 MBytes/sec, was tatsächlich realisiert wird, und
dementsprechend wird es möglich
gemacht, die Geschwindigkeit zu erhöhen, indem die ATAPI-spezifizierte
Festplatte mit dem SCSI-Bus verbunden wird.
-
Der
Busumformungsadapter 40, der so zum Anschluss an die ATAPI-spezifizierte
Festplatte 31 dient, besteht aus der Busbreitenänderungslogik 41, der
Schnittstellenänderungslogik 42,
der SCSI-Steuerlogik 43 und der ATAPI-Steuerlogik 44,
und ermöglicht
die Anpassung des SCSI-Busses und des ATAPI-Busses durch Anpassung
der Befehlssysteme, während
die Busbreite zwischen dem SCSI-Bus und dem ATAPI-Bus während des
Schattens zwischen den acht Phasen des SCSI-Busses geändert wird.
-
In
dem oben beschriebenen Implementationsmodus wird die Befehlsumwandlung
lediglich dadurch erreicht, dass Platzhalterdaten an der ATAPI-Seite
hinzugefügt
werden, in dem Sinne, dass die ATAPI-spezifizierte Festplatte 31 mit
dem SCSI-Bus verbunden
wird. Jedoch passen, wenn man Festplatten allgemein berücksichtigt,
viele zu den ATA-Spezifikationen (den sogenannten IDE-Spezifikationen), wobei
aber die oben beschriebenen ATAPI-Spezifikationen ein überragendes
Konzept darstellen und daher nicht notwendigerweise mit dem Befehlssystem einer
ATA-spezifizierten Festplatte kompatibel gemacht werden müssen. Natürlich überlappen
sie einander beim Lesen und Schreiben von Daten, die zu den intrinsischen
Spezifikationen einer Festplatte gehören, und der Unterschied liegt
lediglich in dem Befehlssystem.
-
13 ist
ein schematisches Blockdiagramm eines Busumformungsadapters zum
Anschließen
einer solchen IDE-spezifizierten Festplatte an einen SCSI-Bus, um
diese zum Ziel-Laufwerk zu machen; 14 zeigt
dessen äußeres Erscheinungsbild
in Perspektivansicht; und 15 stellt
dar, wie er an der Festplatte angebracht ist, in Perspektivansicht.
-
Im
Falle des Busumformungsadapters 70 wird in dieser Implementationsart,
schematisch gesagt, die Befehlsumwandlung mit einer CPU 71a realisiert,
und gleichzeitig wird die Datenumformung mit einem DMA-Controller 71b realisiert.
Natürlich
steuert die CPU 71a auch den vorgenannten DMA-Controller 71b gleichzeitig.
Hier speichert ein ROM 71c das Steuerprogramm für die CPU 71a,
und der SCSI-Buscontroller 71d realisiert
sowohl die Basisverschaltung mit dem SCSI-Bus als auch die Veränderung
der Datenbusbreite. Somit sind, in Bezug auf die Busdatenbreite,
wie in 3 dargestellt, die Daten auf einer IDE-Bus-spezifizierten
Festplatte 80 auf einer Wortbasis, während die Daten auf dem SCSI-Bus nur
auf Bytebasis sind, und dieser SCSI-Buscontroller 71d selbst
verändert
diese Datenbusbreite automatisch. Daher ist es für die CPU 71a nicht
erforderlich, jeglichen Unterschied in der Datenbusbreite zu jeder
Zeit zu berücksichtigen.
-
Ferner
ist, wie in 14 und 15 gezeigt, dieser
Busumformungsadapter 70 mit einem Verbindungsanschluss 75a für den SCSI-Bus
sowie einen Verbindungsanschluss 75b für den IDE-Bus versehen, und
durch Befestigen eines vorbestimmten Verbinders an der IDE-Bus-spezifizierten
Festplatte 80 durch Bolzen kann die Festplatte 80 als
mit einer SCSI-Bus-spezifizierten Festplatte identisch angesehen werden.
-
Als
Nächstes
ist 16 ein Blockdiagramm, das mehr funktionell den
in 13 gezeigten Busumformungsadapter darstellt. In
diesem Busumformungsadapter 72 ist, während eine CPU 72a,
ein SCSI-Buscontroller 72b und ein ROM 72c im
Wesentlichen die gleichen sind wie im Vorstehenden, dessen Konfiguration
mit einer Befehlsdatenmultiplexschaltung 72d zum Eingeben/Ausgeben
von Befehlen von Daten zu und von dem IDE-Bus, einer Datenumwandlungsschaltung 72e und
einem Datenpuffer 72f zur Verwendung bei der Dateneingabe/-ausgabe
versehen. Während
ferner in diesem Beispiel eine Vereinfachung des Schaltkreises durch
Verwendung des SCSI-Buscontrollers 72b versucht wird, kann
auch der SCSI-Buscontroller 72b weggelassen werden,
wenn eine Verschaltung mit dem SCSI-Bus mit Software in der CPU 72a realisiert
wird, wie in 17 gezeigt.
-
Eine
Konfiguration zum Beseitigen des Unterschieds in dem Befehlssystem
zwischen dem IDE-Bus und dem SCSI-Bus, und um Datentransfers durch
Beseitigen des Unterschieds im Datenbus möglich zu machen, erfordert
nicht notwendigerweise die Zwischenschaltung einer CPU, sondern
es sind viele andere Konfigurationen verfügbar.
-
Der
in 18 gezeigte Busbreitenveränderungsadapter 73,
der eine Konfiguration unter Verwendung eines digitalen Mehrzwecksignalprozessors
oder dgl. repräsentiert,
ist, zusätzlich
zu dem digitalen Signalprozessor oder einem CPU-Kern 73a, mit
einem Programm-ROM 73b versehen, und andere Elemente der
Konfiguration beinhalten eine Befehlsdatenmultiplexerschaltung 73c zur
Eingabe/Ausgabe von Befehlen von Daten zu und von dem IDE-Bus, eine
Datenumwandlungsschaltung 73d und einen Datenpuffer 73e zur
Verwendung bei der Eingabe/Ausgabe von Daten.
-
In
dem in 19 dargestellten Busumformungsadapter 74 wird
das Ziel allein mit Logikschaltungen der Hardware realisiert, und
deren Konfiguration umfasst eine Befehlsdatenmultiplexerschaltung 74a zur
Eingabe/Ausgabe von Befehlen und Daten zu und von dem IDE-Bus, eine
Befehlsdekodierschaltung 74b zum Dekodieren von Befehlen
an der SCSI-Seite, eine Befehlsumwandlungsschaltung 74c zum
Umwandeln in Befehle für
den IDE-Bus auf der Basis des Dekodierergebnisses, eine Befehlsumwandlungsschaltung 74d zum
Umwandeln von Befehlen für
den IDE-Bus in Befehle für
den SCSI-Bus, sowie eine Befehlskodierschaltung 74e, zur
tatsächlichen
Ausgabe von umgewandelten Befehlen zu dem SCSI-Bus, ferner versehen
mit einer Datenumwandlungsschaltung 74f ähnlich zur
vorgenannten, und einem Datenpuffer 74g zur Verwendung
bei der Eingabe/Ausgabe von Daten.
-
Dort,
wo alles mit Hardwarelogikschaltungen realisiert werden soll, kann
die Prozessgeschwindigkeit verbessert werden, wobei aber die Schaltungskonfiguration
komplexer wird.
-
Als
Nächstes
wird, noch einmal in Bezug auf den in 13 gezeigten
Implementationsmodus, deren Funktion beschrieben.
-
20 vergleicht
das Befehlssystem auf dem SCSI-Bus und das auf dem IDE-Bus. Übrigens ist
die Darstellung des Diagramms auf einem genaueren Niveau als die
in 6 gezeigten Phasenumschaltungen. Wie oben gesagt,
entsprechen die Phasenumschaltungen auf dem SCSI-Bus der Sequenz auf
dem IDE-Bus. Ferner entspricht die Befehlsphase auf dem SCSI dem
Prozess auf der IDE-Bus-spezifizierten Festplatte 80, um
einen vorgeschriebenen Wert in ein Register zu setzen und einen
Befehl auszugeben.
-
Als
ein Beispiel davon, wie ein SCSI-Lesebefehl umgewandelt wird, ist
in 21 dargestellt. Während eine logische Adresse
und die Anzahl der übertragenen
Blöcke
zusammen mit einem Befehl in der Befehlsphase an dem SCSI eingegeben
werden, sollte, um den Befehl zu der IDE-Bus-spezifizierten Festplatte 80 auszugeben,
diese in einem Zustand ausgegeben werden, worin die logische Adresse
und die Anzahl der Blöcke
in ein vorgeschriebenes Register gestellt sind. In diesem Fall wird
natürlich
der Befehl auf dem SCSI-Bus in einen auszugebenden Befehl für den IDE-Bus
umgewandelt.
-
22 ist
eine Tabelle, welche die Beziehungen der Entsprechung zwischen den
SCSI-Befehlen und den IDE-Befehlen aufzeigt, die benötigt werden,
wenn eine gewöhnliche
Festplatte verwendet werden soll. Die Befehle sind in solche klassifiziert,
deren Realisierung erforderlich ist, quasi-erforderlich ist oder
optional, ge mäß dem Inhalt
und dem Niveau.
-
Wenn
auf diese Weise ein SCSI-Lesebefehl in einen IDE-Bus-Befehl umgewandelt
worden ist, wird der Datentransfer gestartet. Dort, wo ein Unterschied
im Befehlssystem mit Software verarbeitet werden soll, muss die
CPU 71a in die Eingabe/Ausgabe eingreifen, und die Transfergeschwindigkeit sinkt
unvermeidlich, weil das Verarbeiten der Einlesedaten, eine Durchlassbewertung
der Einlesedaten und die Auslieferung derselben erforderlich ist.
Aus diesem Grund wird in dieser Implementationsart der Datentransfer
durch ein DMA-System realisiert, das durch den DMA-Controller 71b bereitgestellt
wird. Übrigens
ist dieser Fall im strikten Sinne nicht DMA, sondern er wird als
DMA in dem Sinne bezeichnet, dass Daten unter Verwendung eines Busses
transferiert werden, ohne dass eine sogenannte zwischengeschaltete
CPU vorgesehen ist.
-
Der
Steuerfluss während
eines DMA-Transfers dort, wo der DMA-Transfer durch den SCSI-Buscontroller 71d unterstützt wird,
ist in 23 gezeigt. Wie dargestellt,
wird das Statusregister an der IDE-Busseite in Schritt 702 eingelesen,
und dieser Vorgang wird wiederholt, bis in Schritt 704 bewertet
wird, dass die Vorbereitung abgeschlossen worden ist. Dies ist ein
Vorgang zur Bestätigung,
dass die IDE-Busseite
nicht in einem Besetztzustand ist, und danach wird in Schritt 706 das
Laufwerkkopfregister des IDE-Busses gesetzt. In Schritt 708 wird
der Status der IDE-Busseite erneut eingelesen, um zu bewerten, ob
die Vorbereitung abgeschlossen worden ist oder nicht.
-
Wenn
die IDE-Busseite für
den Datentransfer bereit ist, werden in Schritt 710 die
logische Transferadresse und die Anzahl von zu überführenden Sektoren für die IDE-Busseite
gesetzt, und in Schritt 712 wird ein Transferbefehl zu
der IDE-Busseite gesetzt. Schritt 714 ist ein Verarbeitungsprozess
zur Bewertung, ob die Vorbereitung für die Daten an der IDE-Busseite
abgeschlossen worden ist oder nicht, und wenn die Vorbereitung abgeschlossen
ist, wird in Schritt 716 die Übertragungsrichtung angewiesen und
wird der DMA-Transfer gestartet.
-
Beim
Start des DMA-Transfers wird die CPU 71a freigegeben. Und,
wenn bei Ab schluss des DMA-Transfers der DMA-Controller 71b in
die CPU 71a hinein unterbricht, prüft die CPU 71a jeden
Status in Schritt 718, und wenn sie in Schritt 720 bewertet,
dass kein Fehler aufgetreten ist, komplettiert sie den DMA-Transferprozess,
oder wenn sie bewertet hat, dass irgendein Fehler aufgetreten ist,
komplettiert sie den DMA-Transferprozess nach Beseitigung des Fehlers
in Schritt 722.
-
Der
Prozess der Fehlermeldung von dem IDE-Bus zu dem SCSI ist in 24 dargestellt.
Da dies entsprechend der SCSI-Prozedur zu erfolgen hat, wird, durch
Meldung des Fehlerstatus an dem IDE-Bus als Prüfbedingung in der Statusphase
des SCSI, der SCSI in die Lage versetzt, eine Anforderungsprüfung in
der nächsten
Befehlsphase des SCSI auszugeben, und dementsprechend wird ein Fehlercode
in der Dateneingabephase gemeldet.
-
Natürlich ist
die oben beschriebene Befehlsumwandlung lediglich ein Beispiel des
Prozesses, der zwischen dem SCSI-Bus und dem IDE-Bus erreicht werden
soll, wobei aber die Umwandlung auch sehr flexibel durch Nutzung
der CPU 71a realisiert werden kann.