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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling 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
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.
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.
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.
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.
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.
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.
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.
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.
Minimale typische Zyklus-Zeiten (maximale typische Übertragungsrate):
Modus 3 = 45 ns
Modus 4 = 30 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
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
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
Asymmetrie = 60/40% Maximum
PCB-Traces:
Verzögerung = 0,5 ns Maximum
Zeitunsicherheit zwischen Signalen aufgrund von Traces = 0,25 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
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
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
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
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,
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.
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)
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)
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 |
-
1998
- 1998-05-26 US US09/085,330 patent/US6175883B1/en not_active Expired - Lifetime
-
1999
- 1999-05-20 DE DE19923249A patent/DE19923249A1/de not_active Ceased
- 1999-05-25 JP JP11145042A patent/JP2000040058A/ja active Pending
- 1999-05-25 GB GB9912001A patent/GB2341701B/en not_active Expired - Fee Related
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 |