Ein Bekannter hatte ein Problem mit einer langsamen Notebookfestplatte. Die Bremse war der PIO-Mode der Festplatte, denn das hätte der DMA-Modus 5 sein müssen.

PIO = Programmed I/O
DMA = Direct Memory Access

Die folgende Erläuterung stammt von http://winhlp.com/node/15

#############BEGINN ZITAT###################################

Die Falle

Windows enthält eine Falle, in die viele Computer früher oder später einmal hineintappen. Diese Falle wurde in einem Artikel (und auch in einem weiter unten erwähnten) genauer beschrieben. Die entscheidenden Absätze (ins Deutsche übertragen) lauten:

Der PIO-Modus wird automatisch in den folgenden Situationen aktiviert:

...

Bei wiederholten DMA-Fehlern. Windows XP schaltet den DMA-Modus für ein Gerät aus, nachdem bestimmte Fehler beim Datentransfer auftraten. Wenn mehr als sechs DMA-Transfer-Zeitüberschreitungen auftreten, dann deaktiviert Windows DMA und benutzt für dieses Gerät den PIO-Modus. In diesem Falle kann der Benutzer DMA für dieses Gerät nicht mehr einschalten. Die einzige Möglichkeit für den Benutzer, der DMA wieder aktivieren möchte, ist, das Gerät zu deinstallieren und neu zu installieren. Windows XP schaltet den Ultra-DMA-Transfermodus herunter, nachdem es mehr als sechs CRC-(Cyclic Redundancy Check)-Fehler erhalten hat. Wenn immer möglich, schaltet das Betriebssystem den DMA-Modus jedes Mal nur um eine Stufe herunter (von UDMA-Modus 4 auf UDMA-Modus 3 usw.).

...

Natürlich ist es bei der heutzutage ziemlich komplizierten Geräte-Firmware (fest eingebaute Software), die mit an Sicherheit grenzender Wahrscheinlichkeit selbst auch Programmfehler enthält, nicht allzu schwierig, solche Fehler zu erzeugen. In meinem Falle genügte eine
zerkratzte DVD und später noch einmal eine unlesbare (overburn) CD, um das Laufwerk sich verschlucken zu lassen, und um Windows dazu zu bringen, für immer auf den PIO-Modus zurückzuschalten.

Ich hatte meinen Laptop schon jahrelang zum Anschauen von DVDs benutzt, bis ich eine geborgte und schwer zerkratzte DVD einlegte. Das DVD-Abspielprogramm und auch das Lauferk stolperte über die vielen Fehler, und als ich die DVD schließlich zum Abspielen brachte, fand ich, dass der Film ruckelte und die Prozessorleistung auf 100% anstieg, von dem etwa die Hälfte System-Overhead war.

Dies zeigt an, dass das Laufwerk vom sonst üblichen UDMA-Modus 2 auf PIO zurückgefallen war. Alle Versuche, dies zurückzusetzen oder die relevanten Registry-Einträge von 1 (DMA versuchen) auf 2 (DMA erzwingen), schlugen fehl. Störrisch beharrte das Laufwerk auf dem PIO-Modus, und Windows stellte sogar die Registry-Parameter auf 0 (Nur PIO benutzen) zurück.

Der folgende Text bezieht sich auf den sekundären IDE-Port, weil dieser am häufigsten betroffen ist, aber dasselbe gilt im Prinzip auch für den primären IDE-Port, an dem in den meisten Computern die Festplatte angeschlossen ist. Nur treten dort nicht so häufig Fehler auf, denn wer benutzt schon zerkratzte Festplatten?

Bevor Sie beginnen, am Problem zu arbeiten, loggen Sie sich als Administrator oder als ein Benutzer mit Administratorrechten ein.

DMA mit dem Registry Editor reaktivieren

Dieses Kapitel beschreibt den manuellen Weg, das zu tun, was die schnelle Lösung oben auf dieser Seite automatisch mit einem Scriptprogramm tut. Wenn Sie sich nicht für die Details interessieren, dann können Sie nach oben zum Kapitel "Schnelle Lösung" gehen und das Scriptprogramm ausführen.

...

Starten Sie den Registry-Editor REGEDIT. Sie können diesen u.a. aufrufen, indem Sie auf den Start-Knopf klicken, dann auf den Befehl Ausführen... und dort das Wort regedit eingeben. Suchen Sie jetzt, indem Sie auf die Pluszeichen links neben den Schlüsselnamen klicken, den Registry-Schlüssel:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}

Dieser enthält weitere Schlüssel namens 0000, 0001, 0002, usw. Normalerweise ist 0001 der primäre IDE-Kanal und 0002 der sekundäre, aber unter bestimmten Umständen können auch andere Nummern auftreten. Sie müssen daher durch diese Schlüssel gehen und den Wert DriverDesc (Treiber-Beschreibung) anschauen, der eine lesbare Bezeichnung des jeweiligen Kanals enthält. So können Sie sicherstellen, dass Sie den richtigen IDE-Kanal gefunden haben.

Löschen Sie nun den Wert MasterIdDataChecksum oder SlaveIdDataChecksum, je nachdem, ob das fragliche Gerät als Master oder als Slave angeschlossen ist (Gerät 0 oder Gerät 1), aber es kann nicht schaden, einfach beide zu löschen. Sie können einen Wert löschen, indem Sie seinen Namen auswählen, indem Sie darauf klicken, und dann die Löschtaste [Entf] drücken. Windows wird beim nächsten Systemstart die DMA-Fähigkeiten des Laufwerks oder der Laufwerke neu feststellen. Booten Sie also Ihren Computer neu.

#############ENDE ZITAT#####################################

Prüfung nach Neustart


Korrekte DMA-Eistellungen


Auf der Seite wird auch ein VBS-Script angeboten, mit dem die Änderung "on the fly" gemacht werden kann. Ich habe das Script nicht geprüft und auch nicht ausgeführt.

Das ganze geht auch OHNE Registry-Bearbeitung: Einfach im Gerätemanager zuerst den sekundären und dann den primären IDE-Kanal löschen/deinstallieren. Beim Löschen des primären IDE-Kanals kommt die Meldung, dass Windows neu gestartet werden muss. Diese Aktion bestätiugen und neu starten. Die IDE-Kanäle werden beim Neustart automatisch erkannt und wieder mit maximalem DMA eingestellt.
Danach gleich nochmals neu starten, dann ist das System wieder schnell und die Festplatte hat wieder die maximale Geschwindigkeit.

Manche CD-/DVD-Laufwerke werden auf diesem Weg auch wieder neu beschleunigt. Wenn viele fehlerhafte, verkratzte oder verschmutzte CDs/DVDs gelesen wurden, führt auch hier der Fehlerzähler zu einer Herabstufung der Geschwindigkeit.

Seit 20.06.2008 gibt es dazu einen Patch von Microsoft, der im XP SP3 enthalten ist: http://support.microsoft.com/kb/817472/de