Von PIO bis UltraDMA
Das Ende einer UltraDMA-Burst-Phase
Wie ein Laufwerk einen Datentransfer im UltraDMA-Mode beendet, verdeutlicht das Zeitdiagramm in Bild 5. Nach der Übertragung des letzen Datenwortes mit einem Flankenwechsel des DSTROBE-Signals legt das Gerät 50 ns später die DMARQ-Leitung auf Low. Es signalisiert somit dem Host, dass er den Burstzyklus beenden soll. Der Host quittiert dies mit dem Setzen des STOP-Signals und mit dem High-Pegel auf der #HDMARDY-Leitung. Kurz darauf setzt der Host #DMACK auf High und schließt somit den Burstzyklus ab. Die ursprünglichen Bedeutungen und Bezeichnungen der Signale (wie im PIO-Modus) sind wieder gültig und ein neuer Datentransfer kann erfolgen.
Eine wichtige Neuerung ist mit Einführung der UltraDMA-Modi 0 bis 5 hinzugekommen. Am Ende eines jeden UltraDMA-Bursts wird eine Fehlererkennung des übertragenen Datenstroms durchgeführt. Durch diese CRC-Prüfsumme erhöht sich die Sicherheit der Datenübertragung enorm.
Der Host sowie das Gerät berechnen nach einem im ATA-4 festgelegten Algorithmus (G(X)=X16+X12+X5+1) die CRC-Prüfsumme. Dieser Algorithmus ist in der Elektronik implementiert. Am Ende eines jeden Datenbursts sendet der Host die Prüfsumme an das Gerät. Das Gerät überprüft die beiden Prüfsummen. Ist ein Fehler aufgetreten, wird der fehlerhafte Datenburst nochmals übertragen. Treten jedoch massive Fehlerhäufungen auf, schaltet der Host auf einen langsameren UltraDMA-Modus um. Dieser Vorgang läuft unabhängig vom Prozessor.
Diese Art von Fehlererkennung durch eine Polynomberechnung ist gegenüber einer einfachen Parity-Bit-Prüfung, wie sie bei der SCSI-Schnittstelle zur Verwendung kommt, wesentlich sicherer. (hal)
Inhalt dieses Artikels
Mehr zum Thema
Links zum Artikel
IDE-Grundlagen Hinter IDE verbirgt sich mehr als ein simples Kabel mit Steckern. Die Schnittstelle und ihr Umfeld unterliegen einer ständigen ...
Links zum Thema













