本記事は、日経WinPC2012年8月号に掲載した連載「PC技術興亡史」を再掲したものです。社名や肩書などは掲載時のものです。

 Serial ATA(SATA)は当初、既存のUltra ATAとの互換性を重視していたため、ソフトウエア面ではIDEと互換性のあるモードしかなかった。電気信号レベルではUltra ATAとSATAは全く違うが、その上で情報やコマンドをやり取りするときのプロトコルは全く同じままだったのである。その結果、アプリケーションソフトは当然として、デバイスドライバーでさえも全く変更せずにHDDにアクセスできた。

 次に登場したSerial ATA II Phase 1では、いくつかプロトコルが拡張された。 中でもよく知られているのがNCQ(Native Comman Queuing)である。NCQは「Order Collection」「Race-free Status Return Mechanism」「First Party DMA」「Interrupt Aggregation」といった機能から構成されている。

 Order Collectionは、名前の通りアクセスするデータの順番を並べ替えることだ。例えば図1左のように、ディスクの盤面上のデータに、①~⑧の順でアクセス要求が出たとする。Order Collection無しだと①~⑧まで順番にアクセスすることになる。①は最内周側、②は最外周にあるから、①から②にヘッドを移動する(シークする)のには相応の時間が掛かる。③はまた最内周近くだからアクセスの大半はヘッドのシークに費やされ、次いで回転待ち時間となる(図1右上)。これを避けるには、例えば最外周から最内周へと1回シークする間に全セクターを読み出せるように、読み出す順番を並べ替えればよい(図1 右中央)。この場合でいえば、②→④→⑦→⑧→⑤→③→①→⑥とすれば、ヘッドは1回シークするだけで済む。「NCQ Priority」で順番変更も可能だ(図1 右下)。

図1 Serial ATAでは、当初IDEと互換性のあるモードしかなかったが、Serial ATA II Phase 1でNCQ(Native Command Queuing)が追加された。NCQのOrder Collectionにより、HDDのアクセス時間を大幅に短縮できる。
[画像のクリックで拡大表示]

この先は会員の登録が必要です。今なら有料会員(月額プラン)は12月末まで無料!