Als direkte Antwort auf Ihre Frage sind mir im Allgemeinen keine großen Marken von SATA-Laufwerken bekannt, bei denen auf dem Laufwerk selbst Fehler im Hinblick auf den ordnungsgemäßen Betrieb mit aktiviertem Schreibcache aufgetreten sind. Dies bedeutet, dass das Laufwerk nur aus Laufwerkssicht das tut, was es aus Caching-Sicht tun soll. Ich würde auch beachten , dass selbst dann , wenn die Schreib - Caching wird aktiviert, dass die Verzögerung von einer Plattenschreib auf den SATA - Kabeln an die rotierenden Medien physisch aktualisierten noch sehr kurz ist (~ 50 bis 100 ms typisch). Es ist nicht so, als ob die schmutzigen Cachedaten nur Sekunden auf einmal dort sitzen würden. Das Laufwerk versucht ständig, schmutzige Daten aus dem Cache zu holenauf das physische Medium, sobald es möglich ist. Dies ist nicht nur eine Frage der Datensicherheit, sondern auch der Bereitschaft, zukünftige Schreibvorgänge ohne Verzögerung zu akzeptieren (z. B. das Schreiben eines Beitrags).
Das Problem, das bei aktiviertem Caching auftritt, ist, dass die Schreibreihenfolge für das Laufwerk über das SATA-Kabel und die Schreibreihenfolge für das rotierende Medium nicht identisch sind. Dies kann niemals zu Problemen führen, es sei denn, Sie haben einen Stromausfall oder einen Systemabsturz, bevor alle Inhalte des Caches auf die Festplatte gelangen. Warum? ->
Das Problem, das hier auftreten kann, bezieht sich auf die Transaktionsstabilität des Dateisystems und / oder des Inhalts der Datenbankdatei in Bezug auf diese in der Reihenfolge verlorenen Schreibvorgänge. Tatsächlich können solche möglicherweise nicht ordnungsgemäßen Schreibvorgänge die Integrität der Transaktionslogik beschädigen, die andernfalls durch die Festplattenschreibvorgänge auf dem Datenträger in einer ganz bestimmten Reihenfolge garantiert worden wäre.
Die Entwickler des Dateisystems, der Datenbanken, RAID-Controller usw. sind sich dieses Phänomens im Zusammenhang mit dem Schreib-Caching bewusst (oder sollten es auf jeden Fall wissen). Das Schreib-Caching ist unter dem Gesichtspunkt der Leistung in den meisten E / A-Szenarien mit wahlfreiem Zugriff äußerst wünschenswert. Tatsächlich ist die Verfügbarkeit des Schreibcaches ein Schlüsselelement, um einen echten Nutzen für das fortschrittlichere Native Command Queuing ( NCQ) zu erzielen), die auf neueren SATA- und PATA-Implementierungen der letzten Generation unterstützt werden. Um zu bestimmten kritischen Zeiten Ordnung auf dem physischen Datenträger zu gewährleisten, kann das Dateisystem und / oder die Anwendung usw. speziell ein Leeren der Schreibcaches auf dem Datenträger anfordern. Nach Abschluss dieser Synchronisierungsanforderung befindet sich alles, was von (potenziellen) Dateipuffern, OS-Platten-Caching, physischem Platten-Caching usw. ansteht, gemäß dem Transaktionssystemdesign bei den richtigen kritischen Vorgängen auf dem Medium. Das heißt, dies geschieht korrekt, wenn die Programmierer die richtigen Aufrufe oben ausführen UND jedes Element dieser Kette von Software- und Hardwareschichten seinen Job korrekt ausgeführt hat. Dh: Es gibt diesbezüglich keine Fehler im Laufwerk, den RAID-Controllern, den Festplattentreibern, den OS-Caches, dem Dateisystem, der Datenbank-Engine usw. Dies ist eine Menge Software, die genau richtig funktionieren muss. Darüber hinaus ist die Überprüfung der Richtigkeit in dieser Hinsicht sehr schwierig, da in fast jeder Situation die Schreibreihenfolge keine Rolle spielt. Stromausfall- und Absturzszenarien sind schwierig zu konstruierende Tests. Am Ende hat "Deaktivieren des Schreib-Cachings" in einer oder mehreren der verschiedenen Ebenen und / oder Bedeutungen dieses Begriffs den Ruf, bestimmte Arten von Problemen zu "beheben". Das Abschalten des Schreib-Caching-Verhaltens des RAID-Controllers oder des Betriebssystem-Disk-Caches oder des Laufwerks usw. vermeidet in der Tat einen oder mehrere Fehler im System ..... und die Quelle solcher Überlieferungen. Stromausfall- und Crash-Szenarien sind schwierig zu konstruierende Tests. Am Ende hat "Deaktivieren des Schreib-Cachings" in einer oder mehreren der verschiedenen Ebenen und / oder Bedeutungen dieses Begriffs den Ruf, bestimmte Arten von Problemen zu "beheben". Das Abschalten des Schreib-Caching-Verhaltens des RAID-Controllers oder des Betriebssystem-Disk-Caches oder des Laufwerks usw. vermeidet in der Tat einen oder mehrere Fehler im System ..... und die Quelle solcher Überlieferungen. Stromausfall- und Crash-Szenarien sind schwierig zu konstruierende Tests. Am Ende hat "Deaktivieren des Schreib-Cachings" in einer oder mehreren der verschiedenen Ebenen und / oder Bedeutungen dieses Begriffs den Ruf, bestimmte Arten von Problemen zu "beheben". Das Abschalten des Schreib-Caching-Verhaltens des RAID-Controllers oder des Betriebssystem-Disk-Caches oder des Laufwerks usw. vermeidet in der Tat einen oder mehrere Fehler im System ..... und die Quelle solcher Überlieferungen.
Wie auch immer, kommen wir zum Kern der Frage zurück: Unter SATA ist die spezifische Behandlung aller Lese- / Schreibbefehle für die Festplatte und der Cache-Leerbefehle in den SATA-Spezifikationen genau definiert . Darüber hinaus sollten die Laufwerkhersteller eine detaillierte Dokumentation für jedes Laufwerksmodell oder jede Laufwerksfamilie haben, in der die Implementierung und Einhaltung dieser Regeln beschrieben wird, wie in diesem Beispiel für Seagate Barracuda- Laufwerke. Siehe insbesondere Einzelheiten zu den SATA- SET-FUNKTIONENDer Befehl zur Steuerung des Betriebsmodus des Laufwerks und insbesondere die Option 82h können verwendet werden, um das Zwischenspeichern von Festplatten auf Laufwerksebene zu deaktivieren, da die Standardeinstellung mit Sicherheit das Aktivieren des Schreibzwischenspeichers auf allen mir bekannten Laufwerken ist. Wenn Sie den Cache wirklich deaktivieren möchten, muss dieser Befehl zu Beginn jedes Zurücksetzens oder Hochfahrens des Laufwerks ausgeführt werden und wird normalerweise von den Festplattentreibern für Ihr Betriebssystem gesteuert. Möglicherweise können Sie Ihren Betriebssystemtreiber dazu ermutigen, diesen Modus über eine IOCTL- und / oder Registrierungseinstellung festzulegen. Dies ist jedoch sehr unterschiedlich.