ネイティブコマンドキューイング

ネイティブコマンドキューイング(NCQ)は、コンピュータ上のSATAハードディスクパフォーマンスを向上させるために設計された技術です。これは、個々のハードディスクが受信した読み書き要求を実行する順序を内部的に最適化することを可能にすることで、特定の状況下でこれを行うことができます。これにより、不必要なドライブヘッドの動きを減らすことができ、複数の読み書き要求が同時に実行されるワークロードのパフォーマンスを向上させることができます(ドライブの摩耗を少し減らすことができます)。このような状況は、サーバータイプのアプリケーションでよく発生します。しかし、現在(2004年現在)の技術では、ゲームやシーケンシャルな読み書きなどの特定のアプリケーションでは、NCQロジックによる待ち時間が増えるため、実際にHDアクセスが遅くなります。[廃止された事実]

ネイティブコマンドキューイングは、Parallel ATA のタグ付きコマンドキューイング (TCQ) に先行しています。TCQ を統合しようとした ATA の試みは、ATA ホストバスアダプタが ISA バスデバイスプロトコルを使用してオペレーティングシステムと対話するという要件に制約されていました。その結果、CPU のオーバーヘッドが高くなり、性能の向上はごくわずかであったため、TCQ は市場に受け入れられませんでした。

NCQは、コマンドの再順序付けがオペレーティングシステムではなくドライブによって行われ、各コマンドの重要度が等しいという点でPATA TCQとは異なる。これは、ドライブがその性能特性を最もよく知っており、回転位置を考慮に入れることができるので好ましい。NCQおよびPATA TCQは、インフライトコマンドの最大キュー長が32個(実際には31個)であり、SCSI TCQは、インフライトコマンドの最大キュー長が264個である。

NCQを有効にするには、SATAホスト・バス・アダプタとハード・ドライブ自体でサポートされ、有効になっている必要があります。ホスト・バス・アダプタでNCQを有効にするには、適切なデバイス・ドライバをオペレーティング・システムにロードする必要があります。多くの新しいチップセットは、Advanced Host Controller Interface (AHCI)をサポートしており、オペレーティング・システムが提供する汎用ドライバで制御し、NCQを有効にすることができるはずです。実際、新しい主流の Linux カーネルは AHCI をネイティブにサポートしています。残念ながら、Windows XPでは、ホストバスアダプタにAHCIが存在する場合でも、ベンダー固有のドライバのインストールが必要です。Windows Vistaでは、汎用のAHCIドライバを含めることで、この状況を修正しています。

関連ページ

  • タグ コマンドキューイング

質問と回答

Q: Native Command Queuingとは何ですか?


A: Native Command Queuing (NCQ) は、個々のハードディスクが読み取りと書き込みの要求を実行する順序を最適化することにより、コンピュータ上のSATAハードディスクの性能を向上させるように設計された技術です。

Q: NCQはどのようにパフォーマンスを向上させるのですか?


A: NCQは、不必要なドライブヘッドの動きを減らし、サーバータイプのアプリケーションなど、複数の読み取り/書き込み要求が同時に発生する作業負荷に対して、より良いパフォーマンスとドライブの摩耗をわずかに減少させることができます。

Q: NCQは、特定のアプリケーションでHDアクセスを遅くするのか?


A: はい、NCQは、ゲームやシーケンシャルな読み書きのような特定のアプリケーションにおいて、NCQロジックによって引き起こされる追加レイテンシのために、実際にHDアクセスを遅くすることができます。

Q: Native Command Queuingは、PATA TCQとどう違うのですか?


A: PATA TCQとは異なり、NCQによるコマンドの再順序付けは、オペレーティングシステムではなく、ドライブによって実行され、各コマンドの重要度は同等です。ドライブは、その性能特性についてより多くの知識を持っているので、コマンドを最適化する際に回転位置を考慮することができます。さらに、PATA TCQの最大キュー長が32(実際には31)であるのに対し、NCQは最大キュー長が32となっています。

Q: NCQを有効にするためには、どのようなハードウェア要件を満たす必要がありますか?


A: NCQを有効にするには、SATAホストバスアダプターとハードドライブ本体の両方でサポートされ、有効になっている必要があります。さらに、ホストバスアダプターでNCQを有効にするには、適切なデバイスドライバーをオペレーティングシステムにロードする必要があります。

Q: Windows XPで利用可能な汎用AHCIサポートはありますか?


A: いいえ、Windows XPでは、ホストバスアダプタにAHCIが存在する場合でも、ベンダー固有のドライバをインストールする必要があります。しかし、Windows Vistaには、AHCIデバイスを汎用的にサポートする汎用AHCIドライバが含まれています。

AlegsaOnline.com - 2020 / 2023 - License CC3