ネイティブコマンドキューイングとは
ネイティブコマンドキューイングは、SATA(Serial Advanced Technology Attachment)ハードドライブが読み取りおよび書き込み要求の独自の内部キューを管理できるようにするシステムです。 ネイティブコマンドキューイングを使用しないシステムでは、ドライブはコマンドをメインシステムから受信した順序で実行します。 ネイティブコマンドキューイングにより、ドライブはコマンドを並べ替えて、検索プロセスをより効率的にすることができます。 これにより、情報の回復時間が短縮され、ドライブの物理的な摩耗が減少します。
ハードドライブ上のデータは、プラッターと呼ばれる紙のように薄い磁気シートに保存されます。 各ドライブには複数のプラッターがあり、すべてに情報が含まれています。 プラッターで読み書きするために、ハードドライブはレコードプレーヤーのアームと同様のアームを使用します。 プラッターが回転すると、データを含むプラッターセクション上でアームが前後に動きます。
人間が観察すると、ハードドライブ上のデータは完全にランダムに見えます。 関連する2つの情報は、ドライブ上で広く配置されている場合があります。 両方のピースを読み取るために、アームは最初のピースを見つけ、次に位置を移動して2番目のピースを見つけます。 ドライブが次々に読み取りまたは書き込みコマンドを受け取る場合、アームはデータと整列するために絶えず動く必要があります。 各コマンドで同じプラッターの反対側にアームを移動する必要がある場合、前後のプロセスで多くの時間が失われます。
ネイティブコマンドキューイングを使用することにより、ドライブは特定のコマンドセットを実行する順序を選択できます。 本質的には、1つのエリアで可能な限り多くの操作を実行してから、別のエリアに移動します。 これは、ドライブのシーク時間とコマンド間の待機時間が短縮されたことを意味します。 副次的な利点として、ドライブは不必要なモーションを作成する時間を短縮します。 これにより、ドライブの摩耗が少し減少します。
高度なシステムは、ネイティブコマンドキューイングの別の利点を活用できます。 プロセッサがビジーでコマンドを受け入れることができない場合、ドライブはすべての書き込み要求をキューの先頭にプッシュできます。 プロセッサがビジー状態で読み取りコマンドを受け入れることができないため、ドライブは解決しないことを選択する場合があります。 これにより、特に複数のドライブと複数のコアを備えたシステムで、パフォーマンスが大幅に向上する可能性があります。
このテクノロジーは、一部の形式のソリッドステートドライブでも使用されます。 これらのドライブは、標準ドライブのアームとプラッターシステムを使用しないため、通常ははるかに高速に動作します。 それらは非常に高速であるため、多くの場合、システムの他の部分よりも速く動作し、最終的にボトルネックになります。 ネイティブコマンドキューイングを使用することにより、可能な場合は読み取りを送信し、システムが遅れると書き込みを送信するようにコマンドを並べ替えることができます。