NCQ
読み:エンスィーキュー
外語:NCQ: Native Command Queuing
ハードディスクドライブアクセスを高速化するための技術の一つ。
SCSI用に作られたSCSI Command QueuingのATA版として、シリアルATA II(SATA II)から採用された。
概要
ディスクは回転している。
このため、データの読み書きに際しては、必要な場所へのヘッド移動時間(シーク時間)だけでなく、ディスクの回転待ち時間がどうしても必要である。
この待ち時間は、RAMなどのメモリーデバイスと比較すれば非常に長い時間であり、ディスク高速化への障害の一つであった。
そこで、Command Queuing(コマンドキューイング)という方法が発案された。これは最初に複数のコマンドを受けてキューにため込み、それをヘッドの移動が最小限に済むような順序で処理するアウトオブオーダー実行実行を行なう。これによりシーク速度と回転待ち時間を減らし、高速化を実現した。
特徴
旧来の方法では、コマンド・待機・転送・割り込み、という順番を繰り返す。
パラレルATA時代の方法は最初に複数コマンドを発行できるが、転送ごとに割り込みが発生していたので効率が悪かった。
NCQでは最初に複数のコマンドを発行するところまでは同じだが、転送も複数まとめて行なわれ、最後に割り込みが発生する。これにより旧来の方法と比較して数割程度のアクセス時間削減が可能となる。
このNCQを使うためには、シリアルATAコントローラーとハードディスク双方が対応していないとならない。
再検索