[go: up one dir, main page]

DE60309391T2 - Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren - Google Patents

Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren Download PDF

Info

Publication number
DE60309391T2
DE60309391T2 DE60309391T DE60309391T DE60309391T2 DE 60309391 T2 DE60309391 T2 DE 60309391T2 DE 60309391 T DE60309391 T DE 60309391T DE 60309391 T DE60309391 T DE 60309391T DE 60309391 T2 DE60309391 T2 DE 60309391T2
Authority
DE
Germany
Prior art keywords
command
bus
data
dma
control system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60309391T
Other languages
English (en)
Other versions
DE60309391D1 (de
Inventor
Shinichiro Suwa-shi Fujita
Hiroyuki Suwa-shi Kanai
Akemi Suwa-shi Ito
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Application granted granted Critical
Publication of DE60309391D1 publication Critical patent/DE60309391D1/de
Publication of DE60309391T2 publication Critical patent/DE60309391T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Datenübertragungssteuersystem, ein elektronisches Instrument, ein Programm und ein Datenübertragungssteuerverfahren.
  • Ein als IEEE1394 bezeichneter Schnittstellenstandard ist für Personal Computer (kann im Folgenden "PC" bezeichnet werden) weit verbreitet im Einsatz. Ein Protokoll mit der Bezeichnung Serial Bus Protocol-2 (SBP-2) ist als ein Protokoll höherer Schicht bekannt, das einen Teil einer Funktion einer Transaktionsschicht von IEEE1394 enthält. Im SBP-2 (SBP im weit gefassten Sinn) wird ein Befehlssatz ähnlich dem von SCST (MMC-2) verwendet.
  • Ein Schnittstellenstandard mit der Bezeichnung ATA (IDE)/ATAPI ist für Speichergeräte wie CD-Laufwerke, DVD-Laufwerke und Festplattenlaufwerke in weitem Umfang in Einsatz.
  • Deshalb wird ein Datenübertragungssteuersystem mit einer Busbrückenfunktion zwischen IEEE1394 und ATA/ATAPI benötigt, um ein Speichergerät mit einer ATA/ATAPI-Schnittstelle mit einem PC mit einer IEEE1394-Schnittstelle zu verbinden.
  • Dieser Typ Datenübertragungssteuersystem gibt einen SCSI-(MMC-2)-Befehl aus, der mittels IEEE1394 SBP-2 als ein ATA/ATAPI-Befehl an ein Speichergerät übertragen wird. Das Datenübertragungssteuersystem decodiert den SCSI-Befehl, analysiert den Inhalt des SCSI-Befehls und startet eine DMA-Übertragung zwischen dem Datenübertragungssteuersystem und dem Speichergerät.
  • Da jedoch verschiedene Befehlstypen unter Verwendung von SBP-2 übertragen werden, erhöht die Decodierverarbeitung (Analyse) solcher Befehle die Verarbeitungslast und die Verarbeitungszeit.
  • Die US 6,052,745 beschreibt ein Verfahren und ein System für Datenbündel mit fester Länge auf einem Bus innerhalb eines Datenverarbeitungssystems, die ein Datenbündelübertragungsprotokoll bereitstellen, das die Bereitstellung der Längeninformation eines Datenbündels fester Länge über ein Signal von mindestens einem Master-Gerät zu mindestens einem Slave-Gerät enthält, wenn das mindestens eine Master-Gerät das Datenbündel fester Länge anfordert. Das Verfahren und das System enthalten außerdem das Senden eines Signals zum Beenden eines Datenbündels von dem mindestens einem Slave-Gerät vor einem letzten Zyklus im Datenbündel mit fester Länge und das Senden eines Signals 'Datenbündel' abgeschlossen während des letzten Zyklus im Datenbündel mit fester Länge für ein Schreibdatenbündel oder einen Zyklus vor dem letzten Zyklus im Datenbündel mit fester Länge für ein Lesedatenbündel auf Basis des Wertes des Signals. Wahlweise können Datenbündelübertragungen offen sein, d. h. die maximale Anzahl der Datenübertragungen ist zum Zeitpunkt der Zugriffseinleitung nicht bekannt, und die Übertragung wird entweder vom Master oder vom Slave beendet.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Zur Lösung des obigen Problems stellt die vorliegende Erfindung ein Datenübertragungssteuersystem gemäß Anspruch 1 bereit.
  • Ein Aspekt der vorliegenden Erfindung betrifft ein Datenübertragungssteuersystem zum Übertragen von Daten über einen Bus, aufweisend:
    einen Befehlsverarbeitungsabschnitt, der ein Befehlspaket empfängt, das über einen ersten Bus übertragen wird und einen im Befehlspaket enthaltenen Befehl an ein Gerät ausgibt, das mit einem zweiten Bus verbunden ist; und einen Direct Memory Access (direkter Speicherzugriff) (DMA)-Übertragungsanweisungsabschnitt, der eine feste DMA-Datenlänge ungeachtet des Typs des ausgegebenen Befehls einstellt und den Start der DMA-Übertragung zum und vom Gerät, das mit dem zweiten Bus verbunden ist, anweist.
  • Gemäß diesem Datenübertragungssteuersystem wird ein Befehl, der in dem über den ersten Bus übertragenen Befehlspaket enthalten ist, an ein Gerät ausgegeben, das mit dem zweiten Bus verbunden ist. Die feste DMA-Datenlänge ist ungeachtet des Typs des ausgegebenen Befehls eingestellt, und die DMA-Übertragung wird dann gestartet. Das Datenübertragungssteuersystem braucht deshalb keine Verarbeitung zum Erfassen der dem Befehlstyp entsprechenden DMA-Datenlänge auszuführen, wodurch die Verarbeitungslast verringert werden kann.
  • Bei diesem Datenübertragungssteuersystem kann der DMA-Übertragungsanweisungsabschnitt die gestartete DMA-Übertragung abbrechen, wenn das mit dem zweiten Bus verbundene Gerät, das den ausgegebenen Befehl empfangen hat, über die Beendigung der Befehlsverarbeitung informiert.
  • Dies gestattet es, die DMA-Übertragung, die nach Einstellen einer ausreichend langen DMA-Datenlänge gestartet worden ist, unter der Bedingung abzubrechen, dass das Datenübertragungssteuersystem eine Meldung bezüglich der Beendigung der Befehlsverarbeitung empfängt, wodurch die DMA-Übertragung einwandfrei beendet werden kann.
  • Bei diesem Datenübertragungssteuersystem kann der DMA-Übertragungsanweisungsabschnitt den Start der DMA-Übertragung anweisen, wenn das mit dem zweiten Bus verbundene Gerät, das den ausgegebenen Befehl empfangen hat, den Start der DMA-Übertragung anfordert.
  • Bei diesem Datenübertragungssteuersystem kann das mit dem zweiten Bus verbundene Gerät ein Gerät sein, das über den zweiten Bus übertragene Daten in einen Speicher schreibt, oder das über den zweiten Bus zu übertragende Daten aus dem Speicher ausliest, und
    der DMA-Übertragungsanweisungsabschnitt kann einen Wert als die feste DMA-Datenlänge einstellen, der größer ist als die Speicherkapazität des Speichers.
  • Bei diesem Datenübertragungssteuersystem kann der DMA-Übertragungsanweisungsabschnitt einen Wert einstellen, der größer ist als die Datenlänge, die von einem Befehl vorgegeben werden kann, der im Befehlspaket als die feste DMA-Datenlänge enthalten ist.
  • Bei diesem Datenübertragungssteuersystem kann der Befehlsverarbeitungsabschnitt einen im Befehlspaket enthaltenen Befehl an das Gerät ausgeben, das mit dem zweiten Bus verbunden ist, ohne den Befehl zu decodieren.
  • Dadurch kann die Decodierverarbeitung (Decodierverarbeitung zur Berechnung der Größe der DMA-Datenlänge) des Befehls entfallen, wodurch die Verarbeitungslast verringert werden kann.
  • Bei diesem Datenübertragungssteuersystem kann der erste Bus ein Bus sein, über den Daten gemäß einem ersten Schnittstellenstandard übertragen werden, und der zweite Bus kann ein Bus sein, über den Daten gemäß einem zweiten Schnittstellenstandard übertragen werden, und das Befehlspaket kann ein Paket sein, das von einem Protokoll höherer Schicht des ersten Schnittstellenstandards definiert wird.
  • Bei diesem Datenübertragungssteuersystem kann der erste Bus ein Bus sein, über den Daten gemäß dem IEEE1394-Standard übertragen werden, und der zweite Bus kann ein Bus sein, über den Daten gemäß dem AT Attachment (ATA)/ATA Packet Interface (ATAPI)-Standard übertragen werden, und
    das Befehlspaket kann ein ORB-Paket sein, das vom Serial Bus Protocol-2 (SBP-2) definiert wird.
  • Ein anderer Aspekt der vorliegenden Erfindung betrifft ein elektronisches Instrument, das eines der obigen Datenübertragungssteuersysteme und das mit dem zweiten Bus verbundene Gerät aufweist.
  • Ein weiterer Aspekt der vorliegenden Erfindung betrifft ein Programm, das bewirkt, dass ein Datenübertragungssteuersystem arbeitet als:
    ein Befehlsverarbeitungsabschnitt, der ein über einen ersten Bus übertragenes Befehlspaket empfängt und einen im Befehlspaket enthaltenen Befehl an ein mit einem zweiten Bus verbundenes Gerät ausgibt; und
    ein Direct Memory Access (DMA)-Übertragungsanweisungsabschnitt, der eine feste DMA-Datenlänge ungeachtet des ausgegebenen Befehls einstellt und den Start der DMA-Übertragung zu dem oder von dem mit dem zweiten Bus verbundenen Gerät anweist.
  • Ein weiterer Aspekt der vorliegenden Erfindung betrifft ein Datenübertragungssteuerverfahren zum Übertragen von Daten über einen Bus, wobei das Verfahren aufweist:
    Empfangen eines über einen ersten Bus übertragenes Befehlspaket und Ausgeben eines im Befehlspaket enthaltenen Befehls an ein mit einem zweiten Bus verbundenes Gerät; und
    Einstellen einer festen Direct Memory Access (DMA)-Datenlänge ungeachtet des Typs des ausgegebenen Befehls und Anweisen des Starts der DMA-Übertragung zu dem oder von dem mit dem zweiten Bus verbundenen Gerät.
  • KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNG
  • 1 ist eine Ansicht zur Veranschaulichung einer Schichtstruktur des IEEE1394 und des SBP-2.
  • 2 veranschaulicht eine Übersicht über die Verarbeitung des SBP-2.
  • 3 veranschaulicht die Befehlsverarbeitung im SBP-2 für den Fall der Datenübertragung von einem Initiator zu einem Ziel.
  • 4 veranschaulicht die Befehlsverarbeitung im SBP-2 für den Fall der Datenübertragung von einem Ziel zu einem Initiator.
  • 5A bis 5C sind beispielhafte Ansichten einer Seitentabelle.
  • 6A und 6B sind beispielhafte Ansichten einer Busbrückenfunktion eines Datenübertragungssteuersystems und der Beziehungen zwischen verschiedenen Befehlen.
  • 7 ist eine Ansicht eines Konfigurationsbeispiels eines Datenübertragungssteuersystems und eines elektronischen Instruments gemäß einem Aspekt der vorliegenden Erfindung.
  • 8 veranschaulicht eine Übersicht über den Fluss einer Paketbefehlsverarbeitung gemäß ATA Packet Interface (ATAPI).
  • 9 ist ein Flussdiagramm eines detaillierten Verarbeitungsbeispiels gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 10 ist ein Flussdiagramm eines detaillierten Verarbeitungsbeispiels gemäß einer Ausführungsform der vorliegenden Erfindung
  • 11 ist eine veranschaulichende Ansicht der Datenübertragungssteuerung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 12 ist ein Flussdiagramm eines Verarbeitungsbeispiels gemäß einem Vergleichsbeispiel.
  • 13 ist eine veranschaulichende Ansicht der Datenübertragungssteuerung gemäß einem Vergleichsbeispiel.
  • 14 ist ein Flussdiagramm eines Verarbeitungsbeispiels gemäß einem anderen Vergleichsbeispiel.
  • 15 ist eine Ansicht eines Konfigurationsbeispiels einer AT Attachment (ATA)/ATAPI-Schnittstellenschaltung.
  • 16A und 16B sind Ansichten, die Beispiele von Signalwellenformen während des PIO-Lesens und PIO-Schreibens darstellen.
  • 17A und 17B sind Ansichten, die Beispiele von Signalwellenformen während des DMA-Lesens und DMA-Schreibens darstellen.
  • 18A und 18B sind Ansichten, die Beispiele von Signalwellenformen während des UltraDMA-Lesens und UltraDMA-Schreibens darstellen.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORM
  • Nachstehend werden Ausführungsformen der vorliegenden Erfindung beschrieben.
  • Es ist zu beachten, dass die nachstehend beschriebenen Ausführungsformen den Gültigkeitsbereich der Erfindung, wie er durch die hier dargelegten Ansprüche definiert ist, nicht einschränken. Analog sollte die Gesamtkonfiguration der nachstehenden Ausführungsformen nicht dahingehend interpretiert werden, dass sie den von der vorliegenden Erfindung definierten Gegenstand einschränkt.
  • IEEE1394 und SBP-2
  • 1.1 Schichtaufbau
  • Ein Protokoll mit der Bezeichnung Serial Bus Protocol-2 (SBP-2) ist als ein Protokoll höherer Schicht vorgeschlagen worden, das einen Teil einer Funktion einer Transaktionsschicht des IEEE1394 enthält. Das SBP-2 (SBP im weit gefassten Sinn) ist vorgeschlagen worden, um es zu ermöglichen, dass ein Befehlssatz von SCSI (MMC-2) im Protokoll des IEEE1394 verwendet werden kann. Das SBP-2 ermöglicht, dass der Befehlssatz, der in einem dem SCSI-Standard entsprechenden elektronischen Instrument verwendet worden ist, in einem dem IEEE1394-Standard entsprechenden elektronischen Instrument verwendet werden kann, indem dem Befehlssatz nur minimale Änderungen hinzugefügt werden. Deshalb können Auslegung und Entwicklung eines elektronischen Instruments vereinfacht werden.
  • 1 ist eine schematische Darstellung einer Schichtstruktur (Protokollstapel) des IEEE1394 und des SBP-2.
  • Die Protokolle des IEEE1394 (IEEE1394-1995, P1394a, P1394b usw.) enthalten eine Transaktionsschicht, eine Link-Schicht und eine physikalische Schicht.
  • Die Transaktionsschicht stellt eine obere Schicht mit einer Schnittstelle (Dienst) in einer Transaktionseinheit bereit und führt Transaktionen, wie etwa eine Lesetransaktion, eine Schreibtransaktion und eine Synchronisiertransaktion über eine Schnittstelle aus, die von einer Link-Schicht in einer unteren Schicht bereitgestellt ist.
  • Bei der Lesetransaktion werden Daten von einem Responderknoten an einen Anfordererknoten übertragen. Bei der Schreibaktion werden Daten vom Anfordererknoten an den Responderknoten übertragen. Bei der Synchronisiertransaktion werden Daten vom Anfordererknoten an den Responderknoten übertragen, und der Responderknoten verarbeitet die Daten und schickt die verarbeiteten Daten an den Anfordererknoten zurück.
  • Die Link-Schicht stellt Adressierung, Datenprüfung, Datenblockbildung für Paketübertragung und -empfang, Zyklussteuerung für isochrone Übertragung und dgl. bereit.
  • Die physikalische Schicht übersetzt logische Symbole, die in der Link-Schicht verwendet werden, in elektrische Signale, arbitriert für den Bus und stellt eine physikalische Busschnittstelle bereit.
  • Wie aus 1 ersichtlich ist, stellt eine SBP-2-Schicht ein Protokoll höherer Schicht bereit, das einen Teil der Funktion der Transaktionsschicht des IEEE1394 (im weitgefassten Sinn erster Schnittstellenstandard) enthält.
  • 1.2 Verarbeitung des SBP-2
  • 2 zeigt ein Flussdiagramm der gesamten Verarbeitung des SBP-2 (erstes Protokoll höherer Schicht des ersten Schnittstellenstandards im weitgefassten Sinn).
  • In SBP-2 erfolgt eine Leseverarbeitung eines Konfigurations-ROM, um die angeschlossene Ausrüstung zu bestätigen, wie in 2 (Schritt T1) dargestellt ist.
  • Die Anmeldeverarbeitung, mit der es einem Initiator (z. B. Personal Computer) gestattet wird, ein Zugriffsrecht auf ein Ziel (z. B. Speichergerät) zu beschaffen (Genehmigung zur Anforderungsveranlassung; Benutzungsrecht für den Bus) erfolgt in (Schritt T2). Genauer gesagt, erfolgt die Anmeldeverarbeitung durch die Verwendung eines Anmeldeoperations-Anforderungsblocks (operation request block; ORB), der vom Initiator erzeugt wird.
  • Ein Holagent wird initialisiert (Schritt T3). Die Befehlsverarbeitung erfolgt unter Verwendung eines Befehlsblock-ORB (normaler Befehls-ORB) (Schritt T4), und die Abmeldeverarbeitung erfolgt unter Verwendung eines Abmelde-ORB (Schritt T5).
  • Bei der Befehlsverarbeitung in Schritt T4 überträgt der Initiator ein Schreibanforderungspaket (gibt eine Schreibanforderungstransaktion aus), um ein Türklingelregister (doorbell register) des Ziels zu rufen, wie mit A1 in 3 angezeigt ist. Das Ziel überträgt ein Leseanforderungspaket, und der Initiator schickt ein Leseantwortpaket entsprechend dem Leseanforderungspaket zurück, wie mit A2 angegeben ist. Dadurch kann der vom Initiator erzeugte ORB (Befehlsblock-ORB) in einen Datenpuffer (Paketpuffer) des Ziels geholt werden. Das Ziel analysiert den Befehl, der in dem in den Datenpuffer geholten 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 angezeigt ist. Damit können im Datenpuffer des Initiators gespeicherte Daten an das Ziel übertragen werden. In dem Fall, in dem das Ziel ein Speichergerät ist, werden die übertragenen Daten in das Speichergerät geschrieben.
  • Wenn der im ORB enthaltene Befehl ein SCSI-Schreibbefehl ist, überträgt das Ziel eine Reihe Schreibanforderungspakete an den Initiator, wie mit B1 in 4 angegeben ist. In dem Fall, in dem das Ziel ein Speichergerät ist, werden die aus dem Speichergerät ausgelesenen Daten an den Datenpuffer des Initiators übertragen.
  • Gemäß SBP-2 kann das Ziel Daten übertragen oder empfangen, indem ein Anforderungspaket (Ausgabe einer Transaktion) nach Belieben übertragen wird. Da es also nicht erforderlich ist, dass der Initiator und das Ziel synchron arbeiten, kann die Effizienz der Datenübertragung gesteigert werden.
  • Als ein Protokoll höherer Schicht des IEEE1394 ist ein AV/C-Befehl, der zum Übertragen von Bild- und Tondaten geeignet ist, zusätzlich zum BSP-2 vorgeschlagen worden, der zum Übertragen von Daten eines Speichergeräts oder eines Druckers geeignet ist. Als ein Protokoll zum Übertragen von Internet-Protokoll-(IP)Paketen auf dem IEEE1394-Bus ist auch ein Protokoll mit der Bezeichnung IPover1394 vorgeschlagen worden.
  • Im Fall der Übertragung von Daten zwischen dem Ziel und dem Initiator kann es sein, dass eine Seitentabelle im Datenpuffer des Initiators (Personal Computer oder Partnerknoten) vorhanden ist wie in 5A dargestellt oder dass keine Seitentabelle im Datenpuffer des Initiators vorhanden ist.
  • In dem Fall, in dem eine Seitentabelle vorliegt, sind die Adresse der Seitentabelle und die Anzahl Elemente in dem vom Initiator erzeugten ORB enthalten wie in 5B dargestellt. Die Adresse (Lese- oder Schreibadresse) der zu übertragenden Daten wird durch Verwenden der Seitentabelle indirekt adressiert.
  • In dem Fall, in dem keine Seitentabelle vorliegt, sind die Adresse und die Datenlänge im ORB enthalten, und die zu übertragenden Daten werden direkt adressiert wie in 5C dargestellt.
  • 1.3 Busbrückenfunktion
  • Wie aus 6A ersichtlich ist, hat ein Datenübertragungssteuersystem 10 bei der vorliegenden Ausführungsform eine Busbrückenfunktion zwischen einem Bus BUS1 (erster Bus), der IEEE1394 (SBP-2) entspricht, und einem Bus BUS2 (zweiter Bus), der ATA (IDE)/ATAPI entspricht. ATA (AT Attachment) wird in weitem Umfang als Schnittstellenstandard hauptsächlich für Festplattenlaufwerke verwendet. ATAPI (ATA Packet Interface) ist ein Schnittstellenstandard, der es ermöglicht, ATA für optische Plattenlaufwerke wie CD-Laufwerke zu verwenden.
  • Das in 6A dargestellte Datenübertragungssteuersystem 10, das die Busbrückenfunktion verwirklichen kann, gibt einen SCSI-(SBP-2)Befehl aus, der in einem ORB (im weitgefassten Sinn Befehlspaket) enthalten ist, der von einem Personal Computer 2 an ein Speichergerät 100 (optisches Plattenlaufwerk) als ein ATAPI-Befehl übertragen wird. Das Datenübertragungssteuersystem 10 decodiert den mittels SBP-2 übertragenen SCSI-Befehl, analysiert den Inhalt des SCSI-Befehls und startet die DMA-Übertragung zwischen dem Datenübertragungssteuersystem 10 und dem Speichergerät 100.
  • Da jedoch verschiedene Befehlstypen über den SBP-2-Bus übertragen werden, nehmen die Verarbeitungslast und die Verarbeitungszeit zu, wenn solche Befehle decodiert und analysiert werden.
  • Wie aus 6B ersichtlich ist, werden nur Befehle, die SCSI (Small Computer System Interface) und ATAPI (AT Attachment Packet Interface) gemeinsam sind, in Betriebssystemen (operating systems; OS) verwendet, die von Apple Computer, Inc., Microsoft Corporation und dgl. hergestellt werden, die auf dem Personal Computer 2 laufen.
  • Die vorliegende Erfindung verwendet ein Datenübertragungssteuersystem mit einer nachstehend beschriebenen Konfiguration, bei dem die obigen Probleme berücksichtigt sind.
  • 2. Gesamtkonfiguration
  • 7 zeigt ein Beispiel einer Gesamtkonfiguration eines Datenübertragungssteuersystems der vorliegenden Ausführungsform und ein elektronisches Instrument, das das Datenübertragungssteuersystem enthält. Die folgende Beschreibung basiert auf einem Fall, bei dem ein Ziel, das eine Datenübertragung zwischen dem Initiator und dem Ziel ausführt, z. B. ein Speichergerät ist (CD-Laufwerk, DVD-Laufwerk oder dgl.). Die vorliegende Erfindung ist jedoch nicht darauf beschränkt.
  • Der Personal Computer (Host-Computer) 2 mit einem Datenpuffer 4 ist mit einem elektronischen Instrument 8 über den Bus BUS1 (erster Bus) verbunden, der IEEE1394 entspricht. Das elektronische Instrument 8 enthält das Datenübertragungssteuersystem 10 und das Speichergerät 100 (im weitgefassten Sinn Gerät).
  • Das elektronische Instrument 8 kann eine System-CPU, einen Systemspeicher (ROM und RAM), einen Betriebsabschnitt, ein Signalverarbeitungsgerät und dgl. (nicht dargestellt) enthalten.
  • Das Datenübertragungssteuersystem 10 enthält eine physikalische Schichtschaltung (PHY) 14, eine Link-Schichtschaltung 20, eine SBP-2-Schaltung 22, eine Schnittstellenschaltung 30, eine Paketmanagementschaltung 38 und einen Paketpuffer 40 (Datenpuffer). Das Datenübertragungssteuersystem 10 enthält eine CPU 42 und einen Flash-Speicher 44 (EEPROM). Das Datenübertragungssteuersystem 10 enthält Firmware 50, von der Verarbeitungsmodule (Programm) im Flash-Speicher 44 gespeichert sind, und die von der CPU 42 (im weitgefassten Sinn Prozessor) ausgeführt wird. Das Datenübertragungssteuersystem 10 der vorliegenden Ausführungsform enthält nicht notwendi gerweise alle in 7 dargestellten Schaltungs- und Funktionsblöcke. Einige der Schaltungs- und Funktionsblöcke können entfallen.
  • Die physikalische Schichtschaltung 14 ist eine Schaltung zur hardwaremäßigen Verwirklichung des Protokolls der in 1 dargestellten physikalischen Schicht. Die physikalische Schichtschaltung 14 hat die Funktion der Übersetzung der von der Link-Schichtschaltung 20 verwendeten logischen Symbole in elektrische Signale.
  • Die Link-(und Transaktions-)Schichtschaltung 20 ist eine Schaltung zur hardwaremäßigen Verwirklichung eines Teils der Protokolle der in 1 dargestellten Link-Schicht und Transaktionsschicht. Die Link-Schichtschaltung 20 stellt verschiedene Dienste zur Paketübertragung zwischen den Knoten bereit.
  • Die Datenübertragung gemäß IEEE1394 kann zwischen dem Datenübertragungssteuersystem 10 und dem Personal Computer 2 (im weitgefassten Sinn ein elektronisches Instrument) über den Bus BUS1 (erster Bus) erfolgen, indem die Funktionen der physikalischen Schichtschaltung 14 und der Link-Schichtschaltung 20 genutzt werden.
  • Die SBP-2-Schaltung 22 (Übertragungsausführungsschaltung) ist eine Schaltung, die einen Teil des SBP-2-Protokolls und einen Teil der Transaktionsschicht hardwaremäßig verwirklicht. Die Funktion der SBP-2-Schaltung 22 ermöglicht eine Verarbeitung zum Teilen der Übertragungsdaten in eine Reihe von Paketen und die kontinuierliche Übertragung der geteilten Reihe von Paketen.
  • Die Schnittstellenschaltung 30 ist eine Schaltung, die die Schnittstellenverarbeitung zwischen dem Datenübertragungssteuersystem 10 und dem Speichergerät 100 ausführt. Eine Datenübertragung gemäß ATA (AT Attachment) und ATAPI (ATA Packet Interface) kann zwischen dem Datenübertragungssteuersystem 10 und dem Speichergerät 100 über den Bus BUS2 (zweiter Bus) durch die Funktion der Schnittstellenschaltung 30 erfolgen.
  • Das Datenübertragungssteuersystem 10 kann mit einer Busbrückenfunktion zwischen dem IEEE1394 (im weitgefassten Sinn erster Schnittstellenstandard) und dem ATA (IDE)/ATAPI (im weitgefassten Sinn zweiter Schnittstellenstandard) durch die Bereitstellung der physikalischen Schichtschaltung 14, der Link-Schichtschaltung 20 und der Schnittstellenschaltung 30 versehen werden, wie in 7 dargestellt ist.
  • Eine DMA-Steuerung 32 in der Schnittstellenschaltung 30 ist eine Schaltung zur Ausführung einer Direct Memory Access (direkter Speicherzugriff) (DMA)-Übertragung zwischen dem Datenübertragungssteuersystem 10 und dem Speichergerät 100 über den Bus BUS2.
  • Das mit dem Bus BUS2 verbundene Speichergerät 100 enthält eine Schnittstellenschaltung 102 zur Ausführung der Datenübertragung gemäß ATA (IDE)/ATAPI und eine Zugriffssteuerschaltung 104, die den Zugriff (Schreiben oder Lesen) auf einen Speicher 106 wie eine optische Platte oder Festplatte steuert.
  • Die Puffermanagementschaltung 38 ist eine Schaltung, die eine Schnittstelle zwischen dem Paketpuffer 40 und der Link-Schichtschaltung 20 und dgl. verwaltet. Die Puffermanagementschaltung 38 enthält Register zur Steuerung der Puffermanagementschaltung 38, eine Arbitrierungsschaltung, die für die Busverbindung mit dem Paketpuffer 40 arbitriert, eine Folgesteuerung, die verschiedene Steuersignale erzeugt und dgl.
  • Die Puffermanagementschaltung 38 enthält einen Zeigermanagementabschnitt 39. Der Zeigermanagementabschnitt verwaltet Zeiger des Paketpuffers 40, indem er ein Ringpufferverfahren anwendet und aktualisiert eine Mehrzahl Zeiger zum Schreiben und Lesen.
  • Der Paketpuffer 40 (Paketspeicher oder Datenpuffer) ist ein Puffer zum vorübergehenden Speichern von Paketen (übertragene Daten) und durch Hardware wie einen SRAM, SDRAM oder DRAM gebildet. Bei der vorliegenden Ausführungsform arbeitet der Paketpuffer 40 als Paketspeicherabschnitt mit Direktzugriff. Der Paketpuffer 40 braucht nicht im Datenübertragungssteuersystem 10 enthalten zu sein und kann extern bereitgestellt werden.
  • Die CPU (im weitgefassten Sinn Prozessor) steuert das gesamte Gerät und die Datenübertragung.
  • Der Flash-Speicher 44 (EEPROM) ist ein elektrisch löschbarer, programmierbarer, nicht flüchtiger Speicher. Die Verarbeitungsmodule (Programm) der Firmware 50 sind im Flash-Speicher 44 gespeichert.
  • Die Firmware 50 ist ein Programm, das verschiedene Verarbeitungsmodule (Verarbeitungsroutinen) enthält und auf der CPU 42 läuft. Die Protokolle der Transaktionsschicht und dgl. werden von der Firmware 50 und der Hardware wie der CPU 42 verwirklicht.
  • Die Firmware 50 (F/W) enthält einen Kommunikationsabschnitt 52, einen Managementabschnitt 60, einen Holabschnitt 70, einen Speicherungsaufgabenabschnitt 80 und einen Herunterladerabschnitt 90. Die Firmware 50 braucht nicht unbedingt alle diese Funktionsblöcke (Module) zu enthalten. Einige der Funktionsblöcke können entfallen.
  • Der Kommunikationsabschnitt 52 ist ein Verarbeitungsmodul, das als Schnittstelle zwischen der Firmware 50 und der Hardware, wie etwa der physikalischen Schichtschaltung 14 und der Link-Schichtschaltung 20 fungiert.
  • Der Managementabschnitt 60 (Managementagent) ist ein Verarbeitungsmodul, das Anmelden, neu Verbinden, Abmelden, Rücksetzen (Reset) und dgl. verwaltet. In dem Fall, in dem der Initiator eine Anmeldung beim Ziel anfordert, empfängt der Managementabschnitt 60 die Anmeldungsanforderung.
  • Der Holabschnitt 70 (Holagent) ist ein Verarbeitungsmodul, das einen Operationsanforderungsblock (ORB) empfängt, einen Status ausgibt und den Speicherungsaufgabenabschnitt 80 auffordert, eine Befehlsverarbeitung auszuführen. Der Holabschnitt 70 kann auch eine Verknüpfungsliste eines ORB handhaben, die vom Holabschnitt 70 als Antwort auf eine Anforderung vom Initiator geholt wird, wodurch er sich vom Managementabschnitt 60 unterscheidet, der nur eine einzige Anforderung handhaben kann.
  • Der Speicherungsaufgabenabschnitt 80 ist ein Verarbeitungsmodul zur Verarbeitung eines in einem ORB enthaltenen Befehls und zur Verarbeitung einer DMA-Übertragung.
  • Der Herunterladerabschnitt 90 ist ein Verarbeitungsmodul zur Aktualisierung des Verarbeitungsmoduls der Firmware 50, die im Flash-Speicher 44 gespeichert ist, und dgl.
  • Der Speicherungsaufgabenabschnitt 80 enthält einen Befehlsverarbeitungsabschnitt 82 und einen DMA-Übertragungsanweisungsabschnitt 84.
  • Der Befehlsverarbeitungsabschnitt 82 führt verschiedene Arten der Verarbeitung eines ORB (im weitgefassten Sinn Befehlspaket oder Befehlspaket zur Datenübertragungsoperationsanforderung), der über den Bus BUS1 (erster Bus gemäß dem ersten Schnittstellenstandard wie IEEE1394) übertragen wird. Genauer gesagt, empfängt der Befehlsverarbeitungsabschnitt 82 einen ORB vom Bus BUS1 und gibt einen im ORB enthaltenen Befehl (SCSI- oder MMC-2-Befehl) an das Speichergerät 100 (im weitgefassten Sinn Gerät) aus, das mit dem Bus BUS2 (zweiter Bus gemäß dem zweiten Schnittstellenstandard wie ATA/ATAPI) verbunden ist. In diesem Fall gibt der Befehlsverarbeitungsabschnitt 82 den vom ORB abgerufenen Befehl (Befehlspaket) an das Speichergerät 100 aus, ohne den Befehl zu decodieren (Decodierverarbeitung zur Prüfung der Datenzählung, Anzahl der Sektoren oder im Befehl angegebenen Parameter), speziell ohne den Inhalt des Befehls zu analysieren.
  • Der DMA-Übertragungsanweisungsabschnitt 84 stellt eine feste (vorgegebene) DMA-Datenlänge ein, weist den Start (Veranlassung) einer DMA-Übertragung (Datenübertragung ohne Beteiligung der CPU) über den Bus BUS2 an und dgl.
  • Genauer gesagt, stellt der DMA-Übertragungsanweisungsabschnitt 84 eine feste DMA-Datenlänge (DMA-Datengröße) ein, ungeachtet des Befehls (im ORB enthaltener Befehl), der vom Befehlsverarbeitungsabschnitt 82 ausgegeben worden ist. Speziell stellt der DMA-Übertragungsanweisungsabschnitt 84 eine feste DMA-Datenlänge in einem gegeben Register (Einstellregister für die DMA-Datenlänge) der Schnittstellenschaltung 30 ein, selbst wenn der Befehl z. B. ein Lesebefehl oder ein Lese-CD-Befehl ist. Der DMA-Übertragungsanweisungsabschnitt 84 weist die Schnittstellenschaltung 30 (Speichergerät 100) und dgl. an, die DMA-Übertragung für die DMA-Datenlänge zu starten. Genauer gesagt, weist der DMA-Übertragungsanweisungsabschnitt 84 die Ausgabe eines Quittierungssignals für die DMA-Übertragungsanforderung (DMACK) an als Antwort auf ein DMA-Übertragungsanforderungssignal (DMARQ) vom Speichergerät 100, die DMA-Übertragung zu starten.
  • Der DMA-Übertragungsanweisungsabschnitt 84 bricht die gestartete DMA-Übertragung ab, wenn das mit dem Bus BUS2 verbundene Speichergerät 100 das Datenübertragungssteuersystem 10 über die Beendigung der Befehlsverarbeitung informiert, indem ein Signal INTRQ (Interrupt) oder dgl. verwendet wird. Genauer gesagt, gibt der DMA-Übertragungsanweisungsabschnitt 84 die Schnittstellenschaltung 30 (DMA-Steuerung 32) und dgl. aus einem DMA-Übertragungs- oder Empfangsstatus frei und löscht einen DMA-Übertragungszähler auf null (Anfangswert).
  • Als die feste DMA-Datenlänge kann ein Wert verwendet werden, der größer ist als die Speicherkapazität (z. B. 670 MByte (CD) oder 4,7 GByte (DVD)) des Speichers 106 (Medium, in das bzw. aus dem Übertragungsdaten vom Speichergerät 100 geschrieben bzw. gelesen werden). Ein Wert, der größer ist als eine Datenlänge, die mit einem Befehl (SBP-2 oder ATAPI) (maximale Datenlänge, die durch die Anzahl Bits im Datenlängenfeld des Pakets angegeben werden kann), kann ebenfalls verwendet werden. Eine maximale Datenlänge, die durch Einschränkungen seitens der Hardware, des Schnittstellenstandards und des Protokolls bestimmt wird, kann ebenfalls verwendet werden. Die feste DMA-Datenlänge kann im Register (D-Flipflops oder Speicher) oder dgl. im Voraus eingestellt werden und braucht nicht bei jedem Start einer DMA-Übertragung eingestellt zu werden.
  • 3. Einzelheiten der Verarbeitung
  • 8 ist ein Flussdiagramm, das eine Übersicht über eine ATAPI-Paketbefehlsverarbeitung zeigt.
  • ATAPI ist ein Schnittstellenstandard zur Steuerung von Multimediageräten wie CD- und DVD-Laufwerke. Ein ATAPI-Paketbefehl befindet sich in einer oberen Schicht eines ATA-Befehls und wird mittels des ATA-Befehls ausgegeben.
  • Bei ATA wird ein Befehl ausgeführt, indem Parameter in einem ATA-Register eingestellt werden und der Befehl in ein Befehlsregister geschrieben wird. Bei ATAPI wird nur ein Befehl PACKET in das Befehlsregister geschrieben, und ein Gerätesteuerbefehl wird in der anschließenden ATAPI-Paketbefehlsübertragung übertragen. Die Daten werden nach der Paketbefehlsübertragung an ein Datenregister übertragen. Dadurch kann ATAPI durch Nutzen des ATA-Steuersystems verwirklicht werden.
  • Das Datenübertragungssteuersystem 10 der vorliegenden Erfindung verwirklicht die Datenübertragung über den Bus BUS2 mittels des ATAPI-Paketbefehls.
  • Die 9 und 10 zeigen detaillierte Flussdiagramme der Verarbeitung bei der vorliegenden Ausführungsform.
  • Wenn das Datenübertragungssteuersystem 10 während der SBP-2-Verarbeitung einen ORB empfängt (Schritt S1), erfasst das Datenübertragungssteuersystem 10 eine SBP-2-Datenlänge aus der Datengröße des ORB (oder der Seitentabelle) und stellt eine DMA-Datenlänge z. B. auf 2 TByte (Terabyte) ein (Schritt S2).
  • Insbesondere führt das Datenübertragungssteuersystem 10 keine Decodierverarbeitung (Erfassen der Datenzählung oder der Anzahl der Sektoren, Analyse der Parameter und dgl.) des im ORB enthaltenen Befehls (Lesebefehl, Schreibbefehl, Lese-CD-Befehl oder dgl.) aus, wie mit E1 in 11 angegeben. Das Datenübertragungssteuersystem 10 stellt eine feste DMA-Datenlänge (2 TByte) ein, ungeachtet des Typs des im ORB enthaltenen Befehls. Das Datenübertragungssteuersystem 10 gibt den im ORB enthaltenen Befehl über den Bus BUS2 an das Speichergerät 100 aus, wie mit E2 in 11 angegeben ist (Schritt S10).
  • 10 zeigt ein Flussdiagramm der Verarbeitung einer Befehlsausgabe in Schritt S10.
  • Das Datenübertragungssteuersystem 10 wählt ein Laufwerk (Master/Slave) (Schritt S21). Das Datenübertragungssteuersystem 10 bestimmt, ob das Speichergerät 100 beschäftigt ist oder nicht (Schritt S22). Wenn das Speichergerät 100 nicht beschäftigt ist, gibt das Datenübertragungssteuersystem 10 einen Befehl PACKET aus (Schritt S23; siehe 8). Das Datenübertragungssteuersystem 10 bestimmt dann, ob das Speichergerät 100 beschäftigt ist oder nicht, oder ob das Signal DMARQ vom Speichergerät 100 empfangen worden ist oder nicht (Schritt S24). Wenn das Speichergerät 100 nicht beschäftigt ist oder wenn das Signal DMARQ vom Speichergerät empfangen worden ist, bestimmt das Datenübertragungssteuersystem 10, ob ein Fehler aufgetreten ist oder nicht (Schritt S25). Wenn ein Fehler aufgetreten ist, bricht das Datenübertragungssteuersystem 10 den Befehl ab (Schritt S28) und geht zur Verarbeitung der Statusübertragung in Schritt S19 in 9 über.
  • Wenn kein Fehler aufgetreten ist, überträgt das Datenübertragungssteuersystem 10 einen ATAPI-Paketbefehl (Schritt S26; siehe 8). Das Datenübertragungssteuersystem 10 bestimmt dann, ob ein Fehler aufgetreten ist oder nicht (Schritt S27). Wenn ein Fehler aufgetreten ist, bricht das Datenübertragungssteuersystem 10 den Befehl ab (Schritt S28) und geht zur Verarbeitung der Statusübertragung in Schritt S19 in 9 über. Wenn kein Fehler aufgetreten ist, schließt das Datenübertragungssteuersystem 10 die Verarbeitung der Befehlsausgabe normal ab.
  • Nachstehend wird die in 9 dargestellte Verarbeitung beschrieben. Nachdem die Verarbeitung der Befehlsausgabe abgeschlossen worden ist, bestimmt das Datenübertragungssteuersystem 10, ob die Datenlänge null ist oder nicht (Schritt S11). Wenn der im ORB enthaltene Befehl ein Befehl Testeinheit bereit (test unit ready) oder ein Befehl Einheit Start/Stopp (start/stop unit) ist, beträgt die Datenlänge null. Wenn die Datenlänge null ist, geht das Datenübertragungssteuersystem 10 zu Schritt S17 über.
  • Wenn die Datenlänge nicht null ist, bestimmt das Datenübertragungssteuersystem 10, ob das Speichergerät 100 das Signal DMARQ (DMA-Übertragungsanforderungssignal) gesendet hat oder nicht, wie mit E3 in 11 angegeben (Schritt S12). Wenn des Signal DMARQ gesendet worden ist, weist das Datenübertragungssteuersystem 10 den Start von 2 TBytes DMA-Übertragung zwischen dem Datenübertragungssteuersystem 10 und dem Speichergerät 100 an, wie mit E4 in 11 angegeben (Schritt S13).
  • Insbesondere werden Signale wie das DMA-Übertragungsanforderungssignal DMARQ und das DMARQ-Quittierungssignal DMACK für den Bus BUS2 definiert, der ATA/ATAPI entspricht, was später beschrieben wird. Wenn die Schnittstellenschaltung 102 des Speichergeräts 100 das Signal DMARQ sendet und die Schnittstellenschaltung 30 des Datenübertragungssteuersystems 10 dann das Signal DMACK sendet, wird die DMA-Übertragung gestartet.
  • Das Datenübertragungssteuersystem 10 weist dann den Start der Datenübertragung für die SBP-2-Datenlänge zwischen dem Datenübertragungssteuersystem 10 und dem PC (Personal Computer) 2 an, wie mit E5 in 11 angegeben ist (Schritt S14).
  • Bei der vorliegenden Ausführungsform wird die Datenübertragung zwischen dem Datenübertragungssteuersystem 10 und dem PC unter Verwendung der SBP-2-Schaltung 22 (Hardware-Schaltung) verwirklicht. Dadurch können Daten (Schreibdaten), die vom PC über den Bus BUS1 empfangen werden, automatisch über den Paketpuffer 40 und den Bus BUS2 an das Speichergerät 100 übertragen werden, nachdem die SBP-2-Datenlänge und die DMA-Datenlänge eingestellt worden sind. Außerdem können Daten (Lesedaten), die vom Speichergerät 100 über den Bus BUS2 empfangen werden, automatisch über den Paketpuffer 40 und den Bus BUS1 an den PC übertragen werden. Die Firmware 50 (CPU 42) braucht deshalb erst dann an der Datenübertragungsverarbeitung teilzunehmen, wenn die SBP-2-Übertragung über den Bus BUS1 und die ATAPI DMA-Übertragung über den Bus BUS2 beendet sind. Dies verringert die Verarbeitungslast der Firmware erheblich.
  • Wenn das Datenübertragungssteuersystem 10 bestimmt, dass die Datenübertragung (hardwaremäßige SBP-2-Übertragung) zwischen dem Datenübertragungssteuersystem 10 und dem PC beendet worden ist (Schritt S16), bestimmt das Datenübertragungssteuersystem 10, ob die Befehlsverarbeitung des Speichergeräts 100 abgeschlossen worden ist oder nicht (Schritt S17). Die Bestimmung erfolgt durch die Verwendung des Interrupt-Signals INTRQ, das in ATA/ATAPI oder dgl. definiert ist. Wenn das Datenübertragungssteuersystem 10 bestimmt, dass die Befehlsverarbeitung beendet worden ist, bricht das Datenübertragungssteuersystem 10 die DMA-Übertragung ab, wie mit E6 in 13 angegeben (Schritt S18). Das Datenübertragungssteuersystem 10 überträgt dann den Status an den PC, wie mit E7 angegeben ist (Schritt S19).
  • Bei der vorliegenden Ausführungsform wird ein hinreichend großer Wert (2 TByte) als die DMA-Datenlänge eingestellt, wie mit dem Schritt S2 in 9 angegeben ist. Die DMA-Übertragung ist deshalb nicht beendet, weil die DMA-Datenlänge nicht null wird. Deshalb wird die DMA-Übertragung unter der Bedingung abgebrochen, dass die Befehlsverarbeitung beendet ist (die DMA-Übertragung wird als abgeschlossen betrachtet), wie mit Schritt S17 angegeben ist.
  • Um es genauer zu sagen: Da die DMA-Datenlänge selbst dann nicht null wird, wenn die Datenübertragung über den Bus BUS2 im Wesentlichen abgeschlossen ist, befindet sich das Datenübertragungssteuersystem 10 in einem Übertragungs- oder Empfangs-Wartezustand für die DMA-Übertragung. Wenn das Speichergerät 100 das Datenübertragungssteuersystem 10 in diesem Zustand über die Beendigung der Befehlsverarbeitung durch Senden des Interrupt-Signals INTRQ informiert, beendet das Datenübertragungssteuersystem 10 bei der vorliegenden Ausführungsform den Übertragungs- oder Empfangs-Wartezustand für die DMA-Übertragung und bricht die DMA-Übertragung ab. Dadurch kann die DMA-Übertragung normal abgeschlossen werden.
  • Da bei der vorliegenden Ausführungsform eine hinreichend große DMA-Datenlänge eingestellt ist, kann der SCSI-Befehl, der im vom Bus BUS1 übertragenen ORB enthalten ist, über den Bus BUS2 an das Speichergerät 100 ausgegeben werden, ohne dass der Inhalt des SCSI-Befehls analysiert wird. Deshalb kann die Decodierverarbeitung des Befehls entfallen, wodurch die Verarbeitungslast erheblich verringert werden kann. Selbst wenn die DMA-Übertragung nach dem Einstellen einer hinreichend großen DMA-Datenlänge gestartet wird, kann außerdem die DMA-Übertragung normal beendet werden, indem die DMA-Übertragung abgebrochen wird, nachdem das Speichergerät 100 über die Beendigung der Befehlsverarbeitung informiert worden ist.
  • Unter SCSI wird anders als unter ATAPI ein Steuer-Byte an das Ende eines Befehls hinzugefügt. SCSI verwendet 6 Byte-, 10 Byte- und 12 Byte-Befehle, und ATAPI verwendet nur 12 Byte-Befehle. Ein Befehlsblock in einem ORB umfasst 12 Bytes. Ein Befehl aus weniger als 12 Bytes wird aufgefüllt und dem Befehl wird kein Steuer-Byte hinzugefügt. Deshalb tritt selbst dann kein Problem auf, wenn ein in einem ORB enthaltener SCSI-(MMC-2)Befehl an das ATAPI-Speichergerät 100 ausgegeben wird. Bei der vorliegenden Ausführungsform kann ein in einem ORB enthaltener Befehl an das Speichergerät 100 ausgegeben werden, nachdem einige Änderungen an den Befehl hinzugefügt worden sind.
  • 12 ist ein Flussdiagramm eines Verfahrens zur Datenübertragungssteuerung bei einem Vergleichsbeispiel der vorliegenden Ausführungsform. Bei dem in 12 dargestellten Vergleichsbeispiel wird die DMA-Datenlänge durch Decodieren eines in einem ORB enthaltenen Befehls erfasst.
  • Befehle, die decodiert werden sollten, können z. B. wie folgt klassifiziert werden.
  • Beispiele für Befehle zum Übertragen oder Empfangen von Daten sind u. a. ein Modusabfragebefehl, ein Modusauswahlbefehl und ein Abfragebefehl, die die Datenlänge mit der Anzahl der Bytes angeben, sowie ein Lesebefehl und ein Schreibbefehl, die die Datenlänge mit der Anzahl der Sektoren angeben und dgl.
  • Beispiele für Befehle, die keine Daten übertragen oder empfangen, sind u. a. ein Befehl Testeinheit bereit, ein Befehl Einheit Start/Stopp und dgl.
  • In dem Fall, in dem die Datenlänge durch die Anzahl der Sektoren angegeben wird, ist es erforderlich, die Sektorlänge anzugeben, um die tatsächliche Datenlänge zu berechnen. In diesem Fall kann die Sektorlänge durch Anwenden der folgenden Verfahren angegeben werden.
  • (1) Angeben der Sektorlänge durch den Modusauswahlbefehl (Vorläufer[legacy)-SCSI-Spezifikation)
  • Die Sektorlänge wird durch einen Parameter eines Modusauswahlbefehls angegeben. Wenn das Speichergerät (CD-Laufwerk) den Modusauswahlbefehl normal ausführt, wird die im Modusauswahlbefehl angegebene Sektorlänge als die anschließende Sektorlänge verwendet.
  • (2) Angeben der Sektorlänge durch den Lese-CD-Befehl
  • In dem Fall, in dem die Sektorlänge durch einen Parameter eines Lese-CD-Befehls angegeben wird, ist die Sektorlänge nur für einen Befehl wirksam.
  • Beim Vergleichsbeispiel ist die in 12 dargestellte Verarbeitung erforderlich, um mit solchen verschiedenen Befehlen umzugehen.
  • Wenn wie in 12 dargestellt das Datenübertragungssteuersystem einen ORB empfängt (Schritt S31), decodiert das Datenübertragungssteuersystem einen im ORB enthaltenen Befehl und bestimmt, ob die Datenzählung in einer Byte-Einheit angegeben ist oder nicht (Schritt S32). Wenn die Datenzählung in einer Byte-Einheit angegeben ist, verwendet das Datenübertragungssteuersystem die im Befehl angegebene Datenzählung als die Datengröße (Schritt S33). Wenn die Datenzählung nicht in einer Byte-Einheit angegeben ist, bestimmt das Datenübertragungssteuersystem ob die Datenzählung in einer Sektoreinheit angegeben ist oder nicht (Schritt S34). Wenn die Datenzählung nicht in einer Sektoreinheit angegeben ist, stellt das Datenübertragungssteuersystem die Datengröße auf null ein (Schritt S35).
  • Wenn die Datenzählung in einer Sektoreinheit angegeben ist, bestimmt das Datenübertragungssteuersystem, ob die Sektorgröße vorliegt oder nicht (Schritt S36). Wenn die Sektorgröße nicht vorliegt, verwendet das Datenübertragungssteuersystem 2048 Bytes × (Anzahl Sektoren im Befehl) als die Datengröße (Schritt S37). Wenn die Sektorgröße vorliegt, verwendet das Datenübertragungssteuersystem die (angegebene Sektorgröße) × (Anzahl Sektoren im Befehl) als die Datengröße (Schritt S38).
  • Bei dem in 12 dargestellten Vergleichsbeispiel stellt das Datenübertragungssteuersystem die durch die obige Verarbeitung erhaltene Datengröße als die SBP-2-Datenlänge und die DMA-Datenlänge ein (Schritt S39). Das Datenübertragungssteuersystem führt dann eine Verarbeitung in den Schritten S40 bis S48 aus. Bei der Verarbeitung in den Schritten S40 bis S48 bestimmt das Datenübertragungssteuersystem auf Basis der DMA-Datenlänge und dgl. in Schritt S45 (siehe F6 in 13), ob die DMA-Übertragung beendet ist oder nicht, was ein Unterschied zur Verarbeitung bei der in 9 dargestellten vorliegenden Ausführungsform ist. Die Abbruchverarbeitung der DMA-Übertragung in Schritt S18 von 9 ist in 12 nicht vorgesehen.
  • Da bei dem in 12 dargestellten Vergleichsbeispiel die Befehlsdecodier-(Analyse)Verarbeitung in den Schritten S32 bis S38 erfolgt (siehe F1 in 13), wird die Verarbeitungslast erhöht. Da andererseits die Befehlsdecodierverarbeitung bei der in 9 dargestellten vorliegenden Ausführungsform nicht erforderlich ist, ist die vorliegende Ausführungsform unter diesem Gesichtspunkt vorteilhafter.
  • 14 ist ein Flussdiagramm, das die Verarbeitung eines Datenübertragungssteuerverfahren bei einem weiteren Vergleichsbeispiel zeigt. Bei dem in 14 dargestellten Vergleichsbeispiel wird die DMA-Datenlänge anhand einer Seitentabelle eines ORB und dgl. erfasst.
  • Wenn in 14 das Datenübertragungssteuersystem einen ORB empfängt (Schritt S51), bestimmt das Datenübertragungssteuersystem, ob die Datengröße im ORB null ist oder nicht (Schritt S52). Wenn die Datengröße im ORB null ist, geht das Datenübertragungssteuersystem zu Schritt S56 über. Wenn die Datengröße im ORB nicht null ist, bestimmt das Datenübertragungssteuersystem, ob eine Seitentabelle im Datenpuffer des PC vorhanden ist oder nicht (Schritt S53). Wenn eine Seitentabelle vorhanden ist, liest das Datenübertragungssteuersystem die gesamte Seitentabelle und berechnet die Datengröße (Schritt S54). Das Datenübertragungssteuersystem stellt dann die berechnete Datengröße als die SBP-2-Datenlänge und die DMA-Datenlänge ein (Schritt S56). Die anschließende Verarbeitung in den Schritten S60 bis S68 ist die gleiche wie die Verarbeitung in den Schritten S40 bis S48 in 12.
  • Da bei dem in 14 dargestellten Vergleichsbeispiel die Verarbeitung in den Schritten S52 bis S54 erforderlich ist, nimmt die Verarbeitungslast zu. Unter diesem Gesichtspunkt ist deshalb die in 9 dargestellte vorliegende Ausführungsform vorteilhafter.
  • 4. ATA/ATAPI-Schnittstellenschaltung
  • 15 zeigt ein Konfigurationsbeispiel der ATA/ATAPI-Schnittstellenschaltung 30. Die Schnittstellenschaltung 30 enthält nicht notwendigerweise alle in 15 dargestellten Schaltungsblöcke. Manche der Schaltungsblöcke können entfallen.
  • Ein FIFO 31 ist ein Puffer zum Einregeln (Puffern) der Differenz der Datenübertragungsrate. Die DMA-Steuerung 32 ist eine Schaltung, die den FIFO 31 und eine Schnittstellenkernschaltung 34 steuert (REQ/ACK-Steuerung).
  • Die Schnittstellenkernschaltung 34 ist eine Schaltung, die die DMA-Übertragung und dgl. steuert. Ein in der Schnittstellenkernschaltung 34 enthaltener Zähler 35 ist ein ATA (IDE)/ATAPI-Reset-Zähler. Eine UDMA-Schaltung 36, die in der Schnittstellenkernschaltung 34 enthalten ist, ist eine Schaltung zum Steuern der ATA/ATAPI UltraDMA-Übertragung. Die UDMA-Schaltung 36 enthält einen UltraDMA FIFO 37 und eine UltraDMA CRC-Berechnungsschaltung 38.
  • Ein Register 33 ist ein Register zum Steuern des Starts einer DMA-Übertragung und dgl. Der Zugriff auf das Register 33 ist über die Firmware 50 (CPU 42) möglich.
  • Ein Signal CS[1:0] ist ein Chip-Auswahlsignal, das dazu dient, auf jedes der ATA-Register zuzugreifen. Ein Signal DA[2:0] ist ein Adresssignal zum Zugriff auf Daten oder einen Datenport.
  • Die Signale DMARQ und DMACK sind Signale, die zur DMA-Übertragung verwendet werden. Das Speichergerät 100 (Gerät) sendet (aktiviert) das Signal DMARQ, wenn die Vorbereitungen für die Datenübertragung abgeschlossen sind, und das Datenübertragungssteuersystem 10 (Host) sendet das Signal DMACK, wenn die DMA-Übertragung als Antwort auf das Signal DMARQ veranlasst wird.
  • Ein Signal DIOW (STOP) ist ein Schreibsignal, das zum Schreiben von Daten in ein Register oder einen Datenport verwendet wird. Das Signal DIOW fungiert während einer UltraDMA-Übertragung als ein STOP-Signal. Ein Signal DIOR (HDMARDY, HSTROBE) ist ein Lesesignal, das zum Lesen von Daten aus einem Register oder einem Datenport verwendet wird. Das Signal DIOR fungiert während einer UltraDMA-Übertragung als ein HDMARDY/HSTROBE-Signal.
  • Ein Signal IORDY (DDMARDY, DSTROBE) dient als ein Wartesignal, wenn das Speichergerät 100 die Vorbereitung für eine Datenübertragung und dgl. nicht abschließt. Das Signal IORDY fungiert während einer UltraDMA-Übertragung als ein DDMARDY/DSTROBE-Signal.
  • Das Signal INTRQ ist ein Signal, das das Speichergerät 100 (Gerät) verwendet, um eine Unterbrechung zum Datenübertragungssteuersystem 10 (Host) anzufordern. Wenn das Datenübertragungssteuersystem 10 den Inhalt des Statusregisters des Speichergeräts 100 liest, nachdem das Signal INTRQ gesendet worden ist, negiert (deaktiviert) das Speichergerät 100 das Signal INTRQ nach Ablauf einer gegebenen Zeitspanne. Das Speichergerät 100 kann das Datenübertragungssteuersystem 10 über den Abschluss der Befehlsverarbeitung durch Verwenden des Signals INTRQ informieren.
  • Die 16A bis 18B zeigen Beispiele der Signalwellenformen der obigen ATA-Signale. In den 16A bis 18B bedeutet "#", dass das Signal ein negatives logisches Signal ist (auf Pegel L aktiviert).
  • Die 16A und 16B sind Beispiele für Signalwellenformen während des PIO (Parallel I/O; Parallel-E/A)-Lesens und PIO-Schreibens. Das ATA-Statusregister wird durch das in 16A dargestellte PIO-Lesen gelesen. Durch das in 16B dargestellte PIO-Schreiben wird in das Steuerregister geschrieben. Die Ausgabe des Befehls PACKET und die Übertragung des ATAPI-Paketbefehls an das Speichergerät 100 (siehe 8 und 10) kann z. B. durch die PIO-Übertragung erfolgen.
  • Die 17A und 17B sind Beispiele für Signalwellenformen während des DMA-Lesens und DMA-Schreibens. Das Speichergerät 100 (Schnittstellenschaltung 102) sendet das Signal DMARQ (Pegel H), wenn die Vorbereitungen für eine Datenübertragung abgeschlossen sind. Das Datenübertragungssteuersystem 10 (Schnittstellenschaltung 30) sendet das Signal DMACK (Pegel L) als Antwort auf das Signal DMARQ, um die DMA-Übertragung zu starten. Die DMA-Übertragung der Daten DD[15:0] erfolgt durch Verwenden des Signals DIOR (während des Lesens) oder DIOW (während des Schreibens).
  • Die 18A und 18B sind Beispiele für Signalwellenformen während des UltraDMA-Lesens und UltraDMA-Schreibens. Das Speichergerät 100 sendet das Signal DMARQ, wenn die Vorbereitungen für eine Datenübertragung abgeschlossen sind. Das Datenübertragungssteuersystem 10 sendet das Signal DMACK als Antwort auf das Signal DMARQ, um die DMA-Übertragung zu starten. Die UltraDMA-Übertragung der Daten DD[15:0] erfolgt durch Verwenden der Signale DIOW, DIOR und IORDY.
  • Die vorliegende Erfindung ist nicht auf die vorliegende Ausführungsform beschränkt. Verschiedene Modifikationen und Variationen sind innerhalb des Gültigkeitsbereichs der vorliegenden Erfindung möglich.
  • So können beispielsweise die Begriffe (IEEE1394, ATA/ATAPI, SBP-2, IPover1394, ORB, Personal Computer/Speichergerät, Festplattenlaufwerk/optisches Plattenlaufwerk, Speichergerät, CPU und dgl.), die in der Beschreibung als Begriffe in einem weitgefassten Sinn (erster Schnittstellenstandard, zweiter Schnittstellenstandard, erstes Protokoll höherer Schicht des ersten Schnittstellenstandards, zweites Protokoll höherer Schicht des zweiten Schnittstellenstandards, Befehlspaket, elektronisches Instrument, Speichergerät, Gerät, Prozessor und dgl.) genannt werden, durch die Begriffe in einem weitgefassten Sinn in einer anderen Beschreibung ersetzt werden.
  • Ein Teil der Anforderungen eines Anspruchs der vorliegenden Erfindung könnte im Unteranspruch, der sich auf diesen Anspruch bezieht, entfallen. Ferner könnte ein Teil der Anforderungen jedes Hauptanspruchs der vorliegenden Erfindung als Unteranspruch jedes anderen Hauptanspruchs formuliert werden.
  • Die Konfiguration des Datenübertragungssteuersystems und des elektronischen Instruments der vorliegenden Erfindung ist nicht auf die in 7 dargestellte Konfiguration beschränkt. Zahlreiche Modifikationen und Variationen sind möglich. So kann z. B. ein Teil jedes der Schaltungsblöcke und der Funktionsblöcke in den 9 und 18 entfallen, oder die Verbindungsbeziehung zwischen den Blöcken kann modifiziert werden. Der zweite Bus (BUS2) kann mit einem anderen Gerät als dem Speichergerät verbunden werden. Die Verbindungskonfiguration der physikalischen Schichtschaltung, der Link-Schichtschaltung und des Paketpuffers ist nicht auf die in 7 dargestellte Verbindungskonfiguration beschränkt.
  • Die vorliegende Ausführungsform veranschaulicht den Fall, in dem die Funktionen des Befehlsverarbeitungsabschnitts, des DMA-Übertragungsanweisungsabschnitts und dgl. von der Firmware (Programm) verwirklicht werden. Ein Teil oder alle Funktionen dieser Abschnitte können jedoch durch Hardware verwirklicht werden.
  • Die vorliegende Erfindung kann auf verschiedene Typen elektronischer Instrumente angewendet werden (Festplattenlaufwerk, optisches Plattenlaufwerk, magnetooptisches Plattenlaufwerk, PDA, Erweiterungsgerät, Audioausrüstung, digitale Videokamera, Mobiltelefon, Drucker, Scanner, TV, VTR, Telefon, Anzeigegerät, Projektor, Personal Computer, elektronisches Notebook und dgl.).
  • Die vorliegende Ausführungsform veranschaulicht den Fall, in dem die vorliegende Erfindung auf die Datenübertragung gemäß den Standards IEEE1394, SBP-2 und ATA/ATAPI angewendet wird. Die vorliegende Erfindung kann jedoch auch auf die Datenübertragung gemäß solchen Standards angewendet werden, die auf dem selben Prinzip wie IEEE1394 (P1394a), SBP-2 (SBP) und ATA/ATAPI basieren und Standards, die aus IEEE1394, SBP-2 und ATA/ATAPI entwickelt werden.

Claims (12)

  1. Datenübertragungssteuersystem zur Übertragung von Daten über einen Bus, aufweisend: einen Befehlsverarbeitungsabschnitt, der ein über einen ersten Bus übertragenes Befehlspaket empfängt und einen im Befehlspaket enthaltenen Befehl an ein Gerät (100) ausgibt, das mit einem zweiten Bus verbunden ist, ohne den Befehl zu decodieren; und einen Direct Memory Access (direkter Speicherzugriff) DMA-Übertragungsanweisungsabschnitt (32), der eine feste DMA-Datenlänge ungeachtet des Typs des ausgegebenen Befehls einstellt und den Start der DMA-Übertragung zum oder vom Gerät (100), das mit dem zweiten Bus verbunden ist, anweist.
  2. Datenübertragungssteuersystem gemäß Anspruch 1, bei dem der DMA-Übertragungsanweisungsabschnitt (32) die gestartete DMA-Übertragung abbricht, wenn das Gerät (100), das mit dem zweiten Bus verbunden ist und den ausgegebenen Befehl empfangen hat, über die Beendigung der Befehlsverarbeitung informiert.
  3. Datenübertragungssteuersystem gemäß Anspruch 1 oder 2, bei dem der DMA-Übertragungsanweisungsabschnitt (32) den Start der DMA-Übertragung anweist, wenn das Gerät (100), das mit dem zweiten Bus verbunden ist und den ausgegebenen Befehl empfangen hat, den Start der DMA-Übertragung anfordert.
  4. Datenübertragungssteuersystem gemäß einem der Ansprüche 1 bis 3, bei dem das mit dem zweiten Bus verbundene Gerät (100) ein Gerät ist, das über den zweiten Bus übertragene Daten in einen Speicher (106) schreibt oder über den zweiten Bus zu übertragende Daten aus dem Speicher (106) ausliest, und bei dem der DMA-Übertragungsanweisungsabschnitt (32) als die feste DMA-Datenlänge einen Wert einstellt, der größer ist als die Speicherkapazität des Speichers (106).
  5. Datenübertragungssteuersystem gemäß einem der Ansprüche 1 bis 4, bei dem der DMA-Übertragungsanweisungsabschnitt (32) als die feste DMA-Datenlänge einen Wert einstellt, der größer ist als die Datenlänge, die durch einen im Befehlspaket enthaltenen Befehl angegeben werden kann.
  6. Datenübertragungssteuersystem gemäß einem der Ansprüche 1 bis 5, bei dem der erste Bus ein Bus ist, über den Daten gemäß einem ersten Schnittstellenstandard übertragen werden, und der zweite Bus ein Bus ist, über den Daten gemäß einem zweiten Schnittstellenstandard übertragen werden, und bei dem das Befehlspaket ein Paket ist, das von einem Protokoll höherer Schicht des ersten Schnittstellenstandards definiert ist.
  7. Datenübertragungssteuersystem gemäß einem der Ansprüche 1 bis 6, bei dem der erste Bus ein Bus ist, über den Daten gemäß dem IEEE1394-Standard übertragen werden, und der zweite Bus ein Bus ist, über den Daten gemäß dem AT Attachment ATA/ATA Packet Interface ATAPI-Standard übertragen werden, und bei dem das Befehlspaket ein ORB-Paket ist, das durch das Serial Bus Protocol-2 SBP-2 definiert ist.
  8. Elektronisches Instrument, aufweisend: das Datenübertragungssteuersystem (10) gemäß einem der Ansprüche 1 bis 7; und das Gerät (100), das mit dem zweiten Bus verbunden ist.
  9. Programm, das das Datenübertragungssteuersystem veranlasst, zu arbeiten als: ein Befehlsverarbeitungsabschnitt, der ein über einen ersten Bus übertragenes Befehlspaket empfängt und einen im Befehlspaket enthaltenen Befehl an ein Gerät (100) ausgibt, das mit einem zweiten Bus verbunden ist, ohne den Befehl zu decodieren; und ein Direct Memory Access (direkter Speicherzugriff) DMA-Übertragungsanweisungsabschnitt (32), der eine feste DMA-Datenlänge ungeachtet des Typs des ausgegebenen Befehls einstellt und den Start der DMA-Übertragung zum oder vom Gerät (100), das mit dem zweiten Bus verbunden ist, anweist.
  10. Programm nach Anspruch 9, bei dem der DMA-Übertragungsanweisungsabschnitt (32) die gestartete DMA-Übertragung abbricht, wenn das Gerät (100), das mit dem zweiten Bus verbunden ist und den ausgegebenen Befehl empfangen hat, über die Beendigung der Befehlsverarbeitung informiert.
  11. Verfahren zur Datenübertragungssteuerung für die Übertragung von Daten über einen Bus, wobei das Verfahren aufweist: Empfangen eines über einen ersten Bus übertragenen Befehlspakets und Ausgeben eines im Befehlspaket enthaltenen Befehls an ein Gerät (100), das mit einem zweiten Bus verbunden ist, ohne den Befehl zu decodieren; und Einstellen einer festen Direct Memory Access DMA-Datenlänge ungeachtet des Typs des ausgegebenen Befehls und Anweisen des Starts der DMA-Übertragung zum oder vom Gerät (100), das mit dem zweiten Bus verbunden ist.
  12. Verfahren zur Datenübertragungssteuerung gemäß Anspruch 11, ferner aufweisend: Abbrechen der gestarteten DMA-Übertragung, wenn das mit dem zweiten Bus verbundene Gerät (100), das den ausgegebenen Befehl empfangen hat, über die Beendigung der Befehlsverarbeitung informiert.
DE60309391T 2002-08-05 2003-08-04 Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren Expired - Lifetime DE60309391T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002227304A JP2004070571A (ja) 2002-08-05 2002-08-05 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP2002227304 2002-08-05

Publications (2)

Publication Number Publication Date
DE60309391D1 DE60309391D1 (de) 2006-12-14
DE60309391T2 true DE60309391T2 (de) 2007-09-20

Family

ID=30768019

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60309391T Expired - Lifetime DE60309391T2 (de) 2002-08-05 2003-08-04 Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren

Country Status (6)

Country Link
US (1) US7069350B2 (de)
EP (1) EP1389760B1 (de)
JP (1) JP2004070571A (de)
CN (1) CN1237455C (de)
AT (1) ATE344490T1 (de)
DE (1) DE60309391T2 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483967B2 (en) * 1999-09-01 2009-01-27 Ximeta Technology, Inc. Scalable server architecture based on asymmetric 3-way TCP
US7792923B2 (en) 2000-10-13 2010-09-07 Zhe Khi Pak Disk system adapted to be directly attached to network
EP1588452A2 (de) * 2001-07-16 2005-10-26 Kim, Han Gyoo, Hongik university computer engineering Schema zum dynamischen verbinden von e/a-einrichtungen durch ein netzwerk
US20050149682A1 (en) * 2001-10-09 2005-07-07 Han-Gyoo Kim Virtual multiple removable media jukebox
JP3714420B2 (ja) * 2002-08-13 2005-11-09 セイコーエプソン株式会社 データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
US7457880B1 (en) 2003-09-26 2008-11-25 Ximeta Technology, Inc. System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network
KR100522724B1 (ko) * 2003-10-24 2005-10-18 주식회사 레인콤 이동식 멀티미디어 플레이어의 구동 시스템과 구동 방법,이동식 멀티미디어 플레이어 및 기록 매체
US7664836B2 (en) * 2004-02-17 2010-02-16 Zhe Khi Pak Device and method for booting an operation system for a computer from a passive directly attached network device
US20060069884A1 (en) * 2004-02-27 2006-03-30 Han-Gyoo Kim Universal network to device bridge chip that enables network directly attached device
GB0406423D0 (en) * 2004-03-22 2004-04-21 Oxford Semiconductor Ltd Data interface
US7290069B2 (en) * 2004-04-16 2007-10-30 National Instruments Corporation Data acquisition system which monitors progress of data storage
CN1322410C (zh) * 2004-04-29 2007-06-20 联发科技股份有限公司 可在ata总线上进行多任务存取的数据传输系统
KR100568209B1 (ko) * 2004-05-11 2006-04-05 삼성전자주식회사 디스플레이장치 및 이를 사용하는 컴퓨터 시스템
US7746900B2 (en) * 2004-07-22 2010-06-29 Zhe Khi Pak Low-level communication layers and device employing same
JP4660140B2 (ja) * 2004-08-18 2011-03-30 セイコーエプソン株式会社 データ転送制御システム、電子機器及びプログラム
JP4239930B2 (ja) * 2004-08-19 2009-03-18 セイコーエプソン株式会社 データ転送制御システム、電子機器及びプログラム
US7860943B2 (en) * 2004-08-23 2010-12-28 Zhe Khi Pak Enhanced network direct attached storage controller
US20060095594A1 (en) * 2004-11-03 2006-05-04 Jaan-Huei Chen System and method of automatically executing ata/atapi commands
US7500047B1 (en) * 2004-12-03 2009-03-03 Crossroads Systems, Inc. System and method for processing commands
US7849257B1 (en) 2005-01-06 2010-12-07 Zhe Khi Pak Method and apparatus for storing and retrieving data
US7310260B2 (en) * 2005-03-23 2007-12-18 Seiko Epson Corporation High performance register accesses
US7910152B2 (en) * 2006-02-28 2011-03-22 Advanced Cardiovascular Systems, Inc. Poly(ester amide)-based drug delivery systems with controlled release rate and morphology
JP4725397B2 (ja) * 2006-04-05 2011-07-13 セイコーエプソン株式会社 Usb複合デバイス,usb通信システム,及びusb通信方法
CN100418075C (zh) * 2006-06-19 2008-09-10 威盛电子股份有限公司 用于控制驱动程序的对象堆叠装置
JP4400650B2 (ja) * 2007-05-23 2010-01-20 セイコーエプソン株式会社 データ転送制御装置及び電子機器
CN101419536B (zh) * 2008-12-02 2011-01-12 山东省计算中心 一种计算机内存数据获取方法与系统
JP5527512B2 (ja) * 2009-09-28 2014-06-18 ソニー株式会社 バスプロトコル変換装置及びバスプロトコル変換方法
JP2013246457A (ja) * 2012-05-23 2013-12-09 Renesas Electronics Corp ホストコントローラ及びホストデバイス

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04102951A (ja) 1990-08-22 1992-04-03 Nippon Telegr & Teleph Corp <Ntt> データ転送制御方式
JPH0567013A (ja) 1991-09-05 1993-03-19 Yaskawa Electric Corp Dmaシリアル受信動作終了方式
US5613162A (en) * 1995-01-04 1997-03-18 Ast Research, Inc. Method and apparatus for performing efficient direct memory access data transfers
JPH10154125A (ja) * 1996-11-26 1998-06-09 Toshiba Corp Dmaデータ転送装置および同装置を使用した動画像復号化装置並びにdmaデータ転送制御方法
JPH10222441A (ja) 1997-01-31 1998-08-21 Oki Electric Ind Co Ltd Fifoメモリ及びこれを用いたデータ転送システム
JPH10254811A (ja) 1997-03-12 1998-09-25 Sony Corp 電子機器制御装置および方法
US6115771A (en) * 1998-03-31 2000-09-05 Lsi Logic Corporation Method and system for converting computer peripheral equipment to SCSI-compliant devices
DE69930987T2 (de) 1998-04-30 2007-04-26 Clarion Co., Ltd. Fahrzeuginformationssystem und Verfahren zu dessen Steuerung, Speichermedium zur Speicherung des Steuerungsprogramms, Plattenwiedergabegerät, und integrierte Halbleiterschaltung
US6052745A (en) * 1998-06-12 2000-04-18 International Business Machines Corporation System for asserting burst termination signal and burst complete signal one cycle prior to and during last cycle in fixed length burst transfers
JP3376981B2 (ja) * 1999-12-24 2003-02-17 日本電気株式会社 接続制御機器ならびに物理層lsiおよび接続制御システム
JP3599048B2 (ja) 2002-07-26 2004-12-08 セイコーエプソン株式会社 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP2004070570A (ja) 2002-08-05 2004-03-04 Seiko Epson Corp データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP3714420B2 (ja) 2002-08-13 2005-11-09 セイコーエプソン株式会社 データ転送制御装置、電子機器、プログラム及び電子機器の製造方法

Also Published As

Publication number Publication date
EP1389760B1 (de) 2006-11-02
US20040128405A1 (en) 2004-07-01
ATE344490T1 (de) 2006-11-15
CN1475923A (zh) 2004-02-18
US7069350B2 (en) 2006-06-27
EP1389760A3 (de) 2004-05-19
CN1237455C (zh) 2006-01-18
DE60309391D1 (de) 2006-12-14
EP1389760A2 (de) 2004-02-18
JP2004070571A (ja) 2004-03-04

Similar Documents

Publication Publication Date Title
DE60309391T2 (de) Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren
DE3280451T2 (de) Verfahren zur Initialisierung eines Datenverarbeitungssystems.
DE19962768B4 (de) Verfahren zum Übertragen von Daten über einen Datenbus mit minimierter digitaler Intersymbolstörung
DE60003387T2 (de) Direktspeicherzugriffssteuerung in einem rechnersystem
DE69217664T2 (de) Multimedia-signalprozessor-rechnersystem
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE19900290B4 (de) Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung
DE102012209016B4 (de) System und Verfahren zur Weiterleitung von Fibre-Channel-Eingangs- und Ausgangsdaten
DE19900345A1 (de) Vorrichtung und Verfahren für die Bereitstellung einer Schnittstelle für eine Verbundsteuereinheit eines Universellen Seriellen Buses
DE60205809T2 (de) Datensteueranlage, elektronisches Gerät und Datenübertragungssteuerverfahren
DE60205305T2 (de) Datensteueranlage, elektronisches Gerät und Verfahren zur Übertragungssteuerung
DE4003759C2 (de) Verfahren und Anordnung zur Übertragung von Daten über einen Bus zwischen selektiv ankoppelbaren Stationen
DE102012208803B4 (de) System und Verfahren zur Weiterleitung von Fibre-Channel-Eingangs- und Ausgangsdaten
DE19900331A9 (de) Vorrichtung und Verfahren zur Implementierung eines USB-Endpunktkanals mit doppelter Pufferunterstützung
DE19900290A9 (de) Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung
DE69223304T2 (de) Arbitrierungsverriegelungverfahren und -vorrichtung für einen entfernten Bus
DE19900369A1 (de) Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus
DE69622830T2 (de) Asynchrone Busbrücke
DE102005009174A1 (de) Bussystem, zugehöriges Busbelegungszuteilverfahren und Datenübertragungsverfahren
DE60205531T2 (de) Datentransfersteueranlage, elektronisches Gerät und Datentransfersteuerverfahren
DE60303162T2 (de) Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren
DE69935940T2 (de) Zielknoten, Datenkommunikationssystem, Kontrollverfahren eines Zielknotens und Verfahren zum Betreiben eines Datenkommunikationssystems
DE19882975B4 (de) Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus
DE60303119T2 (de) Echtzeitdatenströmung von antworten auf lesezugriffe in einer verbindung zwischen zwei datenknoten
DE112005000219T5 (de) Verfahren und Vorrichtung zum Verwalten von Speicherzugriffsanforderungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition