ハードディスクのキャッシュメモリ
メモリのコンテンツでも説明しましたが、ハードディスクはアクセスに時間がかかるため、高速のメインメモリが活躍しています。しかし、ハードディスクにもキャッシュメモリを搭載しており、なるべく高速アクセスができる工夫がされています。キャッシュ容量は16MB、8MB、2MBなどがありますが、8MBあればよい充分といわれます。
NCQ(ネイティブ・コマンド・キューイング)とは
Serial ATAにはNCQ(ネイティブ・コマンド・キューイング)に対応しているものがあります。単純にいうと高速アクセスが可能なシステムのことですが、もう少し具体的に解説しましょう。
データを記録したり消去するいうことは、その都度、ハードディスク内では虫食い状態になったスペースに記録と消去を繰り返すことになります。
実は、1つのファイルを保存したつもりでも、ハードディスク内ではそのファイルのデータがバラバラに記録されている状態です。ですから1つのファイルを読み出すにも、ハードディスク内では分散されたデータを拾い集めていることになります。
ハードディスクの使い始めはいいのですが、長期的に使っていくと分散が複雑になります。ついには断片化(フラグメンテーション)という状態になり、データアクセスに時間がかかるようになります。断片化については、後に続く「ハードディスクの応用編」で解説します。
分散されているデータを読み込むには、通常順番があります。しかし、NCQに対応していると順番通りではなく、効率がいい順番で読むことができます。
図で解説しましょう。あるファイルは1〜4のデータで構成されているとします。
通常、データは決められた順番の通りに読まれます。つまり非NCQの場合です。

データは分散しているため、都合のいい場所にあるとは限りません。
ディスク自体は時計回りに動くので、読みとりヘッドから近いのは3→2→4→1の順です。しかしデータの順番通りに読まなくてはならないので、1→2→3→4の順で読みます。結果、ディスクを約2回転半させています。
次はNCQ対応のハードディスクです。

効率よく3→2→4→1の順に読みます。つまり、決められた順番は一旦無視して、読み込んでから組み直すやり方です。よってディスクは1回転で済みました。
非NCQでは、多く回転させてアクセスしなくてはならず、時間がかかるうえハードディスクにも負担がかかります。回転数が多いということは発熱が多く、理論上、寿命も短いことになります。
しかし、NCQ対応だとデータを効率よく読みとるので最低限の回転で済み、読み出しが速く快適になります。それに理論上、ハードディスクを長持ちさせられます。
シークタイムとアクセスタイム
シークタイムとは、ディスクの目的位置にヘッドが移動するまでの時間です。数値が低いほど短時間と言うことで高性能と言えます。ディスクと内周部と外周部では条件が異なるので、移動平均時間を公開している場合が多いです。
アクセスタイムとは、命令を出してから読み込むまでの時間を指します。
これらの情報は非公開の場合が多いですが、実際使って速度の違いを感じるほどのものではありません。ほとんど無視してOK。 |