インターフェースの転送速度に比べると、HDDの円盤からデータを読み出すスピードはずっと遅い。現在の7200回転/分の3.5インチHDDでは、円盤の最外周でも理論上の転送速度は90MB/秒程度。Ultra ATA/133の133MB/秒や第2世代Serial ATAの300GB/秒よりもはるかに遅い。
そこで、HDDの開発には、途切れなくデータを転送する工夫が必要になる。その解決方法の目玉と言えるのが「NCQ(Native Command Queuing)」だ。
Command QueuingはSCSIの世界で一足先に取り入れられたが、実はUltra ATAでも規格化されていた。しかし、手順が複雑なためか普及に至らず、Serial ATA Revision 2.5で新たにNCQが規定された。
HDD内部のどこに必要なセクターがあるかを知っているのはHDDのファームウエアだけだ。そこでホストは、コマンドを一通り先にHDDに知らせてしまい、HDD自身に最も合理的な順番でコマンドを処理させる。これがNCQの基本原理だ(図1)。
| 【NCQ(Native Command Queuing)の原理】 |
![]() |
コマンドを合理的な順番に並べ直す作業をコマンドの「Re-ordering」と呼ぶ。一度に受け取れるコマンドが増えると、Re-orderingの幅が広がり、効率も上がる。この受け取れる数が「Queue Depth(キューデプス)」だ。最大32コマンドのキューができ、性能向上に貢献している(図2)。
NCQでは、ドライブ内部の無駄な動作を減らす仕組みに加え、インターフェース上でも無駄を省く工夫をしている。
まず、一般的なコマンドのやり取りを理解しておこう。ホストは細かな付随情報とともにリードやライトのコマンドをHDDに伝える。コマンドを受けたHDDは必要なデータを転送し、最後にコマンドが完了したことをホストに通知する。この「コマンド受領」→「データ転送」→「ステータス通知」がやり取りの単位となっており、順番は崩せない。
一方、NCQでは同時に複数のコマンドを実行する。1つひとつのコマンドはパラレルATAと同様に、コマンド受領・データ転送・ステータス通知の順序を保っているが、全体では複数のコマンドが入り乱れ、行き交うように見える。
遊びにも仕事にも
楽しく快適に使いこなす!
誰も教えてくれなかった
スマートフォンの使い方が満載!
撮影から加工まで写真活用の
すべてまるわかり!
アンドロイド「使いにくい」を
徹底解消!
パソコンを仕事と生活に活かす総合情報誌
・お役立ち周辺機器購入ガイド
・最新画像処理ソフト驚きの実力
・新型CPU搭載の夏モデルが登場ほか
パソコン初心者応援マガジン
・必ず見つかるネット検索
・写真の保存&印刷決定版
・キーボードの便利技43 ほか
パワーユーザーのためのPC総合情報誌
・Ivy Bridge大研究
・本気で作る小型・静音PC
・新世代グラフィックスボードほか
ビジネスマンのパソコン誌
・パソコン&スマホで地図&GPS
・PDF「新」活用術
・ネットでらくらく資産管理 ほか