Was ist Native Command Queuing?
Native Command Queuing ist ein System, mit dem SATA-Festplatten (Serial Advanced Technology Attachment) ihre eigenen internen Warteschlangen für Lese- und Schreibanforderungen verwalten können. In Systemen, die keine systemeigene Befehlswarteschlange verwenden, führt das Laufwerk Befehle in der Reihenfolge aus, in der sie vom Hauptsystem empfangen wurden. Mit der systemeigenen Befehlswarteschlange kann das Laufwerk Befehle neu anordnen, um den Abrufvorgang effizienter zu gestalten. Dies beschleunigt die Wiederherstellung von Informationen und verringert den physischen Verschleiß des Laufwerks.
Die Daten auf einer Festplatte werden auf papierdünnen Magnetfolien gespeichert, die als Platten bezeichnet werden. Jedes Laufwerk verfügt über mehrere Platten, die alle Informationen enthalten. Zum Lesen und Beschreiben der Platte verwenden Festplatten einen Arm, der dem eines Plattenspielers ähnelt. Während sich der Plattenteller dreht, bewegt sich der Arm über den Plattentellerabschnitten, die die Daten enthalten, vor und zurück.
Bei der Beobachtung durch einen Menschen erscheinen die Daten auf einer Festplatte völlig zufällig. Zwei verwandte Informationen können auf dem Laufwerk weit voneinander entfernt sein. Um beide Stücke zu lesen, findet der Arm das erste und bewegt sich dann in die Position, um das zweite zu lokalisieren. Wenn das Laufwerk einen Lese- oder Schreibbefehl nach dem anderen erhält, muss sich der Arm ständig bewegen, um mit den Daten übereinzustimmen. Wenn bei jedem Befehl der Arm zur gegenüberliegenden Seite desselben Plattentellers bewegt werden muss, geht beim Hin- und Herbewegen viel Zeit verloren.
Durch die Verwendung der systemeigenen Befehlswarteschlange kann das Laufwerk die Reihenfolge auswählen, in der es einen bestimmten Befehlssatz ausführt. Im Wesentlichen werden so viele Operationen wie möglich in einem Bereich ausgeführt und dann in einen anderen Bereich verschoben. Dies bedeutet, dass der Antrieb weniger Suchzeit und Wartezeiten zwischen Befehlen hat. Ein zusätzlicher Nebeneffekt ist, dass der Antrieb weniger Zeit für unnötige Bewegungen benötigt. Dadurch wird der Verschleiß des Laufwerks geringfügig verringert.
Fortgeschrittene Systeme können einen weiteren Vorteil der nativen Befehlswarteschlange nutzen. Wenn ein Prozessor ausgelastet ist und keine Befehle annehmen kann, kann das Laufwerk alle Schreibanforderungen an den Anfang der Warteschlange verschieben. Da der Prozessor zu beschäftigt ist, um Lesebefehle zu akzeptieren, kann es sein, dass das Laufwerk keine auflöst. Dies kann zu einer enormen Leistungsverbesserung führen, insbesondere bei Systemen mit mehreren Laufwerken und mehreren Kernen.
Diese Technologie wird auch bei einigen Solid-State-Laufwerken verwendet. Diese Laufwerke verwenden nicht das Arm-und-Plattenteller-System von Standardlaufwerken, daher arbeiten sie im Allgemeinen viel schneller. Da sie so schnell sind, arbeiten sie oft schneller als der Rest des Systems und haben einen Engpass. Mithilfe der nativen Befehlswarteschlange können sie ihre Befehle neu anordnen, um nach Möglichkeit Lesevorgänge zu senden und Schreibvorgänge auszuführen, wenn das System in Verzug gerät.