Disk buffer

Read-ahead / Read-behindEdit

Wenn der Controller einer Festplatte einen physischen Lesevorgang ausführt, bewegt der Aktuator den Lese- / Schreibkopf zum richtigen Zylinder (oder in die Nähe).

Die Daten, die während dieser Wartezeit vor der Anforderung gelesen werden, sind nicht angefordert, aber frei, sodass sie normalerweise im Festplattenpuffer gespeichert werden, falls sie später angefordert werden.

In ähnlicher Weise können Daten hinter dem angeforderten kostenlos gelesen werden, wenn der Kopf auf der Strecke bleiben kann, da kein anderer Lesevorgang ausgeführt werden kann oder der nächste Vorgang später beginnen und noch rechtzeitig abgeschlossen werden kann.

Wenn sich mehrere angeforderte Lesevorgänge auf derselben Spur (oder in der Nähe einer Spiralspur) befinden, werden die meisten nicht angeforderten Daten zwischen ihnen sowohl vor als auch nachgelesen.

Speed matchingEdit

Die Geschwindigkeit der E / A-Schnittstelle der Festplatte zum Computer stimmt fast nie mit der Geschwindigkeit überein, mit der die Bits auf und von der Festplattenplatte übertragen werden. Der Plattenpuffer wird verwendet, damit sowohl die E / A-Schnittstelle als auch der Platten-Lese- / Schreibkopf mit voller Geschwindigkeit arbeiten können.

Schreibbeschleunigungbearbeiten

Der eingebettete Mikrocontroller der Festplatte kann dem Hauptcomputer signalisieren, dass ein Plattenschreibvorgang unmittelbar nach dem Empfang der Schreibdaten abgeschlossen ist, bevor die Daten tatsächlich auf die Platte geschrieben werden. Dieses frühe Signal ermöglicht es dem Hauptcomputer, weiter zu arbeiten, obwohl die Daten noch nicht wirklich geschrieben wurden. Dies kann etwas gefährlich sein, denn wenn die Stromversorgung unterbrochen wird, bevor die Daten dauerhaft auf dem Magnetmedium gespeichert werden, gehen die Daten aus dem Festplattenpuffer verloren und das Dateisystem auf der Festplatte befindet sich möglicherweise in einem inkonsistenten Zustand.

Auf einigen Festplatten kann dieser verwundbare Zeitraum zwischen dem Signalisieren des Schreibvorgangs und dem Fixieren der Daten beliebig lang sein, da der Schreibvorgang durch neu ankommende Anforderungen unbegrenzt verzögert werden kann. Aus diesem Grund kann die Verwendung der Schreibbeschleunigung umstritten sein. Konsistenz kann jedoch beibehalten werden, indem ein batteriegestütztes Speichersystem zum Zwischenspeichern von Daten verwendet wird, obwohl dies normalerweise nur in High-End-RAID-Controllern zu finden ist.

Alternativ kann das Caching einfach ausgeschaltet werden, wenn die Integrität der Daten wichtiger ist als die Schreibleistung. Eine andere Möglichkeit besteht darin, Daten in einer sorgfältig verwalteten Reihenfolge auf die Festplatte zu senden und an den richtigen Stellen „Cache-Flush“ -Befehle auszugeben, was normalerweise als Implementierung von Schreibbarrieren bezeichnet wird.

Command queuingEdit

Neuere SATA- und die meisten SCSI-Festplatten können mehrere Befehle akzeptieren, während ein Befehl über „Command Queuing“ ausgeführt wird (siehe NCQ und TCQ). Diese Befehle werden vom eingebetteten Controller der Festplatte gespeichert, bis sie abgeschlossen sind. Ein Vorteil besteht darin, dass die Befehle neu angeordnet werden können, um effizienter verarbeitet zu werden, sodass Befehle, die denselben Bereich einer Festplatte betreffen, gruppiert werden. Wenn ein Lesevorgang auf die Daten am Ziel eines Schreibvorgangs in der Warteschlange verweist, werden die zu schreibenden Daten zurückgegeben.

NCQ wird normalerweise in Kombination mit aktivierter Schreibpufferung verwendet. Im Falle eines Lese- / Schreib-FPDMA-Befehls mit FUA-Bit (Force Unit Access) auf 0 und aktivierter Schreibpufferung kann ein Betriebssystem den Schreibvorgang beendet sehen, bevor die Daten physisch auf das Medium geschrieben werden. Wenn das FUA-Bit auf 1 gesetzt ist und die Schreibpufferung aktiviert ist, kehrt der Schreibvorgang erst zurück, nachdem die Daten physisch auf das Medium geschrieben wurden.



+