-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Datenübertragungssteuersystem, ein
elektronisches Werkzeug, ein Programm sowie ein Datenübertragungssteuerverfahren.
-
In
den vergangenen Jahren hat eine IEEE 1394 genannte Schnittstellennorm
Aufmerksamkeit erregt. Nicht nur Peripheriegeräte von Rechnern, beispielsweise
Festplattenlaufwerke, Bildplattenlaufwerke, Drucker und Scanner
können
gemäß dieser IEEE
1394 mit einem Bus verbunden werden, sondern auch elektrische Hausgeräte, wie
Videokameras, Videorecorder und Fernsehgeräte. Aus diesem Grund wird erwartet,
daß mit
dieser Norm eine dramatische Beschleunigung der Digitalisierung
elektronischer Werkzeuge (instruments) möglich wird.
-
Wenn
gemäß dem IEEE
1394 eine an einen Bus angeschlossene Anzahl Knoten geändert wird, beispielsweise
wenn ein zusätzliches
elektronisches Werkzeug mit dem Bus verbunden oder ein elektronisches
Werkzeug vom Bus entfernt wird, kommt es zu einer Busrücksetzung.
Wenn eine Busrücksetzung geschieht,
wird die Knotentopologieinformation gelöscht. Nach der Busrücksetzung
wird die Knotentopologieinformation automatisch wieder hergestellt.
-
Da
die Knotentopologieinformation gemäß IEEE 1394 nach der Busrücksetzung
automatisch wiederhergestellt wird, ergibt sich ein sogenannter "heißer Stecker". Das bedeutet, daß ein Benutzer
jederzeit elektronische Werkzeuge hineinstecken und herausziehen
kann, wie er das mit herkömmlichen elektrischen
Hausgeräten,
beispielsweise Videorecordern tut. Das trägt dazu bei, Netzsysteme zuhause
beliebter zu machen.
-
Aber
durch diese Busrücksetzung
können verschiedene
Probleme verursacht werden. Wenn ein Befehl an ein Festplattenlaufwerk
ausgegeben wird (oder eine Speichervorrichtung in weiterem Sinn oder
eine Vorrichtung in weiterem Sinn) und eine Übertragung mit direktem Speicherzugriff
(DMA) in Gang gesetzt wird und dann während der DMA-Übertragung
eine Busrücksetzung
geschieht, kann das Festplattenlaufwerk beispielsweise einen Hänger erleiden.
-
Als
herkömmliche
Technik zum Lösen
verschiedener durch das Auftreten einer Busrücksetzung verursachter Probleme
ist zum Beispiel ein in der japanischen offengelegten Patentanmeldung
Nr. 2001-177537 (US 2001/0042141 A1) offenbartes Verfahren bekannt.
Auf diesen Stand der Technik wird weiter unten in dieser Beschreibung
noch näher eingegangen.
-
KURZE ZUSAMMENFASSUNG
DER ERFINDUNG
-
Angesichts
der oben beschriebenen technischen Schwierigkeit kann die vorliegende
Erfindung ein Datenübertragungssteuersystem,
ein elektronisches Werkzeug, ein Programm und ein Datenübertragungssteuerverfahren
bieten, mit denen ein an die Vorrichtung ausgegebener Befehl abgebrochen
werden kann.
-
Dieses
Ziel wird mit einem Datenübertragungssteuersystem
gemäß Anspruch
1, einem elektronischen Werkzeug gemäß Anspruch 9, einem Programm
gemäß Anspruch
10 und einem Verfahren gemäß Anspruch
13 erreicht. Bevorzugte Ausführungsbeispiele
der Erfindung sind der Gegenstand der abhängigen Ansprüche.
-
Bei
diesem Datenübertragungssteuersystem wird
der vom Befehlspaket angezeigte, durch den ersten Bus übertragene
Befehl an die mit dem zweiten Bus verbundene Vorrichtung ausgegeben
und die DMA-Übertragung
begonnen. Der an die mit dem zweiten Bus verbundene Vorrichtung
ausgegebene Befehl wird nach Beendigung der DMA-Übertragung abgebrochen (oder
aufgehoben). Das verhindert das Auftauchen eines Problems, wie eines
Blockierens der mit dem zweiten Bus verbundenen Vorrichtung, wenn
die DMA-Übertragung
nicht normal vollendet wird, wodurch der an die Vorrichtung ausgegebene Befehl
zweckmäßig abgebrochen
werden kann. Es sei noch erwähnt,
daß der
erste Bus ein Bus sein kann, der Daten überträgt, die einer ersten Schnittstellennorm
entsprechen, während
der zweite Bus ein Bus sein kann, der beispielsweise einer zweiten Schnittstellennorm
entspricht.
-
Das
Datenübertragungssteuersystem
kann ferner einen Befehlsvergleichsteil aufweisen, in welchem der
Inhalt eines über
den ersten Bus übertragenen
Befehlspaketes vor einer Busrücksetzung
mit dem Inhalt eines zweiten Befehlspakets verglichen wird, welches
nach der Busrücksetzung über den ersten
Bus übertragen
wird, wenn die die Knotentopologieinformation löschende Busrücksetzung
während
der Verarbeitung des ersten Befehlspakets aufgetreten ist, wobei
der Befehlsabbruchteil einen Befehl, der an die mit dem zweiten
Bus aufgrund des ersten Befehlspaketes verbundene Vorrichtung ausgegeben
wurde, abbrechen kann, wenn eine DMA-Übertragung vollendet ist, die
auf der Grundlage des ersten Befehlspaketes begonnen wurde, wenn
sich herausstellt, daß der
Inhalt des ersten Befehlspakets sich vom Inhalt des zweiten Befehlspakets
unterscheidet.
-
Wenn
der Inhalt des ersten und zweiten Befehlspaketes als gleich festgestellt
wird, kann die Datenübertragung
ab dem Punkt des Auftretens der Busrücksetzung wieder aufgenommen
werden.
-
Wenn
bei diesem Datenübertragungssteuersystem
eine Busrücksetzung,
die Knotentopologieinformation löscht,
während
der Verarbeitung eines ersten Befehlspaketes auftritt, kann der
Befehl des ersten Befehlspakets abgebrochen werden, falls ein Befehl
des ersten Befehlspakets an die mit dem zweiten Bus verbundene Vorrichtung
ausgegeben wurde, und, falls der Befehl des ersten Befehlspakets
nicht an die mit dem zweiten Bus verbundene Vorrichtung ausgegeben
wurde, kann die Verarbeitung eines zweiten Befehlspakets beginnen,
ohne den Befehl des ersten Befehlspakets abzubrechen.
-
Mit
diesem Datenübertragungssteuersystem kann
der Befehlsabbruchteil Scheindatenübertragungen zur und von der
mit dem zweiten Bus verbundenen Vorrichtung steuern, bis die DMA-Übertragung vollendet
ist.
-
Hierbei
kann die Scheindatenübertragung dadurch
gesteuert werden, daß eine
Scheinaktualisierung an einem Zeiger eines Paketpuffers vorgenommen
wird, der übertragene
Daten zeitweilig speichert, oder durch das Anordnen von Hardware
für die Scheindatenübertragung.
Die Scheindaten können beispielsweise
Daten sein, die über
den zweiten Bus, aber nicht über
den ersten Bus übertragen
werden.
-
Mit
diesem Datenübertragungssteuersystem kann
der Befehlsabbruchteil einen Befehl auch ohne Steuern einer Scheindatenübertragung
abbrechen, wenn zum Feststellen, ob der Befehl abzubrechen ist oder
nicht, keine DMA-Übertragung
durchgeführt wird.
Das bedeutet, daß die
Verarbeitung einer Scheindatenübertragungssteuerung
weggelassen werden kann, wodurch der Wirkungsgrad der Verarbeitung
verbessert werden kann.
-
Das
Datenübertragungssteuersystem
kann ferner folgendes aufweisen: einen Zeigerverwaltungsteil, der
Zeiger für
einen Paketpuffer, bei dem es sich um einen Ringpuffer handelt,
verwaltet und übertragene
Daten zeitweilig speichert. Der Zeigererwaltungsteil aktualisiert
immer dann einen ersten Zeiger, wenn vom zweiten Bus übertragene
Daten in den Paketpuffer geschrieben werden, und er aktualisiert
einen zweiten Zeiger immer dann, wenn an den ersten Bus zu übertragende
Daten aus dem Paketpuffer gelesen werden. Dabei kann der Befehlsabbruchteil
die Scheindatenübertragung
dadurch steuern, daß er eine
Scheinaktualisierung am zweiten Zeiger vornimmt, so daß der erste
Zeiger keinen Vorsprung vor dem zweiten Zeiger bekommt.
-
Das
Datenübertragungssteuersystem
kann ferner folgendes aufweisen: einen Zeigerverwaltungsteil, der
Zeiger für
einen Paketpuffer, bei dem es sich um einen Ringpuffer handelt,
verwaltet und übertragene
Daten zeitweilig speichert, wobei der Zeigerverwaltungsteil einen
dritten Zeiger immer dann aktualisiert, wenn an den zweiten Bus
zu übertragende Daten
aus dem Paketpuffer gelesen werden, und auch einen vierten Zeiger
immer dann aktualisiert, wenn vom ersten Bus übertragene Daten in den Paketpuffer
geschrieben werden. Dabei steuert der Befehlsabbruchteil die Scheindatenübertragung
dadurch, daß er
am vierten Zeiger eine Scheinaktualisierung vornimmt, so daß der dritte
Zeiger keinen Vorsprung vor dem vierten Zeiger bekommt.
-
In
diesem Datenübertragungssteuersystem kann
der erste Bus Daten überfragen,
die der Norm IEEE 1394 entsprechen, und der zweite Bus kann Daten übertragen,
die der Norm ATA/ATAPI (Advanced Technology Attachment/Advanced
Technology Attachment Packet Interface) entsprechen.
-
KURZBESCHREIBUNG
DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNG
-
Es
zeigt:
-
1 ein
Diagramm eines Schichtaufbaus gemäß IEEE 1394 und Serial Bus
Protocol 2 (SBP-2);
-
2 ein
Diagramm einer Zusammenfassung der Verarbeitung von SBP-2;
-
3 ein
Diagramm einer Befehlsverarbeitung für den Fall der Übertragung
von Daten von einem Initiator an ein Ziel gemäß SBP-2;
-
4 ein
Diagramm der Befehlsverarbeitung für den Fall einer Übertragung
von Daten von einem Ziel zu einem Initiator gemäß SBP-2;
-
5A bis 5C Diagramme
zur Erläuterung
einer Seitentabelle;
-
6 ein
Diagramm von Knotentopologieinformation, die durch eine Busrücksetzung
gelöscht wird;
-
7A und 7B Diagramme
zur Erläuterung
eines Problems, welches auftritt, wenn eine Busrücksetzung während der Datenübertragung
geschieht;
-
8 ein
Diagramm eines Konfigurationsbeispiels eines Datenübertragungssteuersystems und
eines elektronischen Werkzeugs in einem Ausführungsbeispiel der vorliegenden
Erfindung;
-
9 ein
Fließschema
einer detaillierten Verarbeitung gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung;
-
10 ein
Fließschema
einer detaillierten Verarbeitung gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung;
-
11 ein
Diagramm der Wiederaufnahmeverarbeitung der Datenübertragung;
-
12 ein
Diagramm eines Vergleichs der Inhalte von Operationsanforderungsblöcken (ORB);
-
13 ein
Diagramm einer Befehlsabbruchverarbeitung;
-
14A bis 14E Diagramme
einer Zeitsteuerung (beim Lesen), um die Verarbeitung einer Scheindatenübertragung
zu verwirklichen;
-
15A bis 15E Diagramme
einer Zeitsteuerung (beim Schreiben), um die Verarbeitung einer
Scheindatenübertragung
zu verwirklichen;
-
16 ein
Diagramm eines Konfigurationsbeispiels einer ATA/ATAPI-Schnittstellenschaltung;
-
17A und 17B Wellenverlaufdiagramme
von Signalverlaufsbeispielen während
des PIO-Lesens und PIO-Schreibens;
-
18A und 18B Wellenformdiagramme
von Signalverlaufsbeispielen während
des DMA-Lesens und DMA-Schreibens;
-
19A und 19B Wellenverlaufdiagramme
von Signalverlaufsbeispielen während
des UltraDMA-Lesens
und UltraDMA-Schreibens.
-
DETAILLIERTE
BESCHREIBUNG DES AUSFÜHRUNGSBEISPIELS
-
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend beschrieben. Es sei
erwähnt,
daß die
nachstehend beschriebenen Ausführungsbeispiele
in keiner Weise den Umfang der Erfindung, wie in den Ansprüchen umrissen,
einschränken.
Darüber
hinaus sollten alle Elemente der nachfolgend beschriebenen Ausführungsbeispiele
nicht als wesentliche Erfordernisse der vorliegenden Erfindung aufgefaßt werden.
-
1. IEEE 1394 und SBP-2
-
1.1. Schichtaufbau
-
Ein
Protokoll namens Serial Bus Protocol 2 (SBP-2) wurde als ein Protokoll
höherer
Ebene vorgeschlagen und schließt
einen Teil einer Funktion einer Transaktionsschicht der IEEE 1394
ein. SBP-2 (SBP in einem weiteren Sinn) ist vorgeschlagen worden,
damit ein Befehlssatz von SCSI (MMC-2) auf dem Protokoll der IEEE
1394 verwendet werden kann. SBP-2 macht es möglich, einen Befehlssatz, der
bereits in einem elektronischen Werkzeug entsprechend der SCSI Norm
benutzt wurde, in einem elektronischen Werkzeug entsprechend der
Norm IEEE 1394 zu benutzen, wenn lediglich minimale Änderungen
am Befehlssatz vorgenommen werden. Aus diesem Grund kann die Auslegung
und Entwicklung eines elektronischen Werkzeugs erleichtert werden.
-
In 1 ist
ein Schichtaufbau (oder ein Protokollstapel) gemäß IEEE 1394 und SBP-2 schematisch
dargestellt. Die Protokolle IEEE 1394 (IEEE 1394-1995, P1394a, P1394b,
usw.) umfassen eine Transaktionsschicht, eine Verbindungsschicht
und eine physikalische Schicht. Die Transaktionsschicht bietet eine
obere Schicht mit einer Schnittstelle (Dienstleistung) in einer
Transaktionseinheit und führt
Transaktionen, wie Lesen, Schreiben und eine Einrasttransaktion über eine
von der Verbindungsschicht gebotene Schnittstelle in einer tieferen Schicht
durch.
-
Bei
der Lesetransaktion werden Daten von einem Rückmelderknoten zu einem Anfordererknoten übertragen.
Bei der Schreibtransaktion werden Daten vom Anfordererknoten an
den Rückmelderknoten übertragen.
Bei der Einrasttransaktion werden Daten vom Anfordererknoten zum
Rückmelderknoten übertragen,
und der Rückmelderknoten
verarbeitet die Daten und schickt die verarbeiteten Daten an den
Anfordererknoten zurück.
-
Die
Verbindungsschicht sorgt für
Adressieren, Daten prüfen,
Rahmen von Daten für
die Paketüber mittlung
und Empfang, zyklische Steuerung für isochrone Übertragung
und dergleichen.
-
Die
physikalische Schicht übersetzt
von der Verbindungsschicht verwendete logische Symbole in elektrische
Signale, entscheidet für
den Bus und bietet eine physikalische Busschnittstelle.
-
Wie
aus 1 hervorgeht, bietet eine SBP-2-Schicht ein Protokoll
höherer
Ebene einschließlich
eines Teils der Funktion der Transaktionsschicht gemäß IEEE 1394
(erste Schnittstellennorm in weiterem Sinn).
-
1.2. Verarbeitung von
SBP-2
-
2 ist
ein Fließschema
der gesamten Verarbeitung von SBP-2 (erstes Protokoll höherer Ebene der
ersten Schnittstellennorm im weiteren Sinn). Im SBP-2 erfolgt die
Leseverarbeitung eines Konfigurations-ROM zum Bestätigen angeschlossener
Vorrichtungen, wie in 2 gezeigt (Schritt T1). Es erfolgt eine
Anmeldeverarbeitung (Schritt T2), um es einem Initiator (z.B. PC)
zu erlauben, ein Zugangsrecht zu einem Ziel (z.B. Speichervorrichtung)
zu erwerben (Erlaubnis zum Initiieren anfordern; Recht zur Benutzung
des Bus). Im einzelnen wird die Anmeldeverarbeitung mit Hilfe eines
Anmelde-Operationsanforderungsblocks (ORB) durchgeführt, den
der Initiator erzeugt. Ein Abrufagent wird initialisiert (Schritt
T3). Die Befehlsverarbeitung wird mit Hilfe eines Befehlsblock-ORB (normaler Befehl
ORB) (Schritt T4) durchgeführt,
und die Abmeldeverarbeitung wird mit Hilfe eines Abmelde-ORB (Schritt
T5) durchgeführt.
-
Bei
der Befehlsverarbeitung im Schritt T4 überträgt der Initiator ein Schreibanforderungspaket (gibt
eine Schreibanforderungstransaktion aus) an ein Türklingelregister
des Ziels, wie mit A1 in 3 angedeutet. Das Ziel überträgt ein Leseanforderungspaket,
und der Initiator schickt ein dem Leseanforderungspaket entsprechendes
Leseantwortpaket zurück,
wie mit A2 angedeutet. Das macht es möglich, den vom Initiator erzeugten
ORB (Befehlsblock ORB) in einem Datenpuffer (Paketpuffer) des Ziels abzurufen.
Das Ziel analysiert einen Befehl, der in dem im Datenpuffer abgerufenen
ORB enthalten ist.
-
Wenn
der im ORB enthaltene Befehl ein SCSI Schreibbefehl ist, überträgt das Ziel
ein Leseanforderungspaket an den Initiator, und der Initiator schickt
ein Leseantwortpaket entsprechend dem Leseanforderungspaket zurück, wie
mit A3 angedeutet. Das ermöglicht
die Übertragung
von in einem Datenpuffer des Initiators gespeicherten Daten an das
Ziel. Für
den Fall, daß das
Ziel eine Speichervorrichtung ist, werden die übertragenen Daten in die Speichervorrichtung
eingegeben.
-
Wenn
der im ORB enthaltene Befehl ein SCSI Lesebefehl ist, überträgt das Ziel
eine Reihe von Leseanforderungspaketen an den Initiator, wie mit
B1 in 4 angedeutet. Für den Fall, daß es sich bei
dem Ziel um eine Speichervorrichtung handelt, werden aus der Speichervorrichtung
gelesene Daten an den Datenpuffer des Initiators übertragen.
-
Gemäß SBP-2
kann das Ziel je nach Zweckmäßigkeit
Daten durch Übertragen
eines Anforderungspakets (Ausgabe einer Transaktion) übermitteln oder
empfangen. Da es also unnötig
ist, daß der Initiator
und das Ziel synchronisiert zusammenarbeiten, kann die Wirksamkeit
der Datenübertragung
erhöht werden.
-
Als
ein Protokoll höherer
Ebene gemäß IEEE 1394
ist zusätzlich
zum SBP-2, welches zur Datenübertragung
einer Speichervorrichtung oder eines Druckers geeignet ist, ein
AV/C-Befehl vorgeschlagen worden, der sich zum Übertragen von Bild- und Tondaten
eignet. Als Protokoll zum Übertragen
von Internetprotokollpaketen (IP) auf dem IEEE 1394 Bus ist auch
ein Protokoll namens IPover 1394 vorgeschlagen worden.
-
Beim Übertragen
von Daten zwischen dem Ziel und dem Initiator kann es einen Fall
geben, bei dem eine Seitentabelle im Datenpuffer des Initiators (PC
oder Partnerknoten) vorhanden ist, wie in 5A gezeigt,
und auch einen Fall, bei dem im Datenpuffer des Initiators keine
Seitentabelle vorhanden ist. Bei Vorhandensein einer Seitentabelle
ist die Seitentabellenadresse und die Anzahl Elemente in einem vom
Initiator erzeugten ORB enthalten, wie in 5B gezeigt.
Die Adresse (Leseadresse oder Schreibadresse) der zu übertragenden
Daten wird mit Hilfe der Seitentabelle indirekt adressiert.
-
Ist
keine Seitentabelle vorhanden, ist eine Adresse und die Datenlänge im ORB
enthalten, und die zu übertragenden
Daten werden unmittelbar adressiert, wie in 5C gezeigt.
-
1.3. Busrücksetzung
-
Bei
IEEE 1394 geschieht eine Busrücksetzung
(wird ausgegeben), wenn mitten in einer Transaktion die Stromversorgung
zu einer Vorrichtung eingeschaltet oder eine Vorrichtung eingesteckt
oder herausgezogen wird. Im einzelnen überwacht jeder Knoten eine
Spannungsänderung
des Anschlusses. Ändert
sich die Spannung des Anschlusses, weil ein neuer Knoten mit dem
Bus oder dergleichen verbunden wird, benachrichtigt ein die Spannungsänderung erfassender
Knoten weitere Knoten am Bus über
das Auftreten der Busrücksetzung.
Diese physikalische Schicht jedes Knotens benachrichtigt die Verbindungsschicht über das
Auftreten der Busrücksetzung.
-
Wenn
es zur Busrücksetzung
kommt, wird die in 6 gezeigte Topologieinformation
(Knoten ID und dergleichen) gelöscht.
Die Topologieinformation wird dann automatisch wiederhergestellt.
Im einzelnen werden drei Prozesse zur Identifizierung und Selbstidentifizierung
nach der Busrücksetzung durchgeführt. Verwaltungsknoten,
beispielsweise ein isochroner Ressourcenmanager, ein Taktführer und ein
Busmanager werden dann bestimmt und die normale Paketübertragung
wieder aufgenommen.
-
Da
die Topologieinformation nach der Busrücksetzung automatisch wiederhergestellt
wird, kann gemäß IEEE 1394
ein Kabel jederzeit in ein elektronisches Werkzeug eingesteckt oder
herausgezogen werden, womit ein sogenannter "heißer
Stecker" verwirklicht
werden kann.
-
Falls
die Busrücksetzung
mitten in einer Transaktion passiert, wird die Transaktion gelöscht. Der
Anfordererknoten, der die gelöschte
Transaktion ausgegeben hat, überträgt das Anforderungspaket neu,
wenn die Topologieinformation wiederhergestellt ist. Der Rückmelderknoten
darf das Antwortpaket der durch die Busrücksetzung gelöschten Transaktion
nicht an den Anfordererknoten zurückschicken.
-
1.4. Blockierung wegen
Busrücksetzung
-
Es
hat sich gezeigt, daß folgende
Schwierigkeit auftritt, wenn die Busrücksetzung während der Datenübertragung
geschieht.
-
Wie 7A zeigt,
geschieht die Busrücksetzung
zum Beispiel nachdem an einem mit C1 bezeichneten Ort (Adresse)
Daten übertragen
wurden. In diesem Fall werden alle während der Busrücksetzung
in Verarbeitung befindlichen Transaktionen gelöscht. Der Initiator, beispielsweise
ein PC, der eine Datenübertragung
mit Hilfe eines ORB angefordert hat, der vor der Busrücksetzung übertragen
wurde (nachfolgend möglicherweise
als "ORB1" bezeichnet), stellt
einen nach der Busrücksetzung übertragenen
ORB wieder her (nachfolgend möglicherweise als "ORB2" bezeichnet) und
trägt dem
Ziel, beispielsweise einer Speichervorrichtung auf, Daten neu zu übertragen,
wie in 7B gezeigt. Die Datenübertragung
wird also an einem mit C2 in 7B bezeichneten
Ort wiederaufgenommen, wodurch Daten zweimal übertragen werden.
-
Um
dieses Problem zu lösen,
wird bei der in der offengelegten japanischen Patentanmeldung Nr. 2001-177537
offenbarten Technik ein Verfahren angewandt, gemäß dem der Inhalt des ORB1 vor
der Busrücksetzung
mit dem Inhalt des ORB2 nach der Busrücksetzung verglichen und die
Datenübertragung
an einem in 7B mit C3 angedeuteten Ort wiederaufgenommen
wird, wenn der Inhalt des ORB1 der gleiche ist wie der des ORB2.
-
Je
nach der Architektur des Betriebssystems (OS) des PC kann jedoch
ein ORB2 mit anderem Inhalt als dem des ORB1 vor der Busrücksetzung
vom PC nach der Busrücksetzung übertragen
werden. Zum Beispiel enthält
der ORB1 den SCSI (MMC-2) Schreibbefehl, wie in 3 gezeigt,
und die Busrücksetzung
geschieht während
der Datenübertragung auf
der Grundlage des Schreibbefehls. In diesem Fall kann das Betriebssystem
des PC nach der Busrücksetzung
einen ORB2 senden, der einen Lesebefehl für eine Dateizuordnungstabelle
(FAT) enthält,
um den Inhalt der FAT zu prüfen.
-
Da
der Datenschreibbefehl vom ORB1 vor Busrücksetzung und der FAT Lesebefehl
vom ORB nach der Busrücksetzung
angezeigt wird, unterscheidet sich folglich in diesem Fall der Inhalt
des ORB1 vom Inhalt des ORB2. Deshalb muß der Schreibbefehl des ORB1,
der in der nachfolgenden Stufe an die Speichervorrichtung ausgegeben
wurde, abgebrochen werden.
-
Wenn
allerdings die DMA-Übertragung
auf der Grundlage des Schreibbefehls des ORB1 bereits vor der Busrücksetzung
begonnen (oder initiiert) wurde, kommt es bei einem Abbruch des
Schreibbefehls zu einem Problem, bei dem die Speichervorrichtung in
der nachfolgenden Stufe einen Hänger
hat.
-
2. Gesamtkonfiguration
-
8 zeigt
ein Beispiel einer Gesamtkonfiguration eines Datenübertragungssteuersystems,
mit dem das obige Problem gelöst
werden kann, und eines elektronischen Werkzeugs, welches das Datenübertragungssteuersystem
umfaßt.
Die nachfolgende Beschreibung betrifft einen Fall, bei dem ein Ziel,
welches eine Datenübertragung
zwischen dem Initiator und dem Ziel durchführt, zum Beispiel eine Speichervorrichtung
ist (Festplattenlaufwerk, CD-Laufwerk, DVD-Laufwerk oder dergleichen).
Allerdings ist die vorliegende Erfindung nicht hierauf beschränkt.
-
Ein
PC (Zentralrechner) 2 mit einem Datenpuffer 4 ist über einen
Bus BUS1 (erster Bus) gemäß IEEE 1394
mit einem elektronischen Werkzeug 8 verbunden. Das elektronische
Werkzeug 8 umfaßt
ein Datenübertragungssteuersystem 10 und
eine Speichervorrichtung 100 (Vorrichtung im weiteren Sinn). Das
elektronische Werkzeug 8 kann eine System-CPU, einen Systemspeicher
(ROM und RAM), einen Betriebsteil, einen Signalverarbeitungsteil
und dergleichen umfassen (nicht gezeigt).
-
Das
Datenübertragungssteuersystem 10 umfaßt eine
physikalische Schichtschaltung 14 (PHY), eine Verbindungsschichtschaltung 20,
eine SBP-2 Schaltung 22, eine Schnittstellenschaltung 30,
eine Paketverwaltungsschaltung 38 und einen Paketpuffer 40 (Datenpuffer).
Das Datenübertragungssteuersystem 10 umfaßt eine
CPU 42 und einen Blitzspeicher 44 (EEPROM). Das
Datenübertragungssteuersystem 10 umfaßt Firmware 50,
dessen Verarbeitungsmodule (Programm) im Blitzspeicher 44 gespeichert
sind und das von der CPU 42 (Prozessor im weiteren Sinn)
ausgeführt
wird. Das Datenübertragungssteuersystem 10 dieses
Ausführungsbeispiels
umfaßt
nicht notwendigerweise alle in 8 gezeigten
Schaltungsblöcke
und Funktionsblöcke.
Einige der Schaltungsblöcke
und Funktionsblöcke
können
weggelassen sein.
-
Die
physikalische Schichtschaltung 14 ist eine Schaltung zum
Verwirklichen des Protokolls der in 1 gezeigten
physikalischen Schicht mittels der Hardware. Die physikalische Schichtschaltung 14 hat eine
Funktion der Übertragung
logischer Symbole, die von der Verbindungsschichtschaltung 20 benutzt werden,
in elektrische Signale.
-
Die
Verbindungs-(& Transaktions)-Schichtschaltung 20 ist
eine Schaltung zur Verwirklichung eines Teils des Protokolls der
Verbindungsschicht und der Transaktionsschicht gemäß 1 mittels
der Hardware. Die Verbindungsschichtschaltung 20 liefert
verschiedene Dienste für
die Paketübertragung zwischen
den Knoten.
-
Datenübertragung
in Übereinstimmung
mit IEEE 1394 kann zwischen dem elektronischen Werkzeug 8 und
dem PC 2 (einem elektronischen Werkzeug im weiteren Sinn) über den
Bus BUS1 (erster Bus) mit Hilfe der Funktionen der physikalischen Schichtschaltung 14 und
der Verbindungsschichtschaltung 20 durchgeführt werden.
-
Die
SBP-2 Schaltung 22 (Übertragungsausführungsschaltung)
ist eine Schaltung, die einen Teil des SBP-2 Protokolls und einen
Teil der Transaktionsschicht mittels der Hardware verwirklicht.
Die Verarbeitung zum Aufteilen der Übertragungsdaten in eine Reihe
von Paketen und das kontinuierli che Übertragen der aufgeteilten
Reihe von Paketen kann mittels der Funktion der SBP-2 Schaltung 22 verwirklicht
werden. Die Schnittstellenschaltung 30 ist eine Schaltung,
die eine Schnittstellenverarbeitung zwischen dem Datenübertragungssteuersystem 10 und der
Speichervorrichtung 100 durchführt. Eine Datenübertragung
entsprechend AT Attachment (ATA) und ATA Packet Interface (ATAPI)
kann zwischen dem Datenübertragungssteuersystem 10 und
der Speichervorrichtung 100 mittels der Funktion der Schnittstellenschaltung 30 über einen
Bus BUS2 (zweiter Bus) durchgeführt
werden.
-
Das
Datenübertragungssteuersystem 10 kann
mit einer Konvertierungsbrückenfunktion
zwischen IEEE 1394 (erste Schnittstellennorm im weiteren Sinn und
ATA (IDE/ATAPI) (zweite Schnittstellennorm im weiteren Sinn) versehen
werden, indem die physikalische Schichtschaltung 14, die
Verbindungsschichtschaltung 20 und die Schnittstellenschaltung 30 vorgesehen
werden, wie in 8 gezeigt.
-
Ein
in die Schnittstellenschaltung 30 eingeschlossener DMA-Controller 32 ist
eine Schaltung, die eine DMA-Übertragung
(direkter Speicherzugriff) zwischen dem Datenüberragungssteuersystem 10 und
der Speichervorrichtung 100 über den Bus BUS2 durchführt. Die
mit dem Bus BUS2 verbundene Speichervorrichtung 100 umfaßt eine
Schnittstellenschaltung 102 für die Datenübertragung entsprechend ATA
(IDE)/ATAPI und eine Zugriffssteuerschaltung 104, welche
den Zugang (schreiben oder lesen) zu einem Speicher 106,
beispielsweise eine Festplatte oder Bildplatte steuert.
-
Die
Pufferverwaltungsschaltung 38 ist eine Schaltung, die eine
Schnittstelle zwischen dem Paketpuffer 40 und der Verbindungsschichtschaltung 20 und
dergleichen verwaltet. Die Pufferverwaltungsschaltung 38 umfaßt Register
zum Steuern der Paketverwaltungsschaltung 38, eine Entscheidungsschaltung,
die für
die Busverbindung mit dem Paketpuffer 40 entscheidet, einen
Ablaufverfolger, der verschiedene Steuersignale generiert, und dergleichen.
-
Die
Pufferverwaltungsschaltung 38 umfaßt einen Zeigerverwaltungsteil 39.
Der Zeigerverwaltungsteil 39 verwaltet Zeiger des Paketpuffers 40 mittels
eines Ringpuffers und aktualisiert eine Vielzahl von Zeigern zum
Schreiben und Lesen. Der Paketpuffer 40 (Paketspeicher
oder Datenpuffer) ist ein Puffer zur zeitweiligen Speicherung von
Paketen (übertragenen
Daten) und ist in Form von Hardware, beispielsweise als SRAM, SDRAM
oder DRAM ausgebildet. Bei diesem Ausführungsbeispiel wirkt der Paketpuffer 40 als
Paketspeicherteil mit Direktzugriff. Der Paketpuffer 40 ist
unter Umständen
nicht in das Datenübertragungssteuersystem 10 eingeschlossen, sondern
extern vorgesehen.
-
Die
Zentraleinheit CPU 42 (Prozessor im weiteren Sinn) steuert
die gesamte Vorrichtung und Datenübertragung.
-
Der
Blitzspeicher 44 (EEEPROM) ist ein elektrisch löschbarer,
programmierbarer, nichtflüchtiger
Speicher. Die Verarbeitungsmodule (Programm) der Firmware 50 sind
im Blitzspeicher 44 gespeichert. Die Firmware 50 ist
ein Programm, welches verschiedene Verarbeitungsmodule (Verarbeitungsroutinen)
umfaßt
und auf die CPU 42 einwirkt. Die Protokolle der Transaktionsschicht
und dergleichen werden von der Firmware 50 und der Hardware,
beispielsweise der CPU 42 verwirklicht. Die Firmware 50 (F/W)
umfaßt
einen Kommunikationsteil 52, einen Verwaltungsteil 60,
einen Abrufteil 70, einen Speicheraufgabenteil 80 und
einen Herunterlader 90. Die Firmware 50 muß nicht
unbedingt alle diese Funktionsblöcke
einschließen.
Einige der Funktionsblöcke können weggelassen
sein. Der Kommunikationsteil 52 ist ein Verarbeitungsmodul,
welches als Schnittstelle zwischen der Firmware 50 und
der Hardware, beispielsweise der physikalischen Schichtschaltung 14 und
der Verbindungsschichtschaltung 20 dient.
-
Der
Verwaltungsteil 60 (Verwaltungsagent) ist ein Verarbeitungsmodul,
welches Anmelden, neu Verbinden, Abmelden, Rücksetzen und dergleichen verwaltet.
Wenn der Initiator eine Anmeldung an das Ziel anfordert, empfängt der
Verwaltungsteil 60 den Anmeldebefehl. Der Abrufteil 70 (Abrufagent)
ist ein Verarbeitungsmodul, welches einen Operationsanforderungsblock
(ORB) empfängt,
einen Befehlszustand ausgibt und den Speicheraufgabenteil 80 anweist,
die Befehlsverarbeitung durchzuführen.
Der Abrufteil kann auch eine Verbindungsliste eines ORB handhaben,
den der Abrufteil 70 auf Befehl vom Initiator abgerufen
hat, anders als der Verwaltungsteil 60, der nur einen einzigen
Befehl handhaben kann. Der Speicheraufgabenteil 80 ist
ein Verarbeitungsmodul zum Verarbeiten eines in einem ORB enthaltenen Befehls
und zum Verarbeiten der DMA-Übertragung. Der
Herunterlader 90 ist ein Verarbeitungsmodul zum Aktualisieren
des Verarbeitungsmoduls der Firmware 50, die im Blitzspeicher 44 gespeichert
ist, und dergleichen.
-
Der
Speicheraufgabenteil 80 umfaßt einen Befehlsverarbeitungsteil 82,
einen Befehlsvergleichsteil 84, einen Befehlsabbruchteil 86 und
einen Übertragungswiederaufnahmeteil 88.
-
Der
Befehlsverarbeitungsteil 82 führt verschiedene Arten der
Verarbeitung eines über
den Bus BUS1 (erster Bus entsprechend der ersten Schnittstellennorm,
zum Beispiel IEEE 1394) übertragenen
ORB durch (Befehlspaket oder ein Befehlspaket zur Datenübertragungsoperationsanforderung im
weiteren Sinn). Im einzelnen empfängt der Befehlsverarbeitungsteil 82 einen
ORB vom Bus BUS1, gibt einen im ORB enthaltenen Befehl SCSI oder MMC-2
Befehl) an die Speichervorrichtung 100 (Vorrichtung im
weiteren Sinn) aus, die mit dem Bus BUS2 verbunden ist (zweiter
Bus der zweiten Schnittstellennorm, zum Beispiel ATA/ATAPI) und
befiehlt den Beginn der DMA-Übertragung
(Datenübertragung
ohne Beteiligung der CPU) über
den Bus BUS2.
-
Wenn
die Busrücksetzung
(Rücksetzung,
die die Knotentopologieinformation löscht) während der Verarbeitung eines
ORB geschieht (während
der Datenübertragung
auf der Grundlage des ORB), vergleicht der Befehlsvergleichsteil 84 den
Inhalt des über
den Bus BUS1 vor der Busrücksetzung übertragenen
ORB1 mit dem Inhalt eines ORB2, der nach der Busrücksetzung über den
Bus BUS1 übertragen wurde.
-
Der
Befehlsabbruchteil 86 bricht den Befehl (SCSI Lesebefehl,
SCSI Schreibbefehl oder dergleichen), der aufgrund des ORB an die
Speichervorrichtung 100 ausgegeben wurde, ab, wenn die DMA-Übertragung
(kontinuierliche Datenübertragung),
die aufgrund des ORB (Befehl) begonnen wurde, vollendet ist.
-
Genauer
gesagt, wird vom Befehlsabbruchteil 86 der Befehl, abgebrochen
(beendet oder gelöscht), der
aufgrund des ORB1 an die Speichervorrichtung 100 ausgegeben
wurde, wenn die DMA-Übertragung
vollendet ist, die aufgrund des OR81 (Befehl) initiiert wurde, falls
festgestellt wird, daß der
Inhalt des ORB1 vor der Busrücksetzung sich
vom Inhalt des ORB2 nach der Busrücksetzung unterscheidet. In
diesem Fall steuert der Befehlsabbruchteil 86 so, daß Scheindaten
zwischen dem Datenübertragungssteuersystem 10 und
der Speichervorrichtung 100 übertragen werden, bis die DMA-Übertragung
vollendet ist, die aufgrund des ORB begonnen worden war.
-
Bei
dem Datenübertragungssteuersystem 10 gemäß diesem
Ausführungsbeispiel
mit einer Buskonvertierungsbrückenfunktion
werden von der Speichervorrichtung 100 über den Bus BUS2 übertragene Daten über den
Bus BUS1 an den PC 2 übertragen. Vom
PC 2 über
den Bus BUS1 übertragene
Daten werden über
den Bus BUS2 an die Speichervorrichtung 100 übertragen.
-
Bei
der Übertragung
von Scheindaten werden Scheindaten von der Speichervorrichtung 100 über den
Bus BUS2 an das Datenübertragungssteuersystem 10 übertragen,
aber nicht an den PC 2. Scheindaten werden über den
Bus BUS2 auch dann an die Speichervorrichtung 100 übertragen,
wenn vom PC 2 über
den Bus BUS1 keine Daten an das Datenübertragungssteuersystem übertragen
werden.
-
Der
Befehlsabbruchteil 86 führt
die Abbruchverarbeitung durch, wenn die nach der Busrücksetzung
durchgeführte
Verarbeitung zur Neuverbindung beendet ist. Der Übertragungswiederaufnahmeteil 88 führt die
Verarbeitung zur Wiederaufnahme der Datenübertragung dort durch, wo die
Busrücksetzung auftrat
(Daten im Anschluß an
die Daten, die übertragen
wurden, als die Busrücksetzung
geschah) wenn festgestellt wird, daß der Inhalt des ORB1 vor der Busrücksetzung
der gleiche ist wie der Inhalt des ORB2 nach der Busrücksetzung.
-
3. Einzelheiten
der Verarbeitung
-
Einzelheiten
der Verarbeitung bei diesem Ausführungsbeispiel
werden nachfolgend unter Hinweis auf die in 9 und 10 und
dergleichen gezeigten Ablaufdiagramme beschrieben. 9 ist
ein Fließschema
der Gesamtverarbeitung bei diesem Ausführungsbeispiel.
-
Wenn
das Datenübertragungssteuersystem 10 während der
SBP-2 Verarbeitung (Schritt S1) einen ORB1 einschließlich eines
Befehls CMD1 empfängt,
urteilt das Datenübertragungssteuersystem 10,
ob die Busrücksetzung
stattgefunden hat oder nicht (Schritt S2). Gab es keine Busrücksetzung,
gibt das Datenübertragungssteuersystem 10 den
im ORB1 enthaltenen Befehl CMD1 an die Speichervorrichtung 100 (Festplattenlaufwerk)
aus, wie mit D1 in 11 angedeutet (Schritt S3).
Da im SBP-2 Befehle ähnlich
den SCSI (MMC-2) (Lesen, Schreiben, Modus erfassen, Modus auswählen und
dergleichen) benutzt sind, führt
die Speichervorrichtung 100 solche Operationen wie Lesen
oder Schreiben mit Hilfe dieser Befehle durch. Das Datenübertragungssteuersystem 10 gemäß diesem
Ausführungsbeispiel
gewinnt den im ORB1 enthaltenen Befehl CMD1 zurück und gibt den Befehl CMD1 über die
Schnittstellenschaltung 30 und den BUS2 (ATA/ATAPI) an
die Speichervorrichtung 100 weiter.
-
Nach
Ausgabe des Befehls CMD1 urteilt das Datenübertragungssteuersystem 10,
ob die Busrücksetzung
stattgefunden hat oder nicht (Schritt S4). Wenn die Busrücksetzung
nicht aufgetreten ist, urteilt das Datenübertragungssteuersystem 10,
ob ein Signal DMARQ von der Speichervorrichtung 100 über den
BUS2 gesendet wurde oder nicht (Schritt S5). Genauer gesagt werden
Signale wie das DMA-Übertragungsanforderungssignal
DMARQ und ein DMARQ-Bestätigungssignal
DMACK für
den BUS2 in Übereinstimmung
mit ATA/ATAPI festgelegt, wie weiter unten beschrieben. Wenn die
Schnittstellenschaltung 102 der Speichervorrichtung 100 das
Signal DMARQ aktiviert und die Schnittstellenschaltung 30 des
Datenübertragungssteuersystems 10 dann das
Signal DMACK aktiviert, beginnt die DMA-Übertragung.
-
Ist
das Signal DMARQ nicht von der Speichervorrichtung 100 ausgesandt
worden, urteilt das Datenübertragungssteuersystem 10,
ob die Busrücksetzung
stattgefunden hat oder nicht (Schritt S6). Geschah keine Busrücksetzung,
urteilt das Datenübertragungssteuersystem 10,
ob das Signal DMARQ von der Speichervorrichtung 100 gesendet
wurde. Das Datenübertragungssteuersystem 10 wiederholt die
Beurteilung in den Schritten S5 und S6, bis das Signal DMARQ von
der Speichervorrichtung 100 gesendet wird.
-
Ist
das Signal DMARQ von der Speichervorrichtung 100 gesendet
worden, ordnet das Datenübertragungssteuersystem 10 den
Beginn der DMA-Übertragung
durch Aktivieren des Signals DMACK und dergleichen an (Schritt S7).
Das ermöglicht
die Datenübertragung über den
Bus BUS1 (IEEE 1394) und den Bus BUS2 (ATA/ATAPI), wie mit D2 und
D3 in 11 angedeutet. Die Datenübertragung über den
Bus BUS1 wird von der physikalischen Schichtschaltung 14,
der Verbindungsschichtschaltung 20, der SBP-2 Schaltung 22 und
dergleichen durchgeführt.
Das ermöglicht
es, Daten, die im Datenpuffer 4 des PC 2 gespeichert
sind, in den Paketpuffer 40 zu schreiben oder im Paketpuffer 40 gespeicherte
Daten in den Datenpuffer 4 einzulesen.
-
Die
Datenübertragung über den
Bus BUS2 wird von der Schnittstellenschaltung 30 und dergleichen
bewerkstelligt. Das ermöglicht
es, im Paketpuffer 40 gespeicherte Daten in den Speicher 106 der Speichervorrichtung 100 zu
schreiben oder im Speicher 106 gespeicherte Daten in den
Paketpuffer 40 einzulesen.
-
Das
Datenübertragungssteuersystem 10 urteilt,
ob die Busrücksetzung
stattgefunden hat oder nicht (Schritt S8). Wenn es keine Busrücksetzung
gegeben hat und die DMA-Übertragung
vollendet ist (Schritt S9), beendet das Datenübertragungssteuersystem 10 die
Befehlsverarbeitung des Befehls ORB1 (Schritt S10) und benachrichtigt
den PC 2 über den
Zustand des Befehls ORB1 (Schritt S11). Auf diese Weise wird eine
Befehlsverarbeitungsserie des Befehls ORB1 vollendet.
-
Wenn
das Datenübertragungssteuersystem 10 beurteilt,
daß die
Busrücksetzung
im Schritt S2, S4, S6 oder S8 stattgefunden hat, wird eine Verarbeitung
zum erneuten Verbinden durchgeführt,
bei der das Datenübertragungssteuersystem 10 auf
die Neuverbindung des Initiators wartet, wie mit D4 in 11 angedeutet
(Schritt S12).
-
Gemäß SBP-2
kann ein Initiator, der sich vor der Busrücksetzung beim Ziel angemeldet
hatte, sich vorzugsweise mit dem Ziel für eine gewisse Zeitspanne nach
der Busrücksetzung
neu verbinden. Dadurch, daß die
Verarbeitung des Neuverbindens nach der Busrücksetzung durchgeführt wird,
kann der Initiator ausschließlich
das Zugriffsrecht auf das Ziel haben (das Recht, den Bus zu benutzen).
-
Wenn
das Datenübertragungssteuersystem 10 nach
der Verarbeitung zum Neuverbinden einen ORB2 empfängt, der
einen Befehl CMD2 enthält, führt das
Datenübertragungssteuersystem 10 eine Verarbeitung
zum Befehlsvergleich durch, bei dem der Inhalt des ORB1 (CMD1) vor
der Busrücksetzung mit
dem Inhalt des ORB2 nach der Busrücksetzung verglichen wird,
wie mit D5 in 11 angedeutet (Schritt S14).
-
Wie
aus 12 hervorgeht, werden bei diesem Ausführungsbeispiel
ein Kennzeichen P für
das Vorhandensein einer Seitentabelle, die Datengröße, Operationscode
(Code, der einen Schreibbefehl, Lesebefehl und dergleichen unterscheidet)
und die Datenlänge
in einem Befehlsblockfeld (Befehl gesetzt) verglichen, die in dem
ORB enthalten sind. Wenn der ORB Information zur Identifizierung
des ORB enthält (beispielsweise
eine Laufzahl), kann diese Identifizierungsinformation verglichen
werden. In Fällen,
in denen keine Seitentabelle benutzt wird, können Werte von Datenschlüsselbegriffen
verglichen werden. Wird eine Seitentabelle benutzt, kann die Anzahl
der Segmente verglichen werden. Wenn die obigen Informationen verglichen
werden, kann unter Zuhilfenahme einfacher Verarbeitung mit Sicherheit
beurteilt werden, ob der ORB1 vor der Busrücksetzung der gleiche ist wie
der ORB2 nach der Busrücksetzung. Wenn
das Datenübertragungssteuersystem 10 entscheidet,
daß der
Inhalt des ORB1 derselbe ist wie der Inhalt des ORB2, führt das
Datenübertragungssteuersystem 10 eine
Verarbeitung zur Wiederaufnahme der Datenübertragung am ORB1 durch (Schritt
S15). Das macht es möglich,
die Datenübertragung
dort wiederaufzunehmen, wo die Busrücksetzung geschah, wie mit
D6 in 11 angedeutet. Die Einzelheiten
zur Verarbeitung der Wiederaufnahme der Datenübertragung sind in der offengelegten japanischen
Patentanmeldung Nr. 2001-177537 offenbart.
-
Wenn
das Datenübertragungssteuersystem 10 entscheidet,
daß der
Inhalt des ORB1 sich vom Inhalt des ORB2 unterscheidet, wie mit
E4 in 13 angedeutet, urteilt das Datenübertragungssteuersystem 10,
ob der im ORB1 enthaltene Befehl CMD1 an die Steuervorrichtung 100 ausgegeben
wurde oder nicht (Schritt S16). Ist der Befehl CMD1 nicht ausgegeben
worden, geht das Datenübertragungssteuersystem 10 zur
Verarbeitung des neu gesendeten ORB2 über, ohne eine Verarbeitung
des Befehlsabbruchs durchzuführen
(Schritt S17). Für
den Fall, daß während der
Verarbeitung des Befehls CMD1 die Busrücksetzung geschieht, führt bei
diesem Ausführungsbeispiel
das Datenübertragungssteuersystem 10 eine
Abbruchverarbeitung durch (Schritt S21), wenn geurteilt wird, daß der Befehl
CMD1 ausgegeben wurde (Schritt S16). Lautet das Urteil, daß der Befehl
CMD1 nicht ausgegeben wurde (Schritt S16), geht das Datenübertragungssteuersystem 10 zur Verarbeitung
des ORB2 über
(Schritt S17), ohne die Abbruchverarbeitung durchzuführen.
-
Wenn
der Befehl CMD1 an die Speichervorrichtung 100 ausgegeben
wurde, urteilt das Datenübertragungssteuersystem 10,
ob die DMA-Übertragung
begonnen wurde oder nicht (Schritt S18). Hat die DMA-Übertragung
begonnen, geht das Datenübertragungssteuersystem 10 zur
Abbruchverar beitung des Befehls CMD1 über, wie mit E5 in 13 angedeutet
(Schritt S21). Wurde der Befehl CMD1 nicht ausgegeben, urteilt das
Datenübertragungssteuersystem 10,
ob das DMA-Übertragungsanforderungssignal
DMARQ von der Speichervorrichtung 100 gesendet wurde oder
nicht (Schritt S19). Wurde das Signal DMARQ nicht von der Speichervorrichtung 100 gesendet,
geht das Datenübertragungssteuersystem 10 zur
Abbruchverarbeitung des Befehls CMD1 über. Wurde das Signal DMARQ
von der Speichervorrichtung 100 gesendet, ordnet das Datenübertragungssteuersystem 10 den
Beginn der DMA-Übertragung
an (Schritt S20) und geht zur Abbruchverarbeitung des Befehls CMD1 über. Nachdem
das Datenübertragungssteuersystem 10 die
Abbruchverarbeitung des Befehls CMD1 fertiggestellt hat, geht das
Datenübertragungssteuersystem 10 zur
Verarbeitung des ORB2 (CMD2) über
(Schritt S17).
-
10 ist
ein Fließschema
der Abbruchverarbeitung des Befehls CMD1. Das Datenübertragungssteuersystem 10 urteilt,
ob die DMA-Übertragung
aktiv ist oder nicht (Schritt S31). Wenn zum Beispiel das Datenübertragungssteuersystem 10 urteilt, daß die DMA-Übertragung
im Schritt S18 in 9 nicht begonnen wurde, und
daß das
Signal DMARQ im Schritt S19 nicht gesendet wurde, entscheidet das Datenübertragungssteuersystem 10 im
Schritt S31 in 10, daß die DMA-Übertragung
nicht aktiv ist. In diesem Fall bricht das Datenübertragungssteuersystem 10 den
Befehl CMD1 ab, ohne die Kontrollverarbeitung hinsichtlich der Scheindatenübertragung
in den Schritten S32 bis S38 durchzuführen. Das macht es möglich, die
Verarbeitung in den Schritten S32 bis S38 wegzulassen, wodurch die
Leistungsfähigkeit der
Verarbeitung erhöht
werden kann.
-
Wenn
das Datenübertragungssteuersystem 10 entscheidet,
daß die
DMA-Übertragung
aktiv ist, urteilt das Datenübertragungssteuersystem 10,
ob der Befehl CMD1 entweder ein Lesebefehl oder ein Schreibbefehl
ist oder nicht (Schritt S32). Ist der Befehl CMD1 ein Lesebefehl,
urteilt das Datenübertragungssteuersystem 10,
ob die DMA-Übertragung
auf der Grundlage des Befehls CMD1 vollendet wurde oder nicht (Schritt
S33). Ist die DMA-Übertragung nicht
vollendet, nimmt das Datenübertragungssteuersystem 10 die
Verarbeitung der Übertragung
von Scheindaten in den Schritten S33 bis S35 zwischen dem Datenübertragungssteuersystem 10 und
der Speichervorrichtung 100 vor, bis die DMA-Übertragung
vollendet ist. Entscheidet das Datenübertragungssteuersystem 10,
daß die
DMA-Übertragung vollendet
wurde, führt
das Datenübertragungssteuersystem 10 die
Abbruchverarbeitung des Befehls CMD1 durch, wie mit E7 in 13 angedeutet (Schritt
S39).
-
Ist
der Befehl CMD1 ein Schreibbefehl, urteilt das Datenübertragungssteuersystem 10,
ob die DMA-Übertragung
aufgrund des Befehls CMD1 vollendet wurde oder nicht (Schritt S36).
Ist die DMA-Übertragung
nicht fertig, führt
das Datenübertragungssteuersystem 10 eine Übertragungs-(Schreib)-Verarbeitung von
Scheindaten in den Schritten S36 bis S38 zwischen dem Datenübertragungssteuersystem 10 und
der Speichervorrichtung 100 durch, bis die DMA-Übertragung
vollendet ist. Wenn das Datenübertragungssteuersystem 10 urteilt,
daß die
DMA-Übertragung
fertig ist, nimmt das Datenübertragungssteuersystem 10 die
Abbruchverarbeitung des Befehls CMD1 vor (Schritt S39).
-
Die
Befehlsabbruchverarbeitung kann beispielsweise mittels einer in
ATA/ATAPI definierten Softwarerücksetzung
verwirklicht werden. Im einzelnen wird die Softwarerücksetzung
dadurch ausgeführt,
daß in
einem in der Schnittstellenschaltung 102 der Speichervorrichtung 100 enthaltenen SRST-Bit eines
Vorrichtungssteuerregisters eine "1" gesetzt wird.
Der Wert kann im Register dadurch gesetzt werden, daß man es
der Schnittstellenschaltung 30 erlaubt, Zugriff zu nehmen
auf das Register der Schnittstellenschaltung 102 durch
PIO-Übertragung
unter Verwendung von BUS2 Signalen CS[1:0], DA[2:0], DIOW, DIOR
und dergleichen, wie weiter unten beschrieben.
-
Bei
diesem Ausführungsbeispiel
wird der vor der Busrücksetzung
an die Speichervorrichtung 100 ausgegebene Befehl CMD1
(siehe Schritt S3 in 9 und E1 in 13)
abgebrochen, nachdem die aufgrund von ORB1 (CMD1) begonnene DMA-Übertragung
(siehe Schritte S7 und S20 in 9 und E3 in 13)
vollendet ist (siehe Schritt S39 in 10 und
E7 in 13). Das macht es möglich, den
Befehl CMD1 abzubrechen, wenn die DMA-Übertragung zwischen dem Datenübertragungssteuersystem 10 und
der Speichervorrichtung 100 über den Bus BUS2 normal vollendet
worden ist. Da die Speichervorrichtung 100 also normalerweise
die DMA-Übertragung vollenden
kann, kann das Auftauchen eines Problems, bei dem die Speichervorrichtung 100 hängt, verhindert
werden. Außerdem
gibt es keinen nachteiligen Einfluß auf die Verarbeitung des
PC 2, da die DMA-Übertragung über den
Bus BUS2 durch Scheindatenübertragung
solange durchgeführt
wird, bis der Befehl CMD1 abgebrochen wird.
-
Da
die Speichervorrichtung 100 mit einer ATA(IDE)/ATAP1-Schnittstelle
ursprünglich
als eingebaute Speichervorrichtung für den PC 2 ausgelegt ist,
ist die Speichervorrichtung 100 insbesondere nicht so konstruiert,
daß sie
das Auftreten der IEEE 1394 Busrücksetzung
während
der DMA-Übertragung
berücksichtigt.
Wenn also die Speichervorrichtung 100 mit dem Datenübertragungssteuersystem 10 bei
diesem Ausführungsbeispiel,
welches eine Brückenfunktion
zwischen IEEE 1394 und ATA/ATAPI hat, verbunden ist, kann die Speichervorrichtung 100 aufgrund
des Auftretens einer unerwarteten Busrücksetzung blockieren. Da jedoch
gemäß diesem Ausführungsbeispiel
der Befehl abgebrochen wird, nachdem die DMA-Übertragung vollendet ist, kann das
Auftreten einer Blockierung vermieden werden.
-
4. Scheindatenübertragung
-
Die Übertragungsverarbeitung
von Scheindaten in den Schritten S33 bis S35 und S36 bis S38 in 10 wird
nachfolgend unter Hinweis auf die 14A bis 14E und 15A bis 15E beschrieben. Die 14A bis 14E veranschaulichen eine Zeigersteuerung des
Paketpuffers 40 für den
Fall, daß der
PC 2 Daten liest, die in der Speichervorrichtung 100 gespeichert
sind (Datenübertragungssteuersystem 10 übermittelt
Daten).
-
In 14A bis 14E ist
ein Zeiger ATXP1 (erster Zeiger) ein Zeiger zum Schreiben von Daten, die
vom Bus BUS2 übertragen
wurden (Speichervorrichtung 100, ATA/ATAPI), in den Paketpuffer 40.
Der Zeiger ATXP1 wird jedes Mal dann aktualisiert, wenn vom Bus
BUS2 übertragene
Daten in den Paketpuffer 40 geschrieben werden. Ein Zeiger
LTXP2 (zweiter Zeiger) ist ein Zeiger zum Lesen von Daten, die vom
Paketpuffer 40 zum Bus BUS1 übertragen wurden (PC 2,
IEEE 1394). Der Zeiger LTXP2 wird jedes Mal dann aktualisiert, wenn
zum Bus BUS1 übertragene
Daten aus dem Paketpuffer 40 gelesen werden. Diese Zeiger
werden vom Zeigerverwaltungsteil 39 aktualisiert.
-
Wie 14A zeigt, wird der Zeiger ATXP1 immer dann aktualisiert,
wenn vom Bus BUS2 übertragene
Daten durch die Schnittstellenschaltung 20 in den Paketpuffer 40 geschrieben
werden, und ein vom Zeiger ATXP1 angezeigter Ort wird abwärts bewegt
(in Datenspeicherrichtung). Der Zeiger ATXP1 wird mittels eines
Ringpuffers verwaltet. Deshalb wird der Zeiger ATXP1, wenn er eine
untere Grenze BD2 des Speicherbereichs erreicht, zu einer oberen
Grenze BD1 des Speicherbereichs zurückgeführt (Ringe) wie in 14B gezeigt.
-
Wenn
entschieden wird, daß ATXP1
= LTXP2 (Schritt S34 in 10), werden
im gesamten Speicherbereich des Paketpuffers 40 Daten gespeichert,
wie in 14C gezeigt. In 14A bis 14E bedeuten
mit Schrägstrichen
markierte Bereiche die gespeicherten Daten.
-
Bei
diesem Ausführungsbeispiel
wird der gleiche Wert noch einmal in das Zeigerregister des Zeigers
LTXP2 geschrieben, wie in 14D gezeigt (Schritt
S35 in 10). Das ermöglicht eine Scheinaktualisierung
des Zeigers LTXP2, und damit wird ein Ergebnis erhalten, bei dem
die im gesamten Speicherbereich gespeicherten Daten gelesen werden.
Der Zeiger ATXP1 wird dann aktualisiert, wie in 14E gezeigt, wodurch vom Bus BUS2 übertragene
Daten in den Speicherbereich eingeschrieben werden, aus dem scheinbar
Daten gelesen werden. Die Zeigersteuerung gemäß den 14A bis 14E wird so lange wiederholt, bis die DMA-Übertragung
vollendet ist (Schritt S33 in 10), so
daß Scheindaten
zwischen dem Datenübertragungssteuersystem 10 und
der Speichervorrichtung 100 über den BUS2 übertragen
werden.
-
Bei
diesem Ausführungsbeispiel
erfolgt die Übertragungssteuerung
von Scheindaten dadurch, daß eine
Scheinaktualisierung des Zeigers LTXP2 vorgenommen wird, so daß der Zeiger
ATXP1 (erster Zeiger), der jedes Mal aktualisiert wird, wenn vom Bus
BUS2 übertragene
Daten in den Paketpuffer 40 geschrieben werden, keinen
Vorsprung vor dem Zeiger LTXP2 (zweiter Zeiger) bekommt.
-
Die 15A bis 15E zeigen
eine Zeigersteuerung des Paketpuffers 40 für den Fall,
daß der
PC 2 Daten in die Speichervorrichtung 100 schreibt
(das Datenübertragungssteuersystem 10 empfängt Daten).
-
In 15A bis 15E ist
ein Zeiger ARXP3 (dritter Zeiger) ein Zeiger zum Lesen von Daten,
die vom Paketpuffer 40 zum Bus BUS2 übertragen werden. Der Zeiger
ARXP3 wird immer dann aktualisiert, wenn an den Bus BUS2 übertragene
Daten aus dem Paketpuffer 40 gelesen werden. Ein Zeiger LRXP4
(vierter Zeiger) ist ein Zeiger, mit dem vom Bus BUS1 übertragene
Daten in den Paketpuffer 40 geschrieben werden. Der Zeiger
LRXP4 wird immer dann aktualisiert, wenn vom Bus BUS1 übertragene Daten
in den Paketpuffer 40 geschrieben werden. Diese Zeiger
werden vom Zeigerverwaltungsteil 39 aktualisiert.
-
Wie
aus 15A hervorgeht, wird der Zeiger ARXP3
jedes Mal aktualisiert, wenn an den Bus BUS2 übertragene Daten aus dem Paketpuffer 40 gelesen
werden, und ein vom Zeiger ARXP3 angezeigter Ort wird abwärts bewegt.
Der Zeiger ARXP3 wird mittels eines Ringpuffers verwaltet. Wenn
also der Zeiger ARXP3 eine untere Grenze BD2 erreicht, wird der
Zeiger ARXP3 zur oberen Grenze BD1 zurückgeführt.
-
Wird
entschieden, daß ARXP3
= LRXP4 (Schritt 37 in 10), werden
Daten aus dem gesamten Speicherbereich des Paketpuffers gelesen, wie
in 15C gezeigt.
-
Bei
diesem Ausführungsbeispiel
wird der gleiche Wert noch einmal in das Zeigerregister des Zeigers
LRXP4 geschrieben, wie in 15D gezeigt (Schritt
S38 in 10). Das ermöglicht eine Scheinaktualisierung
des Zeigers LRXP4, wodurch ein Ergebnis erhalten wird, bei dem die
Daten in den ganzen Speicherbereich geschrieben werden. Der Zeiger
ARXP3 wird dann aktualisiert, wie in 15E gezeigt,
wodurch zum Bus BUS2 übertragene
Daten aus dem Speicherbereich gelesen werden, in den scheinbar Daten
geschrieben wurden. Die in den 15A bis 15E gezeigte Zeigersteuerung wird so lange wiederholt,
bis die DMA-Übertragung
vollendet ist (Schritt S36 in 10), so
daß über den Bus
BUS2 Scheindaten zwischen dem Datenübertragungssteuersystem 10 und
der Speichervorrichtung 100 übertragen werden.
-
Bei
diesem Ausführungsbeispiel
wird die Übertragungssteuerung
von Scheindaten dadurch verwirklicht, daß am Zeiger LRXP4 eine Scheinaktualisierung
durchgeführt
wird, so daß der
Zeiger ARXP3 (dritter Zeiger), der immer dann aktualisiert wird,
wenn zum Bus BUS2 übertragene
Daten aus dem Paketpuffer 40 gelesen werden, keinen Vorsprung
vor dem Zeiger LRXP4 (vierter Zeiger) erhält.
-
Bei
diesem Ausführungsbeispiel
werden Scheindaten imitierend zwischen dem Datenübertragungssteuersystem 10 und
der Speichervorrichtung 100 über den Bus BUS2 übertragen,
bis die DMA-Übertragung
vollendet ist, und der Befehl CMD1 wird nach vollendeter DMA-Übertragung
abgebrochen. Der PC 2 liest oder schreibt imitierend übertragene
Daten, indem er eine Scheinaktualisierung an den Zeigern LTXP2 und
LRXP4 vornimmt, wie in 14D und 15D gezeigt. Damit kann verhindert werden, daß die Verarbeitung
des PC 2 leidet, wenn die DMA-Übertragung fortgesetzt wird, bis
der Befehl CMD1 abgebrochen ist. So kann der vom PC 2 nach
der Busrücksetzung
erneut gesendete ORB2 (CMD2) ordnungsgemäß verarbeitet werden, nachdem
der Befehl CMD1 abgebrochen wurde.
-
Dieses
Verfahren, eine Scheinaktualisierung an den Zeigern LTXP2 und LRXP4
vorzunehmen, ist nicht auf die in 14A bis 15D gezeigten Verfahren begrenzt. Es reicht, die
Zeiger LTXP2 und LRXP4 so zu steuern, daß mindestens die Zeiger ATXP1
und ARXP3 keinen Vorsprung vor den Zeigern LTXP2 und LRXP4 bekommen.
Die Übertragungsverarbeitung
von Scheindaten kann so verwirklicht werden, daß statt der in den 14A bis 15D gezeigten
Zeigersteuerung eine Hardwareschaltung ausschließlich für die Scheindatenübertragung
vorgesehen wird.
-
5. ATA/ATAPI
Schnittstellenschaltung
-
16 zeigt
ein Konfigurationsbeispiel der ATA/ATAPI Schnittstellenschaltung 30.
Die Schnittstellenschaltung 30 umfaßt nicht notwendigerweise alle
in 16 gezeigten Schaltungsblöcke. Einige der Schaltungsblöcke können weggelassen
sein.
-
Ein
FIFO 31 ist ein Puffer zum Einstellen (Puffern) des Unterschieds
in der Datenübertragungsgeschwindigkeit.
Ein DMA-Controller 32 ist eine Schaltung, die den FIFO 31 und
eine Schnittstellenkernschaltung 34 steuert (REQ/ACK Steuerung). Die
Schnittstellenschaltung 34 ist eine Schaltung, welche die
DMA-Übertragung
und dergleichen steuert. Ein in der Schnittstellenkernschaltung 34 enthaltener
Zähler 35 ist
ein ATA (IDE)/ATAPI Rücksetzzähler. Eine
in der Schnittstellenkernschaltung 34 enthaltene UDMA Schaltung 36 ist
eine Schaltung zum Steuern der ATA/ATAPI UltraDMA-Übertragung. Zu der UDMA Schaltung 36 gehört ein UltraDMA
FIFO 37 und eine UltraDMA CRC Rechenschaltung 38.
Ein Register 33 ist ein Register zum Steuern der Initiierung
der DMA-Übertragung
und dergleichen. Das Register 33 ist für die Firmware 50 (CPU 42)
zugänglich.
-
Ein
Signal CS[1:0] ist ein Chipauswählsignal, welches
zum Zugriff auf jedes ATA Register benutzt wird. Ein Signal DA[2:0]
ist ein Adressiersignal zum Zugriff auf Daten oder einen Datenanschluß. Die Signale
DMARQ und DMACK sind für
die DMA-Übertragung
benutzte Signale. Das Signal DMARQ wird von der Speichervorrichtung 100 (Vorrichtung)
aktiviert (aufgedrückt),
wenn die Vorbereitungen für
die Datenübertragung
vollendet sind, und das Signal DMARQ wird vom Datenübertragungssteuersystem 10 (Zentralvorrichtung)
aktiviert, wenn in Abhängigkeit
vom Signal DMACK die DMA-Übertragung
initiiert wird. Ein Signal DIOW (STOP) ist ein Schreibsignal, welches
zum Schreiben von Daten in ein Register oder einen Datenanschluß benutzt
wird. Das Signal DIOW funktioniert als STOP Signal während der UltraDMA Übertragung.
Ein Signal DIOR (HDMARDY, HSTROBE) ist ein Lesesignal, welches zum
Lesen von Daten aus einem Register oder einer Datenöffnung benutzt
wird. Das Signal DIOR funktioniert als ein HDMARDYINSTROBE Signal
während
der UltraDMA-Übertragung.
Ein Signal IORDY (DDMARDY, DSTROBE) wird als ein Wartesignal oder
dergleichen benutzt, wenn die Speichervorrichtung 100 die Vorbereitungen
für die
Datenübertragung
nicht vollendet. Das Signal IORDY funktioniert als DDMARDYIDSTROBE
Signal während
der UltraDMA-Übertragung.
-
Die 17A bis 19B zeigen
Beispiele von Signalverläufen
der obigen ATA Signale. In den 17A bis 19B bedeutet "#", daß das Signal ein
negatives logisches Signal ist (aktiv bei L Pegel). 17A und 17B sind
Beispiele von Signalverläufen
während
des PIO-(Parallel I/O) Lesens und PIO-Schreibens. Das ATA Zustandsregister
wird beim in 17A gezeigten PIO-Lesen gelesen.
Das Steuerregister wird vom in 17B gezeigten PIO-Schreiben
geschrieben. Durch das in 17B gezeigte
PIO-Schreiben wird zum Beispiel im SRST Bit des Registers der Schnittstellenschaltung 102 eine "1" gesetzt, um eine Softwarerücksetzung
zum Abbruch eines Befehls zu generieren, der an die Speichervorrichtung 100 ausgegeben
wurde.
-
Die 18A und 18B zeigen
Beispiele von Signalverläufen
während
des DMA-Lesens und DMA-Schreibens.
Die Speichervorrichtung 100 (Schnittstellenschaltung 102)
aktiviert das Signal DMARQ (H Pegel), wenn die Vorbereitungen zur
Datenübertragung
vollendet sind. Das Datenübertragungssteuersystem 10 (Schnittstellenschaltung 30) aktiviert
das Signal DMACK (L Pegel) in Abhängigkeit von Signal DMARQ,
um die DMA-Übertragung
zu initiieren. Die DMA-Übertragung
von Daten DD[15:0] wird mittels des Signals DIOR (während des
Lesens) oder DIOW (während
des Schreibens) durchgeführt.
-
Die 19A und 19B zeigen
Beispiele von Signalverläufen
während
des UltraDMA-Lesens und UltraDMA-Schreibens. Die Speichervorrichtung 100 aktiviert
das Signal DMARQ, wenn die Vorbereitungen für die Datenübertragung vollendet sind.
Das Datenübertragungssteuersystem 10 aktiviert
das Signal DMACK in Abhängigkeit
vom Signal DMARQ, um die DMA-Übertragung
zu initiieren. Die UltraDMA-Übertragung
von Daten DD[15:0] wird mittels der Signale DIOW, DIOR und IORDY
durchgeführt.
-
Es
sei erwähnt,
daß die
vorliegende Erfindung nicht auf die vorstehend beschriebenen Ausführungsbeispiele
begrenzt ist und daß verschiedene Abwandlungen
innerhalb des Umfangs der Erfindung vorgenommen werden können.
-
In
einem Teil dieser Beschreibung sind beispielsweise Ausdrücke wie
IEEE 1394, ATA/ATAPI, SBP-2,
IPower1394, ORB, PC/Speichervorrichtung, Festplattenlaufwerk/Bildplattenlaufwerk,
Speichervorrichtung und CPU durch Ausdrücke in weiterem Sinn ersetzt,
wie erste Schnittstellennorm, zweite Schnittstellennorm, ein erstes
Protokoll höherer
Ebene der ersten Schnittstellennorm, ein zweites Protokoll höherer Ebene
der ersten Schnittstellennorm, ein Befehlspaket, elektronisches
Werkzeug, Speichervorrichtung, Vorrichtung und Prozessor; aber diese Ausdrücke können auch
in einem anderen Teil der Beschreibung ersetzt werden.
-
Ein
Teil der Erfordernisse in irgend einem Anspruch der vorliegenden
Erfindung könnte
aus einem abhängigen
Anspruch weggelassen werden, der von diesem Anspruch abhängt. Darüber hinaus
könnte ein
Teil der Erfordernisse irgendeines unabhängigen Anspruchs der vorliegenden
Erfindung von irgendeinem anderen unabhängigen Anspruch abhängig gemacht
werden.
-
Die
Konfiguration des Datenübertragungssteuersystems
und des elektronischen Werkzeugs der vorliegenden Erfindung ist
nicht auf die in 8 gezeigte Konfiguration beschränkt, sondern
es sind verschiedene Abwandlungen möglich. Zum Beispiel kann ein
Teil der in 9 und 18 gezeigten
Schaltungsblöcke
und Funktionsblöcke
weggelassen oder die Verbindung zwischen den Blöcken abgewandelt werden. Der
zweite Bus (BUS2) kann mit einer anderen Vorrichtung als der Speichervorrichtung
verbunden werden. Die Verbindung der physikalischen Schichtschaltung,
der Verbindungsschichtschaltung und des Paketpuffers ist nicht auf
die in 8 gezeigte Verbindung beschränkt.
-
Auch
wenn die Ausführungsbeispiele
einen Fall veranschaulichen, bei dem die Funktionen des Befehlsverarbeitungsteils,
Befehlsabbruchteils, Befehlsvergleichsteils, Übertragungswiederaufnahmeteils
und dergleichen mittels Firmware (Programm) verwirklicht sind, kann
ein Teil dieser Funktionen oder alle mittels Hardware verwirklicht
werden.
-
Die
vorliegende Erfindung ist besonders nützlich zur Busrücksetzung
gemäß IEEE 1394.
Aber die vorliegende Erfindung kann auch auf eine andere Rücksetzung
angewandt werden, mit der mindestens die Knotentopologieinformation
gelöscht
wird. Die vorliegende Erfindung kann auf die Befehlsabbruchverarbeitung
angewandt werden, die zu anderer Zeit als die Busrücksetzung
durchgeführt wird.
-
Die
vorliegende Erfindung kann auf verschiedene Arten elektronischer
Geräte
angewandt werden (beispielsweise Festplattenlaufwerke, Bildplattenlaufwerke,
magneto-optische Plattenlaufwerke, PDA, Erweiterungsvorrichtungen,
Tonvorrichtungen, digitale Videokameras, Mobiltelefone, Drucker,
Scanner, Fernsehgeräte,
Videorecorder, Telephone, Anzeigevorrichtungen, Projektoren, PCs
oder elektronische Notizbücher).
-
Die
Ausführungsbeispiele
der vorliegenden Erfindung beschreiben den Fall, bei dem die vorliegende
Erfindung auf die Datenübertragung
in Übereinstimmung
mit den Normen IEEE 1394, SBP-2 und ATA/ATAPI angewandt wird. Aber
die vorliegende Erfindung kann auch auf Datenübertragungen entsprechend Normen
angewandt werden, die auf Ideen ähnlich
denen der IEEE 1394 (P1394a), SBP-2 (SBP) und ATA/ATAPI oder auf
aus den Normen IEEE 1394, SBP-2 und ATA/ATAPI entwickelten Normen
beruhen.