DE19923249A1 - Synchrones Transferprotokoll für eine Übertragung mit direktem Speicherzugriff (DMA) - Google Patents

Synchrones Transferprotokoll für eine Übertragung mit direktem Speicherzugriff (DMA)

Info

Publication number
DE19923249A1
DE19923249A1 DE19923249A DE19923249A DE19923249A1 DE 19923249 A1 DE19923249 A1 DE 19923249A1 DE 19923249 A DE19923249 A DE 19923249A DE 19923249 A DE19923249 A DE 19923249A DE 19923249 A1 DE19923249 A1 DE 19923249A1
Authority
DE
Germany
Prior art keywords
data
host
time
bus
ata
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.)
Ceased
Application number
DE19923249A
Other languages
English (en)
Inventor
Eric Kvamme
Farrokh Mottahedin
Jeffrey H Applebaum
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.)
Quantum Corp
Original Assignee
Quantum 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 Quantum Corp filed Critical Quantum Corp
Publication of DE19923249A1 publication Critical patent/DE19923249A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)

Abstract

Es wird ein synchrones DMA-Burst-Übertragungsverfahren zum Übertragen von Daten zwischen einem Host und einem peripheren Laufwerk beschrieben, die durch einen ATA-Bus miteinander verbunden sind. Das Verfahren liefert eine synchrone Daten-Übertragungsmöglichkeit in einem asynchronen System dadurch, daß eines der Geräte sowohl für ein Strobesignal als auch ein Datensignal verantwortlich ist. Wenn ein vom Host kommender Lese- oder Schreibbefehl an das periphere Gerät abgegeben wird, entscheidet das periphere Gerät, wann es den synchronen DMA-Burst starten will. Für einen Lesebefehl fordert das periphere Gerät den synchronen DMA-Burst und sendet dann ein Datenwort auf den ATA-Bus, nachdem der Host bestätigt, daß er bereit ist, den Burst zu beginnen. Nachdem ein Zeitraum eingeräumt wird, damit sich das Datensignal beruhigen kann, schaltet das periphere Gerät ein Strobesignal von einem High-Status auf einen Low-Status um. Der Host sieht die Flanke des Strobesignals und speichert zu diesem Zeitpunkt das Datenwort, das sich auf dem Bus befindet. Zusätzliche Datenwörter können auf den Bus gesandt werden, und das Strobesignal kann zurückgekippt werden, um die zusätzlichen Datenwörter im Host zu speichern. Nachdem alle Datenwörter übertragen worden sind, wird das Strobesignal auf einen High-Status zurückgesetzt, so daß es bereit ist, für einen anderen Host-Befehl verwendet zu werden. Dadurch, daß die Haltezeit des empfangenden Geräts vermindert und die Haltezeit des sendenden ...

Description

Bezugnahme auf eine zugehörige Anmeldung
Dies ist eine Continuation-in-Part-Anmeldung zur US-Patentanmeldung mit dem Anmel­ deaktenzeichen 08/555,977, die am 21. November 1996 eingereicht wurde und deren Offenbarungsgehalt hier mit aufgenommen wird.
Bereich der Erfindung
Die vorliegende Erfindung betrifft die Übertragung von Daten zwischen einem Host und einem peripheren Laufwerksgerät über einen Bus. Insbesondere betrifft die Erfindung ein verbessertes Verfahren zur Durchführung von synchronen Datenübertragungen mit di­ rektem Speicherzugriff, DMA, (direct memory access) mit erhöhter Datenrate.
Hintergrund
Die Datenübertragungsraten zwischen einem Host und peripheren Laufwerken in einem PC-System werden durch die Busarchitektur begrenzt, welche die Geräte miteinander verbindet. Eine Art von Bus, wie er üblicherweise verwendet wird, um periphere Lauf­ werke mit einem Systembus eines PC zu verbinden bzw. hierfür eine Schnittstelle zu bil­ den, ist ein ATA-Bus, der eine Plattenlaufwerk-Schnittstelle bildet, die ursprünglich für den ISA-Bus der IBM-PC/ATs entworfen wurde. Der ATA-Bus wurde zunächst unter Verwen­ dung von Gattern auf der Basis der LS-TTL-Technologie (Schottky-Transistor-Transistor- Logik mit geringer Leistung) konfiguriert, um ein Kabel mit einer Länge von 45,7 cm (18 Inch) zu treiben. Die langsamen Flanken der LS-TTL-Gatter und die kurze Kabellänge ar­ beiteten bei den damals existierenden Systemen adäquat. Als jedoch die PC-Systeme schneller und komplexer wurden, wurde die Definition des ATA-Busses so erweitert, daß sie Arbeitsweisen umfaßte, die schnellere Datenübertragungsraten ausführten, und die Hardware-Konstrukteure haben die Länge des ATA-Kabels häufig weit über 45,7 cm aus­ gedehnt. Beispielsweise umfassen jetzt die PIO-Moden (programmierte I/O-Moden) die PIO-Moden 0-4. Die Moden 0, 1 und 2 entsprechen der ATA-Schnittstelle, wie sie ur­ sprünglich definiert war, während der PIO-Modus 3 eine maximale Datenübertragungsrate von 11,1 MBytes/s und der PIO-Modus 4 eine maximale Datenübertragungsrate von 16,7 MBytes/s definieren. In ähnlicher Weise wurden neue DMA-Moden definiert. Der Mehr­ wort-DMA-Modus 0 entspricht der ursprünglichen Schnittstelle, während die DMA-Moden 1 und 2 schnellere Datenübertragungsraten liefern. Der Mehrwort-DMA-Modus 2 hat die gleiche maximale Übertragungsrate wie der neue PIO-Modus 4.
Diese neuen Arbeitsmoden erfordern eine höhere Leistungsfähigkeit des ATA-Busses, was zu dem Bestreben führt, die Datenübertragungsraten durch eine Verminderung der Zykluszeiten zu erhöhen. Das Bestreben, die Zykluszeiten zu vermindern bestand darin, daß die Flankenraten bzw. -Geschwindigkeiten erhöht wurden. Die erhöhten Flankenge­ schwindigkeiten zusammen mit der Erhöhung der ATA-Kabellänge haben ihrerseits zum Auftreten von Schwächen in der ursprünglichen ATA-Kabel-Konfiguration geführt. Diese Schwächen beeinflussen die Integrität der über das Kabel übertragenen Signale. Von be­ sonderer Bedeutung sind übermäßige gedämpfte Ein- und Nachschwingvorgänge und das Übersprechen zwischen Signalen sowie Takt/Laufzeit-Verzögerungen, die zu einem Versagen des Systems und/oder einem Datenverlust führen können. Die erhöhten Flan­ kengeschwindigkeiten und eine übermäßige Kabellänge verursachen diese Probleme. Somit ist die Datenübertragungsgeschwindigkeit von gültigen Nutzdaten durch Einschrän­ kungen beschränkt, die der Struktur des ATA-Busses inhärent sind.
Die erhöhten Flankengeschwindigkeiten bzw. die vergrößerte Steifheit der Flanken und die übermäßige Kabellänge sind für den ATA-Bus problematisch, weil es sich bei ihm um eine schlecht abgeschlossene Bussstruktur handelt. Das 45,7 cm (18 Inch) lange ATA- Bus-Standardkabel ist im allgemeinen als einseitig geerdete Übertragungsleitung mit einer typischen Impedanz von ungefähr 110 Ohm und einer Ausbreitungsgeschwindigkeit typi­ scherweise von ungefähr 60% c ausgebildet. Nach der Theorie der Übertragungsleitun­ gen treten gedämpfte Schwingungen auf, wenn die Abschlußimpedanz nicht zur charakte­ ristischen Impedanz des Kabels paßt. Die Amplitude der gedämpften Schwingungen nimmt mit größerer Fehlanpassung der Impedanzen zu. Gedämpfte Schwingungen mit ausreichender Amplitude auf Signal- und Datenleitungen des ATA-Busses können eine falsche Triggerung und übermäßige Abkling- bzw. Beruhigungsverzögerungen bewirken, die zu einem Versagen des Systems und/oder Datenverlust führen können.
Das Auftreten von gedämpften Schwingungen ist insbesondere bei Datenübertragungen über einen ATA-Bus in PC-Systemen problematisch, weil digitale Information über eine Übertragungsleitung übertragen wird. Gemäß einem anderen Gesichtspunkt der Theorie der Übertragungsleitungen wird Information, die über eine Übertragungsleitung übertra­ gen werden soll, als Wellenform eingespeist. Aufgrund der charakteristischen Impedanz und der Länge der Übertragungsleitung hat die Wellenform am Ausgang der Übertra­ gungsleitung eine gewisse Verzerrung. Bei analogen Übertragungen, bei denen die Ein­ gangswellenformen im allgemeinen Sinuswellen sind, wird die Ausgangswellenform typi­ scherweise durch eine Phasenverschiebung verzerrt, die relativ einfach korrigiert werden kann. Bei digitalen Übertragungen sind jedoch die Eingangswellenformen im allgemeinen gewisse Arten von Rechteckswellen, da die Erkennung eines Flankenüberganges deswe­ gen der entscheidende Aspekt ist, weil die übertragene Information in der Form von Ein­ sen und Nullen vorliegt. Eine Verzerrung dieser Rechteckswellen zeigt sich als gedämpf­ tes Nachschwingen, was zu einer Wellenform führt, bei der die Flankenübergänge nicht klar erkannt werden können. Somit treten, wie oben erwähnt, mit einer gewissen Wahr­ scheinlichkeit Fehltriggerungen auf, die für digitale Übertragungen symptomatisch sind.
In jüngster Zeit hat das Problem verstärkter Nachschwingungen zugenommen, weil sich die Busarchitektur der modernen PCs für eine Anpassung an die erhöhten Prozessor- und Laufwerksgeschwindigkeiten geändert hat. Als sich die Prozessor-Busgeschwindigkeiten von 8 MHz auf 33 MHz erhöht haben und die Geschwindigkeit der Plattenlaufwerke zuge­ nommen hat, wurde es erforderlich, den ATA-Standard neu zu definieren, um schnellere Datenübertragungsraten zu ermöglichen. Um die Ausbreitungsverzögerung zu vermin­ dern, haben manche Hersteller die Ausgangsleistung des Hosts erhöht, um das Aus­ gangssignal mit der kapazitiven Last des Kabels schneller umzuschalten. Dies wurde da­ durch erreicht, daß die ATA-Schnittstellen-Chips in der schnellen CMOS-Technologie statt in der langsamen TTL-Technik realisiert wurden, wie sie in den ersten ATA-Bussen Ver­ wendung fand. Infolge dessen hat die Ausgangsimpedanz abgenommen und die Flanken­ raten auf dem ATA-BUS haben sich auf 1 bis 2 ns oder weniger verringert, während sie im Gegensatz hierzu bei den TTL-Anordnungen im Bereich von 5 bis 6 ns lagen. Diese schnellen Flanken ohne ausreichenden Abschluß haben die Nachschwingvorgänge auf dem Bus in einem solchen Ausmaß verstärkt, daß viele System/Laufwerk-Kombinationen nicht arbeiten.
Übersprechen tritt auf, wenn das Schalten auf einer Signalleitung induzierte Signale auf einer benachbarten oder in der Nähe befindlichen Leitung bewirkt. Ein Signal koppelt durch zwei Mechanismen auf eine benachbarte Leitung über: Kopplungskapazität und gegenseitige Induktanz. Wenn sich die Wellenform eines Schaltsignals längs eines Ka­ bels ausbreitet, koppelt sie Energie in die benachbarte Leitung ein. Sobald sich die Ener­ gie in der zweiten Leitung befindet, breitet sie sich in beiden Richtungen, das heißt in Richtung zum Empfänger und in Richtung zur Quelle hin aus. Die Größe des eingekop­ pelten Signals ist proportional zur Änderungsrate des Signals in der primären Leitung. Zu­ sätzlich ist die Amplitude des eingekoppelten Signals proportional zur Gesamtgröße der Kopplungskapazität und der gegenseitigen Induktanz und ist daher proportional zur Ka­ bellänge. Diese Übersprechcharakteristika machen es wichtig, die Umschaltrate und die Kabellänge von neueren ATA-Bus-Treibern zu kontrollieren, weil steile Flanken und das sich hieraus ergebende Nachschwingen auf den Datenleitungen durch Übersprechen in benachbarte Steuerleitungen einkoppeln können, und Kabellängen von mehr als 45,7 cm die Wahrscheinlichkeit eines Übersprechens erhöhen.
Ein weiteres Problem, das mit dem schlechten Abschluß und der Kabellänge einer ATA- Bus-Struktur verbunden ist, ist die Ausbreitungsverzögerung, die durch Kabellängenver­ letzungen weiter verstärkt wird. Wie oben erläutert, war der ATA-Bus ursprünglich defi­ niert, eine maximale Länge von 45,7 cm (18 Inch) zu haben. Systemkonstrukteure werden heute jedoch stark unter Druck gesetzt, ein System zu entwickeln, bei dem ein Host mit einem peripheren Laufwerk innerhalb von 45,7 cm verbunden werden kann. Darüber hin­ aus werden manche Systeme mit doppelten ATA-Schnittstellen-Ports für einen Anschluß von zwei ATA-Kabeln realisiert. Diese Ports sind voneinander nicht völlig unabhängig und die doppelten Ports führen zu einem ATA-Kabel, das effektiv 91,4 cm (36 Inch) lang ist. Diese erhöhten Kabellängen führen zu Ausbreitungsverzögerungen, die dann auftreten, wenn der Host und die peripheren Laufwerke Steuer- und Datensignale zwischen sich hin und her senden. Diese Ausbreitungsverzögerungen beeinflussen in sehr starkem Maß die Datenübertragungsrate und das gesamte Verhalten des Busses.
Ein weiteres Problem, das mit Datenübertragungen über den ATA-Bus verbunden ist, ist die Datenintegrität. Es ist wichtig, daß die über den Bus übertragenen Daten gültig sind, und daher besteht der Wunsch, Möglichkeiten für eine Fehlererkennung vorzusehen, die zuverlässig sind und die leicht realisiert werden können. Da aus Datenbits bestehende Wörter über den ATA-Bus übertragen werden, ist eine Bit-orientierte Fehlererkennung leichter zu realisieren, als eine Symbol-orientierte Fehlererkennung. Eine herkömmliche Bit-orientierte Fehlererkennung ist für eine über den ATA-Bus ausgeführte Datenübertra­ gung jedoch nicht brauchbar, weil die herkömmliche Bit-orientierte Fehlererkennung ein Bit-serielles Verfahren ist. Die herkömmliche Bit-Fehlererkennung erzeugt einen zykli­ schen Redundanzkodewert dadurch, daß ein Strom von Eingangsdaten unter Verwen­ dung eines erzeugenden Polynoms der Form
G(X) = X16 + X12 + X5 + 1
logisch manipuliert wird. Jedes Bit des Datenstroms wird durch einen Bittakt, der mit einer Bitzellen-Zeitrate arbeitet, sequentiell in einen Logik-Kodierer/Dekodierer für einen zykli­ schen Redundanzkode geschoben. Da die über einen ATA-Bus erfolgenden Datenüber­ tragungen Datenwörter mit 16 Bits übertragen, wird jedes Wort mit einer Taktperiode übertragen, die gleich dem 16-fachen des Bittaktes ist. Somit würde die Verwendung der bekannten Bit-seriellen Vorgehensweise, bei der ein Bittakt eingesetzt wird, ein Takten mit der Frequenz des Bittaktes oder dem 16-fachen des Worttaktes erfordern. Ein weiteres Problem der Bit-seriellen Vorgehensweise besteht darin, daß deswegen, weil die Daten in Worteinheiten übertragen werden, in diesem Teil der ATA-Schnittstellen-Schaltungs­ struktur kein Bittakt zur Verfügung steht. Daher ist das bekannte Bit-orientierte Fehlerer­ kennungsverfahren kein realisierbares Verfahren, um für Datenintegrität der Datenüber­ tragungen über einen ATA-Bus zu sorgen.
Die oben erläuterten Beschränkungen der ATA-Bus-Struktur haben die Datenübertra­ gungsmöglichkeiten zwischen einem Host und einem peripheren Laufwerk auf die oben beschriebenen Geschwindigkeiten beschränkt. Mit der Realisierung von noch schnelleren Prozessoren und peripheren Geräten ist es wünschenswert, noch schnellere und genaue Datenübertragungsraten zwischen dem Host und den peripheren Laufwerken zu erzielen. Das synchrone DMA- oder Ultra-DMA-Übertragungsprotokoll, das in der oben erwähnten Patentanmeldung 08/555,977 beschrieben wird, ermöglicht eine erhöhte Datenübertra­ gungsrate, die mit ungefähr 33,3 Mbyte/s wesentlich höher ist, als die der oben beschrie­ benen bekannten Protokolle. Die Übertragungsrate von künftigen peripheren Geräten wird jedoch möglicherweise die Übertragungsrate von 33,3 Mbyte/s der Busschnittstelle über­ steigen, was über die Busschnittstelle zu einer Engstelle hinsichtlich der Leistungsfähig­ keit führt. Somit besteht ein bisher nicht befriedigter Bedarf für ein verbessertes Verfahren zur Durchführung von Datenübertragungen zwischen einem Host und einem peripheren Laufwerk über eine Busschnittstelle, die gewisse Arbeitseinschränkungen besitzt, mit ei­ ner erhöhten Datenübertragungsrate, ohne daß die Arbeitseinschränkungen der Bus­ schnittstelle verletzt werden.
Zusammenfassung der Erfindung
Das Verfahren der vorliegenden Erfindung befriedigt diesen Bedarf.
Die vorliegende Erfindung betrifft ein verbessertes Verfahren zur Durchführung eines syn­ chronen DMA-Bursts in einem Computersystem, das einen Host umfaßt, der mit wenig­ stens einem peripheren Laufwerk über einen Bus verbunden ist, wobei der Bus eine zu­ gehörige Steuersignal-Übertragungs-Strobe-Rate besitzt, und für Datenübertragungen zwischen dem peripheren Laufwerk und dem Host in Antwort auf einen vom Host kom­ menden Lese- oder Schreibbefehl verwendet wird. Die Datenübertragungen für jeden Befehl werden durch eine Reihe von synchronen DMA-Bursts über den Bus ausgeführt.
Mit der vorliegenden Erfindung wird die Datenübertragungsrate für eine synchrone oder Ultra-DMA-Übertragung dadurch erhöht, daß die Daten-Haltezeit für die empfangende Einrichtung so minimiert wird, daß sie ungefähr Ons beträgt, und daß die Zeit der senden­ den Einrichtung, für die die Daten gültig gehalten werden, eng kontrolliert wird. Die Kom­ bination der beiden Haltezeiten führt zu einer maximalen Setup-Zeit-Grenze oder Diffe­ rential, die bzw. das die erhöhte Datenübertragungsrate ermöglicht.
Zusätzlich kann das Verfahren umfassen, daß eine Datengültigkeit-Setup-Zeit der sen­ denden Einrichtung festgesetzt wird, die in spezieller Weise die erhöhte Datenübertra­ gungsrate bestimmt. Im allgemeinen wird dadurch, daß die Haltezeit des Empfängers auf ungefähr Ons minimiert und die Halte- und Setup-Zeiten des Senders verringert werden, die Datenübertragungsrate für einen synchronen DMA-Burst über die existierende syn­ chrone DMA-33-Übertragungsrate hinaus gesteigert.
Das Verfahren der vorliegenden Erfindung weist Vorteile gegenüber den existierenden, synchronen DMA-Übertragungsprotokollen auf. Insbesondere führt das hier beschriebene, verbesserte, synchrone DMA-Burst-Übertragungsprotokoll zu beträchtlich erhöhten Da­ tenübertragungsraten zwischen einem Host und einem peripheren Laufwerk und kann mit geringfügigen Änderungen an existierenden Bussystem-Architekturen betrieben werden. Das vorliegende Verfahren ist daher ein kostengünstiger Weg, um die Rate der Daten­ übertragung zwischen einem Host und einem peripheren Laufwerk zu erhöhen. Ein weite­ rer Vorteil des vorliegenden Verfahrens besteht darin, daß es auch mit existierenden Übertragungsprotokollen rückwärts- bzw. abwärtskompatibel ist, so daß das Verfahren ohne wesentliche Änderungen der Hardware in Systemen verwendet werden kann, die andere periphere Laufwerke umfassen, welche die existierenden synchronen DMA-Über­ tragungsprotokolle verwenden.
Kurze Beschreibung der Zeichnung
Diese und weitere Merkmale, Gesichtspunkte und Vorteile der vorliegenden Erfindung er­ geben sich genauer aus der folgenden Beschreibung, den beigefügten Ansprüchen und der beigefügten Zeichnung; in dieser zeigen:
Fig. 1a ein Blockdiagramm einer PC-Architektur, bei der die vorliegende Erfindung realisiert werden kann,
Fig. 1b ein teilweises, schematisches Ersatzschaltbild für existierende ATA-Kabel,
Fig. 2 ein vereinfachtes Komponenten- und Zeitdiagramm für ein dem Stand der Technik entsprechendes Daten-Übertragungsprotokoll,
Fig. 3 ein vereinfachtes Komponenten- und Zeitdiagramm für ein dem Stand der Technik entsprechendes, synchrones DMA-Burst-Protokoll,
Fig. 4a ein detailliertes Zeitdiagramm, das die Daten- und Steuersignale darstellt, die während der Laufwerks-Initiation eines synchronen DMA-Bursts für einen Lesebefehl ausgetauscht werden,
Fig. 4b zeigt ein detailliertes Zeitdiagramm, das die Daten- und Steuersignale wieder­ gibt, die während der Laufwerks-Initiation eines synchronen DMA-Bursts für einen Schreibbefehl ausgetauscht werden, und
Fig. 5 zeigt ein detailliertes Zeitdiagramm, das die Daten- und Steuersignale dar­ stellt, die während eines in Gang gehaltenen, synchronen DMA-Bursts gemäß weiteren Gesichtspunkten der vorliegenden Erfindung ausgetauscht werden.
Beschreibung
Fig. 1a zeigt ein Beispiel einer herkömmlichen PC-Architektur, in der ein Verfahren, das Gesichtspunkte der vorliegenden Erfindung umfaßt, realisiert werden kann. Das PC-Sy­ stem 10 umfaßt typischerweise eine Zentraleinheit (CPU) 12, die durch einen Prozessor­ bus 18 mit einen Speicher 14 mit wahlfreiem Zugriff (RAM) und einem Festwertspeicher 16 (ROM) verbunden ist. Eine Busschnittstelle 20 verbindet den Prozessorbus 18 mit ei­ nem ISA-BUS 22, der eine Vielzahl von Kartensteckplätzen 24 umfassen kann. Zusätzlich verbindet eine Local-Bus-Schnittstelle 26 den Prozessorbus 18 mit einem lokalen Bus 28, der ebenfalls eine Reihe von Local-Bus-Kartensteckplätzen 30 umfassen kann. Ein peri­ pheres Laufwerk 32 ist mit dem lokalen Bus 28 über einen ATA-Bus 34 und eine ATA- Schnittstelle 36 verbunden.
Fig. 1b zeigt ein teilweise schematisches, elektrisches Schaltungsdiagramm für einen Si­ gnalpfad eines herkömmlichen ATA-Bus-Kabels 34. Die Leitung 33 des ATA-Busses 34 besitzt eine Quellen- oder Eingangsimpedanz Zin und eine sich ergebende Abschluß- oder Ausgangsimpedanz Zout, die eine Funktion der Eingangsimpedanz Zin, der charakteristi­ schen Impedanz Zchar der ATA-Bus-Leitung 33 und der Länge d der ATA-Bus-Leitung 33 ist. Wie oben in dem Abschnitt, der sich mit dem technologischen Hintergrund beschäftigt, erläutert, war der ATA-Bus 34 nicht dafür konstruiert, abgeschlossen zu werden. Somit sind in der Definition des ATA-Busses 34 diese Impedanzwerte für jede Signalleitung der­ art, daß Zin < Zchar und Zchar < Zout ist, was zu dem Problem der gedämpften Schwingungen führt.
Der Einfachheit halber beschreibt die folgende Erläuterung ein Plattenlaufwerk, das mit einem Host über einen ATA-Bus verbunden ist. Dem Fachmann ist jedoch klar, daß die vorliegende Erfindung in einem System realisiert werden kann, bei dem andere periphere Geräte mit dem ATA-Bus verbunden sind. Darüber hinaus bezieht sich der Ausdruck "Host" ganz allgemein auf das Host-Ende des ATA-Busses, von dem der Fachmann weiß, daß es beispielsweise die Zentraleinheit 12 und die ATA-Brücke/Schnittstelle 36 umfaßt. Die vorliegende Erfindung kann auch in einem System realisiert werden, bei dem eine Vielzahl von Laufwerken (nicht dargestellt) mit dem ATA-Bus 34 verbunden ist.
Gemäß Fig. 2 ist das dem Stand der Technik entsprechende DMA-Übertragungsprotokoll ein mit Strobeimpulsen arbeitendes, asynchrones Übertragungsprotokoll bei dem ein ATA-Host 35 immer die Verantwortung dafür trägt, wann Ereignisse auftreten sollen. Fig. 2 zeigt das Strobesignal aus der Perspektive des Hosts 35 und die Daten aus der Per­ spektive des Plattenlaufwerks 32. Wenn der ATA-Host 35 Daten von einem angeschlos­ senen Plattenlaufwerk 32 lesen möchte, sendet er zu einem Zeitpunkt t0 ein Strobesignal an das Plattenlaufwerk 32. Das Plattenlaufwerk 32 weiß nicht, wann es die Daten über­ tragen muß, bis es die fallende Flanke des Strobeimpulses sieht. Vor dem Empfang des Strobesignals wartet das Plattenlaufwerk 32 lediglich auf den "last-minute"-Hinweis, daß es Daten fertig machen muß, um sie an den Host 35 zu senden. Der Strobeimpuls benö­ tigt Zeit, um vom Host 35 zum Plattenlaufwerk 32 zu laufen, so daß das Plattenlaufwerk 32 die Anforderung später erhält, als der Host 35 die Daten verlangt. Das Plattenlaufwerk 32 sieht schließlich den Strobeimpuls zu einem späteren Zeitpunkt t1. Dann, nach einer gewissen Verarbeitungsverzögerung sendet das Plattenlaufwerk 32 zu einem Zeitpunkt t2 die Daten auf den Bus, damit sie zum Host 35 zurück übertragen werden. Eine weitere Übergangsverzögerung ist mit dem Rücksenden der Daten zum Host 35 verbunden, so daß die Daten erst zu einem späteren Zeitpunkt t3 beim Host 35 ankommen. Eine weitere Verarbeitungsverzögerung ist mit dem Empfang der Daten verbunden, so daß der Host die Daten schließlich zum Zeitpunkt t4 zwischen- bzw. einspeichert. Der Host muß die Daten während des Strobeimpuls-Intervalls zwischenspeichern, und da es eine gewisse maximale Geschwindigkeit gibt, die erreicht werden kann, muß das Strobeimpuls-Intervall lange genug sein, um sicherzustellen, daß die Daten für den Host zur Verfügung stehen. Somit muß bei dem dem Stand der Technik entsprechenden, asynchronen Übertragungs­ protokoll das Strobeimpuls-Intervall Übergangsverzögerungen berücksichtigen, die so­ wohl mit der Übergangszeit vom Host 35 zum Plattenlaufwerk 32 als auch der Über­ gangszeit vom Plattenlaufwerk 32 zum Host 35 verbunden sind, und ebenso Verarbei­ tungsverzögerungen, die sowohl beim Host 35 als auch dem Plattenlaufwerk 32 auftreten. Das Erfordernis, diese Verzögerungen zu berücksichtigen, beschränkt die Datenübertra­ gungsrate auf die Rate, die zur Zeit mit dem DMA-Modus 2 und dem PIO-Modus 4 erzielt wird.
Das existierende synchrone oder Ultra-DMA-Protokoll überwindet die Datenübertragungs- Beschränkungen, die durch das dem Stand der Technik entsprechende Übertragungs­ protokoll auferlegt werden, dadurch, daß die Situation beseitigt wird, in der das Platten­ laufwerk 32 auf den "last-minute"-Hinweis wartet, daß es Daten übertragen muß. (Wenn auf das existierende synchrone DMA-Protokoll Bezug genommen wird, können hier die Ausdrücke "Ultra-DMA 33" oder "Ultra 33" in austauschbarer Weise verwendet werden). Statt dessen ist beim Ultra 33 das Gerät, das Daten sendet (sowohl der Host 35 als auch das Laufwerk 32) für das steuernde Strobesignal verantwortlich. Fig. 3 zeigt aus der Per­ spektive des Plattenlaufwerks 32 ein vereinfachtes Zeitdiagramm einer Version des exi­ stierenden synchronen DMA wobei das Plattenlaufwerk 32 für das Strobesignals verant­ wortlich ist, um Daten für einen Lese- DMA-Burst zu übertragen. Sobald der Host 35 ei­ nen Befehl gegeben hat, daß er Daten lesen will und eine Vorlaufverbindung (hand­ shaking) aufnimmt, um die Durchführung des Bursts zu initiieren, übernimmt das Platten­ laufwerk 32 die Kontrolle und bestimmt den Zeitpunkt, zu dem die Daten übertragen wer­ den müssen. Wie in Fig. 3 gezeigt, schickt das Plattenlaufwerk 32 dann, wenn es zum Senden der Daten bereit ist, die Daten zum Zeitpunkt t0 auf den Bus, und dann wartet das Plattenlaufwerk 32, bis es weiß, daß sich die Daten auf dem Kabel "beruhigt" haben, und das Plattenlaufwerk 32 schaltet das Strobesignal zum Zeitpunkt t1 um. Das Umschalten des Strobesignals zeigt dem Host 35 an, daß die Daten zur Verfügung stehen, und die Daten werden im Host 35 zwischengespeichert, wenn das zum Zeitpunkt t1 erzeugte Strobesignal den Host erreicht.
Die Verzögerung zwischen der Zeit, zu der das Plattenlaufwerk 32 die Daten auf den Bus aufbringt und dem Zeitpunkt, zu dem es das Strobesignal umschaltet, ist erforderlich weil dann, wenn die Daten auf den ATA-Bus aufgebracht werden, ein entsprechendes Nach­ schwingen aufgrund des schlechten Abschlusses des Busses auftritt, und so ist es erfor­ derlich, das Datensignal sich beruhigen zu lassen, bevor es in den Host 35 eingespeichert wird. Die Lauf- oder Ausbreitungszeit, die benötigt wird, um vom Plattenlaufwerk 32 zum Host 35 zu gelangen, ist sowohl für das Datensignal als auch das Strobesignal im we­ sentlichen die gleiche und die Umschaltgeschwindigkeit (die Zeit, die ein Signal benötigt, um sich von "1" auf "0" oder von "0" auf "1" zu ändern) ist sowohl für das Datensignal als auch das Strobesignal im wesentlichen die gleiche. Mit der vorliegenden Erfindung muß lediglich die Beruhigungszeit für das Datensignal berücksichtigt werden, da das Datensi­ gnal und das Strobesignal vom gleichen Gerät ausgesandt werden und die Umschaltge­ schwindigkeiten und Ausbreitungsverzögerungen für diese Signale einander ähnlich sind. Wenn eine Belastung am Hostende des Kabels die Umschaltrate des Datensignals än­ dert, dann wird die Umschaltrate des Strobesignals in einem ähnlichen Ausmaß geändert, und die relative Zeitlage der Signale wird immer noch ähnlich sein. Dies führt zu einer er­ heblichen Zeitverbesserung im Vergleich zu dem dem Stand der Technik entsprechenden Übertragungsprotokoll, bei dem der Host 35 für das Strobesignal und das Plattenlaufwerk 32 für das Datensignal verantwortlich ist. Beim Stand der Technik geht beim Senden des Strobesignals zum Plattenlaufwerk 32 Zeit verloren, und es geht beim Senden der Daten zum Host 35 Zeit verloren, und die verlorene Zeit kann nicht wiedergewonnen werden.
Gemäß der vorliegenden Erfindung können sehr kurze Strobesignal-Intervalle eingerichtet werden, da nicht den Ausbreitungsverzögerungen und Umschaltraten in beiden Richtun­ gen Rechnung getragen werden muß. Um die Datenübertragung sicherzustellen, erfordert die synchrone DMA-Übertragung der vorliegenden Erfindung lediglich eine Wartezeit, damit sich die Daten beruhigen können, bevor das Strobesignal den Host 35 erreichen kann. Somit führt das synchrone DMA-Burst-Verfahren der vorliegenden Erfindung zu ei­ ner erhöhten Datenübertragungsrate von bis zu 66,7 MBytes/s, was doppelt so schnell ist, wie der schnellste zur Zeit existierende synchrone DMA-Modus.
Unter Bezugnahme auf die Fig. 4a und 4b werden nun die Einzelheiten der Initiation einer synchronen DMA-Übertragung allgemein beschrieben. Wie Fig. 4a zeigt, initiiert einige Zeit nachdem der Host 35 ein Lesebefehlsignal gesandt hat, das Daten anfordert, und das Plattenlaufwerk 32 fertig ist, um mit der Datenübertragung zu beginnen, das Platten­ laufwerk 32 den synchronen DMA-Burst dadurch, daß es dem Host 35 ein DMA-Anforde­ rungssignal, DMARQ übermittelt (was als Ereignis 1 bezeichnet ist). In Antwort auf die Übersendung des DMARQ zeigt der Host 35 dann, wenn der Host 35 bereit ist, die ange­ forderten Daten zu empfangen, seine Bereitschaft an, indem der ein DMA-Bestätigungs­ signal -DMACK aussendet (was als Ereignis 2 bezeichnet ist) und er muß das -DMACK- Signal bis zum Ende des Bursts bestätigt bzw. eingeprägt halten. Das Plattenlaufwerk 32 kann nach einer minimalen Verzögerungszeit TZa nach dem Einprägen von -DMACK Da­ ten auf den ATA-Bus 34 senden oder auf ihm plazieren, wodurch es den Ausgangstrei­ bern ermöglicht wird, hochzufahren. Typischerweise ist die minimale Zeit Tza, die die Aus­ gangstreiber benötigen, um hochzufahren, ungefähr 20 ns. Bevor das Plattenlaufwerk 32 das Strobesignal umschalten kann, durch das die Daten im Host 35 gespeichert werden, muß das Plattenlaufwerk auch darauf warten, daß der Host 35 ein Stoppsignal STOP auf­ hebt und ein Fertigsignal -DMARDY einprägt, nachdem der Host -DMACK eingeprägt hat. Das Aufheben von STOP und das Einprägen von -DMARDY (was als Ereignis 3 bezeich­ net ist) wird innerhalb einer Standardzeithülle für alle Steuersignalübergänge vom Aufprä­ gen von -DMACK an durchgeführt. Diese Zeithülle liegt vorzugsweise in einem Bereich von ungefähr 20 ns bis 70 ns.
Nachdem der Host 35 STOP aufgehoben und -DMARDY aufgeprägt hat, kann das Plat­ tenlaufwerk 32 das erste Strobesignal senden und muß dies innerhalb einer begrenzten Zeitperiode Tli erledigen, nachdem es das STOP- und -DMARDY-Signal gesehen hat. Vorzugsweise liegt diese begrenzte Zeitperiode Tli in einem Bereich von ungefähr 0 bis 150 ns. Zusätzlich muß das Plattenlaufwerk 32 eine minimale vorbestimmte Setup-Zeitpe­ riode Tdvs abwarten, die von dem Zeitpunkt aus gemessen wird, zu welchen das Platten­ laufwerk 32 das Datenwort auf dem ATA-Bus 34 plaziert hat, bevor es das erste Strobesi­ gnal senden kann. Diese Zeitperiode ist die Zeit, welche die Daten benötigen, um auf dem ATA-Bus 34 gültig zu werden. Für existierende synchrone DMA-Übertragungen liegt die minimale Setup-Zeit Tdvs in einem Bereich von ungefähr 34 ns bis ungefähr 70 ns, je nach der ausgewählten Geschwindigkeit.
Das Plattenlaufwerk 32 sendet das erste Strobesignal an den Host 35 dadurch, daß es das Strobesignal von einem High-Status auf einen Low-Status umschaltet (was als Ereig­ nis 4 bezeichnet ist). Das Umschalten des Strobesignals vom High-Status zum Low-Sta­ tus definiert eine erste Flanke des Strobesignals, die vom Host 35 als Anzeige dafür er­ kannt wird, daß gültige Daten auf dem ATA-Bus 34 zur Verfügung stehen. Wenn der Host 35 die Flanke sieht, nimmt er die Daten vom ATA-Bus 34 ab. Somit wird das Umschalten des Strobesignals verwendet, um die Daten während eines Lese- Bursts im Host 35 ein­ zuspeichern.
Die Initiation des synchronen DMA-Bursts für einen Schreibbefehl gemäß den Prinzipien der vorliegenden Erfindung wird nun unter Bezugnahme auf Fig. 4b beschrieben. Wie im Fall eines Lesebefehls wird der synchrone DMA-Burst vom Plattenlaufwerk 32 initiiert, das DMARQ aussendet, wenn es bereit ist, mit dem synchronen DMA-Burst (Ereignis 1) zu beginnen. In Antwort auf das Einprägen von DMARQ zeigt der Host 35 dann, wenn der Host 35 zum Schreiben von Daten bereit ist, seine Bereitschaft an, indem er innerhalb der Standardzeithülle von -DMACK dieses Signal -DMACK einprägt (als Ereignis 2 bezeich­ net) und STOP aufhebt (als Ereignis 3 bezeichnet). Zusätzlich schickt der Host 35 Daten auf den ATA-Bus 34. Der Host 35 wartet dann darauf, daß das Plattenlaufwerk 32 -DMARDY einprägt, was anzeigt, daß das Plattenlaufwerk 32 bereit ist, Daten vom Host 35 zu empfangen. Das Plattenlaufwerk 32 muß -DMARDY innerhalb der begrenzten Zeitpe­ riode Tli einprägen (als Ereignis 4 bezeichnet), nachdem es gesehen hat, daß -DMACK eingeprägt und STOP aufgehoben worden ist. Da der Host 35 jetzt Daten sendet, ist der Host 35 jetzt auch für das Strobesignal verantwortlich, doch bevor der Host 35 das Strob­ esignal umschalten kann, muß er darauf warten, das -DMARDY vom Plattenlaufwerk 32 in der oben beschriebenen Weise eingeprägt bzw. ausgesandt wird.
Sobald das Plattenlaufwerk 32 -DMARDY einprägt, kann der Host 35 das erste Strobesi­ gnal zu jedem Zeitpunkt, nachdem er das Signal -DMARDY sieht, umschalten. Der Host 35 muß jedoch die minimale vorbestimmte Setup-Zeitperiode Tdvs, die ausgehend von dem Zeitpunkt gemessen wird, in welchem der Host 35 das Datenwort auf dem ATA-Bus 34 plaziert hat, abwarten, bevor er das erste Strobesignal senden kann, damit die Daten gültig werden können. In ähnlicher Weise wie beim Fall des Lesens weis das Plattenlauf­ werk 32 dann, wenn es die erste Flanke des Strobesignals sieht, daß es gültige Daten vom ATA-Bus 34 abnehmen kann. Somit wird das Umschalten des Strobesignals ver­ wendet, um die Daten während des Schreib-Bursts im Plattenlaufwerk 32 zwischenzu­ speichern.
Nachdem der synchrone DMA-Burst initiiert und das erste Datenwort im Fall eines Lese­ befehls im Host 35 oder im Fall eines Schreibbefehls im Plattenlaufwerk 32 zwischenge­ speichert worden ist, können zusätzliche Datenworte während des synchronen DMA- Bursts übertragen werden. Fig. 5 zeigt ein Zeitdiagramm der Steuer- und Datensignale während eines aufrechterhaltenen synchronen DMA-Bursts, bei dem mehrere Datenworte übertragen werden. Die Figur zeigt allgemein den Datenbus, wie er von einem Sender und einem Empfänger und nicht wie er vom Host und dem Plattenlaufwerk gesehen wird, so daß sie sowohl auf den Fall eines Lese-Bursts als auch eines Schreib-Bursts anwend­ bar ist. Wie oben beschrieben, wird ein erstes Datenwort, das auf den ATA-Bus 34 zu ei­ nem früheren Zeitpunkt t1 (nicht dargestellt) abgegeben worden ist, dadurch in den Emp­ fänger eingespeichert, daß das Strobesignal vom High-Zustand zum Low-Zustand umge­ schaltet wird (Ereignis 1). Zu einem zweiten, späteren Zeitpunkt t2 wird ein weiteres Da­ tenwort auf den ATA-Bus 34 abgegeben. Das nächste Datenwort wird dadurch in den Empfänger eingespeichert, daß das Strobesignal vom Low-Zustand zum High-Zustand umgeschaltet wird (Ereignis 2). Das Umschalten des Strobesignals vom Low-Zustand zu­ rück in den High-Zustand definiert eine zweite Flanke des Strobesignals. Weiterhin kön­ nen zusätzliche Wörter auf den ATA-Bus 34 vom Sender abgegeben und dadurch in den Empfänger eingespeichert werden, daß das Strobesignal zwischen den High- und Low- Zuständen hin und her umgeschaltet wird. Vom Standpunkt des Empfängers weis dieser immer dann, wenn er eine Flanke des Strobesignals sieht, daß Daten vom ATA-Bus 34 abzunehmen sind. Somit werden beide Flanken des Strobesignals bei dem synchronen DMA-Burst verwendet, um Daten zu übertragen.
Wie in Fig. 5 gezeigt und oben beschrieben, gibt während des synchronen DMA-Bursts der Sender immer Daten auf den ATA-Bus 34 ab, und nach der vorbestimmten minimalen Setup-Zeitperiode Tdvs, die es dem Kabel ermöglicht, sich zu beruhigen, und der Setup- Zeit schaltet der Sender das Strobesignal um. Eine Verwendung beider Flanken des Strobesignals in der oben beschriebenen Weise macht es möglich, die Frequenz des Strobesignals an die Frequenz der Daten anzupassen.
Darüber hinaus sind die Daten am Sender und am Empfänger unterschiedlich dargestellt, um zu betonen, daß die Kabel-Beruhigungszeit es erst lange nachdem die Daten vom Sender abgegeben worden sind, erlaubt, sie am Empfänger als stabil zu betrachten. Die minimale vorbestimmte Setup-Zeit Tdvs dafür, daß Daten am Sender als gültig betrachtet werden, und die minimale Zeit Tdvh dafür, daß die Daten ungültig werden können, nach­ dem der Sender das Strobesignal umgeschaltet hat, bilden ein weiteres Fenster als die Daten-Setup-Zeit Tds und die Daten-Haltezeit Tdh, die dem Empfänger garantiert sind.
Das verbesserte synchrone DMA-Verfahren der vorliegenden Erfindung verwendet das oben beschriebene allgemeine, synchrone DMA-Übertragungsprotokoll und optimiert die Zeiten, die in Fig. 5 dargestellt und beschrieben sind. Die folgende Tabelle zeigt die be­ vorzugten Zeiterfordernisse, die nötig sind, um das synchrone DMA mit erhöhter Daten­ übertragungsrate gemäß den Prinzipien der vorliegenden Erfindung auszuführen. Das wesentliche Konzept der vorliegenden Erfindung besteht darin, daß die Daten-Haltezeit für den Empfänger auf Ons gesetzt werden muß während die "Daten-Gültig"-Haltezeit für den Sender so gesteuert werden muß, daß sie ungefähr 3 ns beträgt.
Wie in den Anmerkungen von Tabelle 1 erläutert, werden die meisten aufgeführten Zei­ terfordernisse am Verbinder bzw. Stecker der jeweiligen Vorrichtung bzw. des jeweiligen Gerätes gemessen. Eine wichtige Ausnahme ist die Daten-Haltezeit für den Empfänger des vorliegenden Verfahrens. Diese Messung wird am ASIC-I/O-Pin vorgenommen. Wenn dieser Zeitablauf am Verbinder bzw. Stecker gemessen werden müßte, würde der erfor­ derliche Zeitablauf zum Erzielen einer Ons-Daten-Haltezeit am ASIC-Pin in folgender Weise berechnet werden:
Maximale Anstiegs-Übergangs-Verzögerung - minimale Abfall-Übergangs- Verzögerung + maximale PCB Traceverzerrung + minimal erforderliche Hal­ tezeit am ASIC.
Unter Verwendung der in Tabelle 2 aufgeführten Messungen wäre eine Haltezeit (1,5-(-­ 1) + 0,25 + 0) erforderlich, wenn die Daten-Haltezeit für den Empfänger am Verbinder gemessenen würde.
Tabelle 1
Zeiterfordernisse für synchrone DMA
Darüber hinaus ist ein 66,6 MHz-Takt (15ns-Periode) erforderlich, um die maximalen Übertragungsraten von 44,4 Mbytes/s und 66,7 Mbytes/s zu erzielen, die bei der Durch­ führung des erfindungsgemäßen Verfahrens erreicht werden können. Die folgende Ta­ belle 2 zeigt weitere Zeitvorschriften, Verzögerungen und Zeitunsicherheiten (skews) des Systems.
Tabelle 2 Zeitabläufe, Verzögerungen und Zeitunsicherheiten des Systems
Minimale typische Zyklus-Zeiten (maximale typische Übertragungsrate):
Modus 3 = 45 ns
Modus 4 = 30 ns
Steigende Flanke:
5 ns Minimum, 12 ns Maximum
mit linearer Änderung (slew) auf 5 V und 5 ns Anstiegszeit: von Low auf 1,5 V Schwelle = 1,5 ns Minimum
mit linearer Änderung auf 5 V und 12 ns Anstiegszeit: von Low auf 1,5 V Schwelle = 3,6 ns Maximum
typisch von Low auf Schwelle Zeit = 2,5 ns
Fallende Flanke:
5 ns Minimum, 12 ns Maximum
mit linearer Änderung von 5 V und 5 ns Abfallzeit: von High auf 1,5 V Schwelle = 3,5 ns Minimum
mit linearer Änderung von 5 V und 10 ns Abfallzeit: von High auf 1,5 V Schwelle = 8,4 ns Maximum
typisch von High auf Schwelle Zeit = 6,0 ns
Systemtakt:
Variation = +/- 2% Maximum
Asymmetrie = 60/40% Maximum
PCB-Traces:
Verzögerung = 0,5 ns Maximum
Zeitunsicherheit zwischen Signalen aufgrund von Traces = 0,25 ns Maximum
Abschlußwiderstände:
Abfall-Übergangsverzögerung durch 82 Ohm = -0,5 ns Minimum, + 0,5 ns Ma­ ximum
Anstiegs-Übergangsverzögerung durch 82 Ohm = + 0,5 ns Minimum, + 1,5 ns Maximum
Abfall-Übergangsverzögerung durch 33 Ohm = -1,0 ns Minimum, 0 ns Maxi­ mum
Anstiegs-Übergangsverzögerung durch 33 Ohm = 0 ns Minimum, + 1,0 ns Ma­ ximum
ASIC-Eingangspuffer:
Verzögerung = 4,0 ns Maximum
Zeitunsicherheit zwischen zwei beliebigen Signalen zwischen verschiedenen Eingangspuffern = 2,5 ns Maximum
Zeitunsicherheit zwischen STROBE und allen Daten-Eingangspuffern = 1,0 ns Minimum, 3,0 ns Maximum (Daten verzögert)
Flipflop-Setupzeit (intern) = 2,0 ns Minimum
Flipflop-Haltezeit (intern) = 1,0 ns Minimum
Takt-Q-Verzögerung der Flipflops (intern) = 3,0 ns Maximum
ASIC-Ausgangspuffer:
Verzögerung = 7 ns Maximum
Zeitunsicherheit zwischen verschiedenen Ausgangspuffern = 2 ns Maximum
Die Zeitunsicherheit zwischen STROBE und den Daten-Ausgangspuffern kann so kontrolliert werden, daß sie minimal 1 ns und maximal 3 ns oder minimal -3 ns und maximal -1 ns beträgt (entweder das eine oder das andere, das heißt die Daten müssen immer länger verzögert sein oder die Daten müssen immer weniger stark verzögert sein)
Jitter am Ausgang = +/- 0,25 ns Maximum
Kabel:
Zeitunsicherheit zwischen Steuersignal und Datensignal = 0 ns Minimum, 2 ns Maximum (Datenverzögerung, Kontrollsignalverzögerung)
Verzögerung durch das Kabel = 10 ns Maximum
Die Versionen der vorliegenden Erfindung wurden unter Bezugnahme auf die Durchfüh­ rung eines einzelnen, synchronen DMA-Bursts zum Übertragen von einem oder mehreren Datenwörtern beschrieben. Da jedoch ein Host-Lese- oder -Schreibbefehl die Durchfüh­ rung einer Reihe von synchronen DMA-Bursts erfordern kann, ist dem Fachmann klar, daß die oben beschriebenen Versionen der Durchführung des synchronen DMA-Bursts wiederholt werden, bis der Host-Lese- oder -Schreibbefehl vollständig erledigt ist. Das Plattenlaufwerk 32 muß den zweiten/zusätzlichen synchronen DMA-Burst initiieren, der Host 35 muß anzeigen, daß er fertig ist, um den Burst zu starten, usw., wie oben be­ schrieben.
Die oben beschriebenen Versionen der vorliegenden Erfindung können auf einfache Weise bei existierenden Systemen mit einer ATA-Schnittstelle dadurch realisiert werden, daß vorhandene ATA-Verbindungskabel modifiziert werden. Das Verfahren, das Merk­ male der vorliegenden Erfindung aufweist, erfordert ein Kabel, das zusätzliche Masselei­ tungen zwischen den Datenleitungen besitzt. Ein Beispiel für ein solches Kabel ist in der schwebenden USA-Patentanmeldung mit dem Anmeldeaktenzeichen 08/822,885 be­ schrieben, die am 26. März 1997 eingereicht wurde und deren Inhalt hier mit aufgenom­ men wird.
Das synchrone DMA-Burst-Übertragungsverfahren der vorliegenden Erfindung besitzt eine Reihe von Vorteilen gegenüber den dem Stand der Technik entsprechenden Über­ tragungsverfahren. Das vorliegende Verfahren liefert einen kostengünstigen Weg, um die ungünstige Kabelstruktur und die unvernünftigen Einschränkungen zu umgehen, die mit dem ATA-Bus 34 verbunden sind, um eine erhöhte Datenübertragungsrate von ungefähr 66,7 MBytes/s zu erzielen. Das vorliegende Verfahren kann unter Verwendung existieren­ der synchroner DMA-Übertragungsprotokolle dadurch realisiert werden, daß die Daten- Halte-Zeiterfordernisse modifiziert und optimiert werden. Zusätzlich wird das synchrone DMA-Burst-Übertragungsverfahren unter Verwendung von existierenden Signalleitungen des ATA-Busses 34 und durch Umdefinieren vorhandener Signalleitungen so realisiert, daß das vorliegende Verfahren mit existierenden Übertragungsprotokollen abwärtskom­ patibel ist.
Nachdem somit die Erfindung in wesentlichen Einzelheiten unter Bezugnahme auf be­ stimmte bevorzugte Ausführungsformen beschrieben wurde, ergibt sich, daß auch andere Ausführungsformen möglich sind. Der Fachmann versteht, daß sich viele Änderungen hinsichtlich des Aufbaus, der Schaltungsanordnungen und der Anwendungen der Erfin­ dung von selbst ergeben, ohne daß vom Grundgedanken und Umfang der Erfindung ab­ gewichen wird. Daher sollte der Grundgedanke und der Umfang der beigefügten Ansprü­ che nicht auf die hier enthaltene Beschreibung bevorzugter Ausführungsformen be­ schränkt werden.

Claims (6)

1. Verfahren zum Erhöhen der Rate der Datenübertragung über einen Bus für syn­ chrone DMA-Burst-Übertragungen zwischen einem sendenden Gerät und einem empfangenden Gerät, wobei das Verfahren folgende Schritte umfaßt:
  • a) Minimieren einer Daten-Halte-Zeit des empfangenden Geräts, und
  • b) Kontrollieren einer Daten-Gültig-Haltezeit des sendenden Geräts,
wobei eine maximale Setup-Zeit-Grenze vorgesehen ist, um eine erhöhte Daten­ übertragungsrate zu erzielen.
2. Verfahren nach Anspruch 1, bei den die Daten-Haltezeit des empfangenden Ge­ räts minimiert wird, so daß sie ungefähr Ons beträgt, und bei dem die Daten- Gültig-Haltezeit des sendenden Geräts ungefähr 3 ns beträgt, und bei dem der Bus eine maximale Datenübertragungsrate zwischen ungefähr 44, 4 MBytes/s und ungefähr 66,7 MBytes/s aufweist.
3. Verfahren nach Anspruch 2, das weiterhin den Schritt umfaßt, daß (c) eine Daten-Gültig-Setup-Zeit des sendenden Geräts kontrolliert wird.
4. Verfahren nach Anspruch 3, bei dem die Daten-Gültig-Setup-Zeit des sendenden Geräts ungefähr 23 ns ist, um die maximale Datenübertragungsrate von ungefähr 44, 4 MBytes/s zu erzielen.
5. Verfahren nach Anspruch 3, bei dem die Daten-Gültig-Setup-Zeit des sendenden Gerätes ungefähr 10 ns ist, um die maximale Datenübertragungsrate von unge­ fähr 66,7 MBytes/s zu erzielen.
6. Verbessertes Verfahren zur Durchführung von synchronen DMA-Burst- Übertragungen.
DE19923249A 1998-05-26 1999-05-20 Synchrones Transferprotokoll für eine Übertragung mit direktem Speicherzugriff (DMA) Ceased DE19923249A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/085,330 US6175883B1 (en) 1995-11-21 1998-05-26 System for increasing data transfer rate using sychronous DMA transfer protocol by reducing a timing delay at both sending and receiving devices

Publications (1)

Publication Number Publication Date
DE19923249A1 true DE19923249A1 (de) 2000-01-05

Family

ID=22190881

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19923249A Ceased DE19923249A1 (de) 1998-05-26 1999-05-20 Synchrones Transferprotokoll für eine Übertragung mit direktem Speicherzugriff (DMA)

Country Status (4)

Country Link
US (1) US6175883B1 (de)
JP (1) JP2000040058A (de)
DE (1) DE19923249A1 (de)
GB (1) GB2341701B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200152A (ja) * 1999-01-06 2000-07-18 Toshiba Corp 磁気ディスク装置
US7177968B1 (en) * 1999-05-31 2007-02-13 Mitsubishi Denki Kabushiki Kaisha Data transmission system
US6567953B1 (en) 2000-03-29 2003-05-20 Intel Corporation Method and apparatus for host-based validating of data transferred between a device and a host
US6618788B1 (en) * 2000-09-27 2003-09-09 Cypress Semiconductor, Inc. ATA device control via a packet-based interface
JP2002297275A (ja) * 2001-03-30 2002-10-11 Internatl Business Mach Corp <Ibm> データ転送装置、コンピュータ装置、デバイス、ドッキングステーション
KR100440970B1 (ko) * 2002-07-11 2004-07-21 삼성전자주식회사 데이터 전송을 조기에 종료하는 장치 및 방법
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
JP2005063351A (ja) * 2003-08-20 2005-03-10 Matsushita Electric Ind Co Ltd データ転送装置およびデータ転送方法
US7496695B2 (en) * 2005-09-29 2009-02-24 P.A. Semi, Inc. Unified DMA
US8315269B1 (en) 2007-04-18 2012-11-20 Cypress Semiconductor Corporation Device, method, and protocol for data transfer between host device and device having storage interface
TWI448902B (zh) * 2007-08-24 2014-08-11 Cypress Semiconductor Corp 具頁存取基礎處理器介面之橋接裝置
US8090894B1 (en) 2007-09-21 2012-01-03 Cypress Semiconductor Corporation Architectures for supporting communication and access between multiple host devices and one or more common functions
US7895387B1 (en) 2007-09-27 2011-02-22 Cypress Semiconductor Corporation Devices and methods for sharing common target device with two different hosts according to common communication protocol
US8281049B2 (en) * 2008-12-19 2012-10-02 Cisco Technology, Inc. Host-daughtercard configuration with double data rate bus
US8493833B1 (en) * 2010-09-17 2013-07-23 Integrated Device Technology, Inc. Slew rate-variation based driver equalization for far-end crosstalk cancellation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU568977B2 (en) * 1985-05-10 1988-01-14 Tandem Computers Inc. Dual processor error detection system
US4888684A (en) * 1986-03-28 1989-12-19 Tandem Computers Incorporated Multiprocessor bus protocol
US4845675A (en) * 1988-01-22 1989-07-04 Texas Instruments Incorporated High-speed data latch with zero data hold time
JPH07311735A (ja) * 1994-05-18 1995-11-28 Hitachi Ltd データ転送装置
JPH07312616A (ja) * 1994-05-18 1995-11-28 Fujitsu Ltd 受信選択方式の通信システムの二重受信防止方法
US5548285A (en) * 1994-07-18 1996-08-20 Motorola, Inc. Circuit and method of indicating data hold-time
US5546344A (en) * 1995-06-06 1996-08-13 Cirrus Logic, Inc. Extended data output DRAM interface
SE506955C2 (sv) * 1995-07-06 1998-03-09 Ericsson Telefon Ab L M ATM-flödesstyrning
US5982778A (en) * 1996-08-30 1999-11-09 Advanced Micro Devices, Inc. Arrangement for regulating packet flow rate in shared-medium, point-to-point, and switched networks
US5995488A (en) * 1996-10-08 1999-11-30 Advanced Micro Devices, Inc. Method and apparatus for regulating data flow in networks

Also Published As

Publication number Publication date
GB2341701B (en) 2003-03-05
US6175883B1 (en) 2001-01-16
GB2341701A (en) 2000-03-22
GB9912001D0 (en) 1999-07-21
JP2000040058A (ja) 2000-02-08

Similar Documents

Publication Publication Date Title
DE69826863T2 (de) Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet
DE69631327T2 (de) Synchrones dma-übertragungsprotokoll
DE19923249A1 (de) Synchrones Transferprotokoll für eine Übertragung mit direktem Speicherzugriff (DMA)
DE2448212C2 (de) Asynchrone Sammelleitung zur Kommunikation mit selbstbestimmter Priorität zwischen Mutterrechnergeräten und Tochterrechnergeräten
DE3586177T2 (de) Datenstromsynchronisiereinrichtungen.
DE3280451T2 (de) Verfahren zur Initialisierung eines Datenverarbeitungssystems.
DE2831280C2 (de) Buszugriffs-Steuereinheit in einem Datenübertragungs-Steuersystem
DE3587149T2 (de) Datenuebertragungssysteme.
DE2854485A1 (de) Datenverarbeitungssystem mit speicherhierarchie
DE19649258C2 (de) Bussystem und Verfahren zur Datenübertragung
DE2807175C2 (de) Anordnung zur Steuerung von Informationsübertragungen zwischen zwei Rechenanlagen
DE3010357A1 (de) Verfahren und anordnung zum uebertragen von daten zwischen systemeinheiten
EP0574598A1 (de) Datenpufferspeicher
DE10220559A1 (de) Datenempfangs- und Dateneingabeschaltkreis, Dateneingabeverfahren und Halbleiterspeicherbauelement
DE2854397A1 (de) Pufferspeichereinheit fuer ein datenverarbeitungssystem
DE20221511U1 (de) Vorrichtung zur Signalisierung zwischen Komponenten eines Speichersystems
DE3923253C2 (de) Mikroprozessor
DE10108379A1 (de) Elastische Puffer für eine Serialisierer/Deserialisierer-Wortausrichtung und eine Ratenanpassung zwischen Zeitbereichen
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
DE60015939T2 (de) Verfahren und schaltung um an zwei enden getakten daten zu empfangen
DE60111654T2 (de) Senderschaltung mit mitteln zur entfernung der zeitsteuerungsversetzung
DE68923112T2 (de) Mit einem Mikroprozessor verbundene Cachespeichersteuervorrichtung.
DE19962723B4 (de) Vorrichtung zum Erkennen von Handshaking-Protokollfehlern auf einem asynchronen Datenbus
EP0009600B1 (de) Verfahren und Schnittstellenadapter zum Durchführen von Wartungsoperationen über eine Schnittstelle zwischen einem Wartungsprozessor und einer Mehrzahl einzeln zu prüfender Funktionseinheiten eines datenverarbeitenden Systems
DE2749884A1 (de) Einrichtung zum automatischen neuformatieren von daten in einem dv-system

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8131 Rejection