Abenteuer AHCI-Modus in Windows 7

S

Schnitzel89

Gast
Erst einmal einen schönen guten Morgen liebe CB-Community!
Seit gut 1-2 Jahren verfolge ich hier das Treiben im Forum und auch die News. Nun hab ich endlich dazu durchgerungen, auch Teil dieser Community zu werden.

Wieso ich das hier reinschreibe? Irgendwie habe ich keinen Vorstellthread gefunden, kann aber natürlich auch an der Uhrzeit liegen. ;)

Nun, ich habe jetzt ein kleines "Problem". Es ist zwar kein Problem, mein PC läuft ja noch ohne Murren, aber das Vorhaben klappt nicht so recht.

Erstmal meine PC Daten:

Windows 7 x86 Professional SP1
AMD Ahtlon X2 4850e unter einem Arctic Freezer 64 Pro PWM
3GB DDR-800 RAM (von MDT Technologies, falls einer den kennt, war früher ein preisgünstiger RAM made in Germany)
Asus M3A78-EM; BIOS-Version 2701, es aktuellste eben
Samsung Spinpoint HD250HJ
Powercolor HD4670 PCS+
beQuiet! Dark Power Pro P7 450 Watt

Ok, der Titel weist schon daraufhin, wo es hingehehn soll, aber ich beschreibe erstmal alles chronologisch:

Damals 2008 hab ich mir den PC zum Geburtstag gegönnt.
2009 hab ich Windows 7 als Geburtstagsgeschenk bekommen. OK, muss zugeben, ich durfte aussuchen welches OS es sein darf.

Windows 7 installiert, wollte dann erst den Chipsatz-Treiber installieren, aber Windows 7 hatte alles schon automatisch rutnergeladen und installiert, keine Fragezeichen im Hardware-Manager, wie es bei Windows XP noch der Fall war.

Seitdem herrschte all die Jahren Funkstille. Klar, habe natürlich Grakka- und Soundtreiber up-to-date gehalten, aber mehr nicht.

Nun habe ich festgestellt, dass meine Festplatte, die ja SATA2 unterstützt, gar kein SATA 2 nutzt, Mainboard kann das ja auch. Man muss dazu den AHCI-Modus aktivieren damit es klappt.
Also bekann ich mit Hilfe von verschiedenen Beiträgen von hier zu recherchieren.

Registry habe ich geändert, BIOS auf AHCI umgestellt, Win 7 hat den Standard-AHCI-Treiber installiert, alles wunderbar.
Dann die Ernüchterung:

Hwinfo zeigt immernoch an, dass die HDD UltraDMA 6, also ATA133 nutzt. Es sagt aber auch, dass die HDD UltraDMA 7 kann.
Dann habe ich noch HDTune installiert, es sagt mir dasselbe, von den Bechnmark Werten ganz zu schweigen...

Ok dann habe ich mal den richtigen AHCI-Treiber von der Asus Homepage runtergeladen und gleich den Chipsatz-Treiber dazu. Habe erst den Chipsatz-Treiber installiert. Bis auf eine Kleinigkeit, irgendein Northbridge-Filter irgenwas war es mein ich, wurde nichts weiter installiert.

Dann kam der AHCI-Treiber:

AHCI-Controller im Hardware-Manager ausgewählt, "Treiber aktualisieren" geklickt, Pfad ausgewählt und da wurde der Treiber als "AMD SATA Controller" geupdatet.

Als der PC neustarten wollte, fiel mir sofort auf, dass die HDD irgenwie versucht, zum Stillstand zu kommen, so kam es mir zumindest vor. Sie drehte weitere 2 mal an, dann fuhr der PC runter. Nach dem BIOS-Piepton hatte fuhr die HDD wieder 2-3 erst an, bevor der Ladebildschirm von Windows 7 kam. Vorher hatte ich das noch nie. :confused_alt:

Auf jeden Fall hätte ich mir die Installation sparen können, da sich in den Programmen nichts geändert hat, Hwinfo zeigt immer noch UDMA 6 an.
Was mir aber auch aufgefallen ist:

Im BIOS kann man ja UltraDMA auch manuell einstellen. Aber weiter als UDMA 6 gehts nicht, ich habs auf "Auto" gelassen. Als Info wird ebenfalls nur UDMA 6 angezeigt.
Ach so, HDD ist mit dem Anschluss "SATA1" verbunden und die Stecker sind soweit auch alle sauber.

Also ich denke, es können eigentlich nur 2 Dinge sein:

Die Programme lesen es falsch aus. Falls das so ist, welche Programme können es zuverlässig auslesen? Aber irgendwo kann das auch nicht sein, da das BIOS ja auch nur UDMA 6 anzeigt... Deshalb sage ich mal eher, dass ich was falsch gemacht habe. Ich wüsste aber nicht was und deshalb frage ich mal Euch.


Ich danke im Voraus für Antworten. :)
 
Zuletzt bearbeitet:
Du hast eine SATA Platte. Ultra-DMA Modi waren bei IDE eine Sache. Was das Tool anzeigt, ist eigentlich wurst.

Und was genau ist das Problem an den Benchmarkwerten? Ich würde mal sagen, die Platte ist ziemlich alt und sicherlich nicht die schnellste. Selbst UDMA (133MB/s) dürfte für die genügen - aber wie gesagt, irrelevant.
 
bei der HDD Größe ist es egal ob die mit SATA1 oder 2 angesprochen wird

sowas fällt erst auf wenn man eine SSD einsetzen will

zim auslesen nutze am besten eine aktuelle AIDA version
 
Nunja, habe die Platte 2008 gekauft, also die hat schon en bissle was aufn Buckel.

Ich habe folgende Benchmark-Werte von HDTune (bei "Test Speed/Accurac"y habe ich den Regler in die Mitte gestellt, Block Size 64KB):




Mh, mir fällt grade heiß ein, dass die HDD zwar SATA2 unterstützt, aber letzendlich muss das ja nicht heißen, dass sie auch 300MB/s schafft oder? :confused_alt:

AIDA64 sagt auch "Schnitstelle SATA2" und "Puffer zu Host Datendurchsatz 300MB/s".
 
Das mit den Sata1 statt Sata2 oder 3 Modi ist bei dieser Boardgeneration und der danach (785er) eine Seuche. Habe selbst ein 785er Board von Gigabyte was statt Sata3 bei der SSD nur Sata1 schaltet, die Performance leidet da merklich ...

In deinem Fall dürftest du kaum Auswirkungen haben, da die Festplatte niemals an die 150MB/s herankommt, einzig das lesen aus dem Plattencache wäre etwas langsamer.

Solltest du mit dem Gedanken spielen dir eine größere Platte oder eine SSD zu holen, solltest du erst einmal ein neues Board kaufen ansonsten ist das wenig tragisch...
 
Mh, mir fällt grade heiß ein, dass die HDD zwar SATA2 unterstützt, aber letzendlich muss das ja nicht heißen, dass sie auch 300MB/s schafft oder?
Nein, das heißt nur wie viel theoretisch der SATA Port übertragen kann.
Die gemessenen Werte sehen ganz normal für die Festplatte aus. Hab sie noch als kleine 3. Platte in meinem und komme auf ähnliche Werte.
Alles normal also
 
Nun sieh bitte nicht nur die möglichen Übertragungsgeschwindigkeiten der Sata-Modi.
Sata 1 ist eigendlich Sata pur.150 MB/s war schon eine nötige Hausnummer,da viele Platten im Burstmodus dem schon nahe kamen.
Sata 2 ist,neben der verdoppelung der möglichen Übertragungsrate aber noch mit der Möglichkeit des Hotplug gesegnet,darüber hinaus mit dem NCQ.Daher braucht man ja auch AHCI-Treiber,und die erst ab Sata 2,wenn man eben NCQ und Hotplug braucht.
Der AHCI-Treiber wurde für Sata 3 noch mit Trim und so Sachen für SSD´s erweitert.
 
@Schnitzel89
SATA-Festplatten laufen immer in einem SATA-Übertragungsmodus. Aus Kompatibilitätsgründen zu älteren Systemen geben sie sich aber als PATA-Laufwerke zu erkennen, wenn Programme die entsprechenden Register abfragen.

Zitat aus der Spezifikation zur ICH10 von Intel:

SATA interface transfer rates are independent of UDMA mode settings. SATA interface
transfer rates will operate at the bus’s maximum speed, regardless of the UDMA mode
reported by the SATA device or the system BIOS.

....

Standard ATA Emulation

The ICH10 contains a set of registers that shadow the contents of the legacy IDE
registers. The behavior of the Command and Control Block registers, PIO, and DMA
data transfers, resets, and interrupts are all emulated.

Das dürfte auch auf den AMD-Chipsatz deines Boards zutreffen.

Schnitzel89 schrieb:
Als der PC neustarten wollte, fiel mir sofort auf, dass die HDD irgenwie versucht, zum Stillstand zu kommen, so kam es mir zumindest vor. Sie drehte weitere 2 mal an, dann fuhr der PC runter. Nach dem BIOS-Piepton hatte fuhr die HDD wieder 2-3 erst an, bevor der Ladebildschirm von Windows 7 kam. Vorher hatte ich das noch nie.
Wenn ich mich nicht irre, war das ein Bug im AMD-Treiber, der aber schon vor Ewigkeiten behoben wurde. Speziell AHCI-Treiber (aber nicht nur) lädt man NIE von der Webseite des Mainboard- oder PC-Herstellers runter, da die IMMER veraltet sind und den ein oder andern (meist schon behobenen) Bug enthalten können. Lade dir die Treiber IMMER von der Webseite des Chip-Herstellers runter. Veraltete AHCI-Treiber können auch eine tickende Zeitbombe sein, die in Verbindung mit 2,2TB+ Festplatten irgendwann für totalen Datenverlust sorgen. Sofern du also mal vor hast eine 3 TB Festplatte dir anzuschaffen, denke daran, dass der proprietäre AHCI-Treiber aktuell sein muss (der Standard Treiber ist nicht betroffen).

Besorge dir also entweder den aktuellen AHCI-Treiber von AMD oder wechsle wieder auf den Standard-AHCI-Treiber von Microsoft.

/Edit
@Amigauser
NCQ und Hot-Plug sind optionale Features der SATA-Schnittstelle, die nicht an einen Übertragungsmodus gebunden sind. Vorausgesetzt, der SATA-Controller sowie die Festplatte unterstützen diese Features und der AHCI-Treiber bzw. der proprietäre Treiber des Chip-Herstellers ist installiert, ist NCQ und Hot-Plug immer aktiviert, egal, ob die Festplatte im SATA 1.5Gb/s, SATA 3Gb/s oder SATA 6Gb/s Modus angesprochen wird.
 
Zuletzt bearbeitet:
Erstmal Danke für die tollen Antworten. :)

Mh OK, nun weiß ich bescheid.
Kann man also sagen, dass mein Vorhaben mehr oder weniger sinnlos war?
Lohnt sich AHCI überhaupt für meine HDD?


EDIT: Hab den aktuellsten Chipsatz-Treiber von der AMD seite geladen.
Die "Startversuche" der HDD sind nun weg, hö hö. :p
 
Zuletzt bearbeitet:
Wirklich brauchst du es nur,wenn du deine Platte im laufendem Betrieb ausbauen willst,was aber nicht funktioniert wenn darauf das Betriebssysstem liegt.
Minimale Vorteile hast du aber durch NCQ.
 
Ich hab mir mal den Spass erlaubt, alles wieder rückgängig zu machen.
Registry wieder den Wert auf "3" geändert, BIOS auf "SATA" gestellt und wieder den Benchmark von HD Tune laufen gelassen.

Also entweder es ist eine ganz normale Messtoleranz oder man kann sagen, ohne AHCI läuft die HDD en Tick schneller:



HDTune erkennt auch nun die S.M.A.R.T. Werte (Reiter "Health") der HDD, was unter AHCI nicht der Fall war, da war alles blank.


Ich denke, ich lass das jetzt wieder so.
Danke nochmals für die Antworten. :)
 
Zuletzt bearbeitet:
@Schnitzel89
Der Vorteil, der NCQ (wird durch den AHCI-Modus aktiviert) bringen kann, lässt sich mit einem Low-Level-Benchmark (wie HD-Tune) nicht messen. Wobei man allerdings auch sagen muss, dass sich der Leistungsvorteil bei HDDs in Grenzen hält.

Schnitzel89 schrieb:
HDTune erkennt auch nun die S.M.A.R.T. Werte (Reiter "Health") der HDD, was unter AHCI nicht der Fall war, da war alles blank.
Das liegt am verwendeten proprietären Treiber. Wenn du auf den Standard-AHCI-Treiber von Microsoft wechselst, kannst du die Smart-Werte auch im AHCI-Modus auslesen.
 
Wenn man der Wikipedia-Seite vertrauen kann:

NCQ wäre dazu da, wenn mehrere Aufgaben der HDD gestellt werden. Diese entscheidet selber, was zuerst gemacht werden soll.

Nunja, mehrere Programme mit HDD-Zugriffen lass ich eigentlich gar nicht laufen.

Zudem wird geschrieben, dass es bei Spielen schlechtere Zugriffzeiten geben könnte.

Ich weiß nicht so recht. :S

Vor der Umstellung habe ich in der Registry nachgesehen (Localmashcine/System/Currentcontrolset/services/amdsbs/Settings/cam), NCQ war aus.
 
1. Windows 7 bringt einen eigenen AHCI Treiber mit, den msahci
2. Es schadet nicht, wenn ein Treiber zur Bootzeit geladen wird, außer einer minimal längeren Bootzeit und vielleicht ein paar kB Speicherbedarf. Der Wechsel zwischen IDE und AHCI wird alleine über die Einstellung im BIOS vorgenommen. Wird aber kein passender Treiber für das Systemlaufwerk zum Bootzeitpunkt gestartet, so gibt es beim Booten einen Bluescreen.
3. NCQ erlauft es dem AHCI Treiber mehrere Kommandos gleichzeitig offen zu halten, also ein neues Kommando zu schicken bevor das letzte abgearbeitet wurde. Das erlaubt es dem Controller der HDDs diese so zu sortieren, dass die Kopfbewegungen minimiert werden. Das ist aber eben nur dann ein Vorteil, wenn die Position auf die die Köpfe zur Abarbeitung des 2. Kommandos gebracht werden müssen auf dem Weg liegt, denn die Köpfe für das erste Kommando anfahren müssen. Es bringt also nur bei einem Drittel der Fälle was, denn wenn die Köpfe gerade zwischen beiden Zylindern stehen oder das erste Kommando zuerst dran ist, dann bringt es nichts.

Bei SSDs sieht es anders aus, da die Controller die einzelnen NANDs Dies parallel ansteuern können, da bringt NCQ dann richtig was.
Ergänzung ()

Y-Chromosome schrieb:
Habe selbst ein 785er Board von Gigabyte was statt Sata3 bei der SSD nur Sata1 schaltet, die Performance leidet da merklich ...
Welches Board hast Du genau? Bei einem Board mit einer 785 Northbridge ist immer eine 700er Southbridge (in der steckt der SATA Controller) verbunden. Wenn da ein SATA 6Gb/s (SATA III) Controller (meist ein Marvell der 912x Famile) drauf ist, dann sollte der nicht mit nur 1.5Gb/s arbeiten. Das klingt mir mehr danach, als wenn die SSD an einem diese JMicron / Gigabyte (was nur ein umgelabelter JMicron ist) Controller hängt.

Y-Chromosome schrieb:
In deinem Fall dürftest du kaum Auswirkungen haben, da die Festplatte niemals an die 150MB/s herankommt, einzig das lesen aus dem Plattencache wäre etwas langsamer.
Das ist nicht immer so. Auch wenn die Schnittstelle eigentlich mehr können müsste, so ist die Bandbreite des Caches nicht immer so schnell wie die der Schnittstelle. Das sieht man auch bei den SATA 6Gb/s HDDs oft, denn viele von denen kommen auch beim Cache nur auf 200 etwas MB/s.

Y-Chromosome schrieb:
Solltest du mit dem Gedanken spielen dir eine größere Platte oder eine SSD zu holen, solltest du erst einmal ein neues Board kaufen ansonsten ist das wenig tragisch...
Ein Board mit einer 850er oder 950er Southbrige würde schon besser, weil die 6 native SATA 6Gb/s Ports haben, aber eine SSD beschleunigt selbst an einer Southbridge der 700 Generation das System deutlich und der Unterschied der Anbindung an SATA 3Gb/s oder 6Gb/s ist im Vergleich dazu gering.
 
OK, ich muss zugeben, die Sache mit dem NCQ hat mich doch neugierig gemacht.
Also alles wieder auf AHCI umgestellt und zusätzlich unter" LocalMachine/System/CurrentControlSet/services/amdsbs/Settings/CAM" den NCQ Wert auf 1 gesetzt, da der bei mir trotz AHCI immer auf 0 steht.

Mit CrystalDiskmark habe ich nun folgende Werte:

Ohne AHCI-Modus, ich nenn den jetzt mal wie es im BIOS steht SATA-Modus:



Und nun mit AHCI und NCQ:




Also bis auf die doch deutlich langsamere Geschwindigkeit beim sequentiellen Lesen sind es fast gar keine Unterschiede. :confused_alt:
 
Die bencht eine HDD die gut zur Hälfte voll ist mit einem Benchmark der auf Filesystemebene arbeitet. Damit ändern sich die Wert in Abhängigkeit der Position der Daten auf der Platte. Bei einer leere HDD drüfte diese immer am Anfang landen und daher fällt der Effekt weg, aber wenn die halb voll ist, dann bewegst Du Dich auf der Kurve, die Du ja im Screen von HD Tune siehst, immer mehr nach rechts. Wenn dann mal eine Datei gelöscht wurde, die weiter am Anfang steht, dann kann es auch sein, dass die Testdaten doch wieder auf einem der äußeren und somit "schnelleren" Zylinder gelandet sind. Das Ergebnis hat also genau Null Aussagekraft, außer dass man sieht das bei 4k QD32 Lesend ein Vorteil von etwa 50% vorhanden ist, weil sich dabei eben die Reduzierung der Kopfbewegungen durch die Optimierung der Befehlsschlange bemerkbar macht. Das es beim Schreiben nicht so ist, könnte seinen Grund darin haben, das eben nicht alle Controller (von HDDs wie SSDs) diese Optimierungen sowohl beim lesen als auch beim Schreiben vornehmen, denn gerade beim Schreiben müsse dazu ja auch die Daten mit gespeichert werden, was aber bei den kleinen Caches der HDDs schnell an seine Grenzen stößt. Deshalb wird NCQ oft nur beim Lesen wirklich konsequent genutzt.
 
Zurück
Oben