PIO macht das Brennen langsam
Kürzlich mußte ich unter Windows Daten-DVDs brennen. Das war alles andere als spaßig, da das Brennen einer 4 GByte-DVD eine ganze Stunde in Anspruch genommen hat. Eigentlich hätte es garnicht solange dauern dürfen, denn die Brenngeschwindigkeit war mit 8fach bzw. rund 11 MB/s angegeben. Damit wären die 4 GByte nach Adam Riese eigentlich in rund 6 Minuten auf den Rohling transferiert. Tatsächlich dauerte es aber fast 10 Mal länger - warum? Der Bösewicht war nach kurzem Googlen schnell ausgemacht: Programmed Input-Output oder kurz PIO.
Bei
PIO
werden alle Daten zwischen Arbeitsspeicher und Laufwerken eines Computers über den Prozessor geleitet. Das bremst aber den Prozeß stark aus, was sich bspw. wie oben beschrieben beim Brennen in drastisch verlängerten Brennzeiten ausdrückt. Vermeiden kann man das durch Verwendung von Direct Memory Access (
DMA
). Hier wird der Prozessor schön aus der Datenschaufelei herausgehalten. Laufwerke moderner Rechner sollten mittlerweile alle DMA unterstützen.
Nun ist das unter Windows mit dem DMA nicht so einfach. Im Gerätemanager findet man das Gerät "IDE ATA/ATAPI Controller" und darunter i.d.R. den primären und sekundären IDE-Kanal. Für die Geräte der IDE-Kanäle kann man nun unter im Eigenschaften-Dialog unter Übertragungsmodus "DMA, wenn verfügbar" einstellen, wenn dies bislang auf "Nur PIO" eingestellt war (Bild). Blöderweise stellt Windows dies möglicherweise nach einem Reboot und/oder Zugriff auf das entsprechende Laufwerk wieder auf PIO zurück. Dieses Verhalten hängt mit
bestimmten Schlüsseln in der Windows-Registry zusammen
. Dort werden Informationen über Fehlzugriffe bei einem bestimmten Laufwerk gesammelt. Akkumulieren sich zuviele dieser Fehler, so wählt Windows für dieses Laufwerk fortan PIO, egal was der Benutzer will.
Wenn man das beheben will, muß man somit in der Registry herumfingern, was aber auch nicht weiter dramatisch ist. Die Registry editiert man bspw. mit dem Windows-Tool REGEDIT (Start --> Ausführen ... --> regedit). Dort klickt man sich dann bis hierhin durch:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}
Hierunter sind nun die Geräte der IDE-Kanäle als 0001, 0002, 0003, usw. aufgeführt. Die geht man einzeln durch und löscht alle Schlüssel mit dem Namen:
MasterIdDataChecksum
SlaveIdDataChecksum
die man dort finden kann. Jetzt noch im Gerätemanager den Übertragungsmodus "DMA, wenn verfügbar" einstellen und rebooten. Jetzt sollte das Brennen deutlich schneller gehen.