『HDDの性能』

はじめに

HDDの性能を表す用語や数値がありますが、一般に大きければ大きいほど良いとか小さければ小さいほど良い程度の話しか書かれていなかったりします。実際には何を表す数値でどういう原理かわかると少しはHDD選びが良くなるかもしれません。

流体軸受

最近軸受に流体軸受を採用するという話がよく聞かれるようになりました。HDDのプラッタを支える軸は高速で回転するプラッタを支えるためにボールベアリングを使うことが多いです。このボールベアリングは普通な扱いをしても磨耗して軸にガタが来てしまったりしますし、もし振動などを与えたりして破損して球形に変形が起こると軸に大きな影響がでてしまいます。このボールベアリングの代わりに粘性をもった液体を軸との間にながしてプラッタを支える方法が流体軸受というワケです。

この方法ならば原理的には磨耗したり変形したりすることはボールベアリングよりも低いので耐久性があがると思われるのですが、実際には流体軸受を利用していてもメーカー側が耐久年数をボールベアリングと同程度に設計しているそうなのであまり変わらないという話です。ただ、ボールベアリングの破損などのことを考えると信頼性も多少は高いかと思われます。また、ボールベアリングは金属同士がこすれるので大きな回転音がしますが、流体軸受は液体なので静音性などの別の理由でも有効なようで現在多くのHDDが流体軸受を利用しています。

ところで、流体軸受が採用されはじめてからまだそれほど年数が経っていません。まだ2,3年程度でしょうか?HDDの寿命はだいたい5年程度なのでいまだに寿命まで持ったかどうか実証したHDDはないということになります。実験室などで高負荷実験等でテストしているとは思われますが、実際にコンシューマ向けに販売された流体軸受を採用したHDDの信頼性がボールベアリングよりも高いかはわからないのです。この点に関してはボールベアリングは充分な実績と豊富なノウハウがあります。SCSIなど高い信頼性が必用な分野では未だにボールベアリングが採用された製品が多いのはその辺に理由があるのかもしれません。

キャッシュ

単位は容量でMBが一般的なようです。これは間違いなく多ければ多いほど良いでしょう。HDDはいくら高速な記憶媒体といえどもメモリとくらべれば天と地の差があります。よってよく使われるデータを予めキャッシュに読み込んでおいて、もしこの予想が当たってこのデータの読み込み命令が出た場合(一般にキャッシュにヒットしたという)には瞬間的にHDDの速度がキャッシュの速さになります。(通常はキャッシュよりもインターフェースの方が遅いからそれに制限される。)当然キャッシュが多ければ多いほどヒットする確率は高くなるので、平均的なHDDの速度も上がることになります。ただし、このよく使うデータを予測して読み込むというある意味ギャンブルのような性格のものなので、この予測を高い精度で行えば同じ容量のキャッシュでもヒットする確率は高くなります。キャッシュの容量が同じでもキャッシュの使い方次第では性能が変わってくるのです。

プラッタサイズ

一枚のプラッタに記憶できる容量をプラッタサイズと呼びます。一枚のプラッタに記憶できる量が多い=プラッタの記憶密度が高いと同じコストでより大容量を実現することができます。同じ容量でプラッタの枚数が少ない場合も同様にプラッタサイズが大きいことになります。プラッタサイズが大きくなると同じ面積に記録できるデータ量が多くなるので記録も読み込みもより高速にできるようになります。単位は容量が使われGBが一般的なようです。

たとえば、長さ1mmに10個のデータが記録されていたのならば、ヘッドが1mm読むのに10のデータが読み込んだり書き込んだりできます。この1mmに記録できる量を20個に増やすと、ヘッドが1mm読むのに20個のデータが読み込んだり書き込んだりできるようになるワケです。ヘッドの移動距離はプラッタの回転速度と場所によって変わります。(回転速度が一定なので外周部が高速)よって同じ回転速度で動いているHDDでは密度が高いほどデータの読み書きが高速に行うことができます。当然ながらそれにともなって読み書きの処理を高速に行えるコントローラが必用になりますが。

しかし、高密度化した弊害としてキズによる被害が大きくなるという問題があります。他にもヘッドが目的のデータに移動するための制御が極めて難しくなるので回転数を上げたり、ヘッドの移動を高速にするのが困難になります。このため回転数が少ないHDDから高密度化が進められるのです。

回転数

HDDに限らずディスク状の記憶媒体は円盤を回転させて読み書きします。円盤の回転速度が上がればそれだけ読み書きが高速になります。単位はrpmで一分間に回転する数です。

たとえば、長さ1mmに10個のデータが記録されていたのならば、ヘッドが一秒間に1mm読む場合は一秒に10のデータが読み込んだり書き込んだりできます。一秒間に2mm読むことができれば20個のデータを読み込んだり書き込んだりできるようになるワケです。

また、ヘッドが目的のデータの位置に移動するのにかかる時間が短縮できます。ヘッドは目的のデータのある半径まで移動して、目的のデータが回転してくるまで待っています。つまり回転数が速いほどこの待ち時間が少なくなるのです。高回転のHDDの威力がでるのは主にこの待ち時間で、データが連続して書き込まれている=ヘッドの移動が少ないデータの場合は、高密度化などの技術もあって回転数の低いHDDと回転数の高いHDDでもそれほど差はありません。しかし、データがディスク上のいろいろな場所に分散している場合はヘッドの移動の度に待ち時間が発生するので待ち時間が少ない高速回転なものが有利になります。

連続したデータの読み書きを一般にシーケンシャルリード/ライトと呼び、大容量の動画などが主にこのタイプの読み込みになるデータです。対して、ディスク上に分散したデータの読み書きをランダムリート/ライトと呼び、OSやアプリケーションなどが主にこのタイプの読み書きになるデータです。

しかし、回転数が高くなるほどプラッタの高密度化がしにくくなります。高密度化は高速化につながるので密度が低いことは高速化の面で不利になります。また、あまり大きなプラッタを高速で回転させるのは技術的にも難しいので10000回転以上のHDDではプラッタの大きさがもっと回転数が低いHDDよりも小さくなっているようです。同じ密度のプラッタならば大きさが小さい方が一枚当たりに記憶できる容量が少なくなります。

これが10000回転以上のHDDの容量が小さい最大の理由です。また、プラッタの回転数は基本的に一定なので半径が大きい外周部分の方が高速に読み書きできます。つまりプラッタの大きさが小さいとは半径が小さいのわけで外周部分の速度があまりでずに平均速度が下がってしまいます。