磁気ヘッドが目的のトラックまで移動するのにかかる時間
シーク時間とは、磁気ヘッド(読み書きをする部品)が、目的のトラック(データのある同心円)まで移動するのにかかる時間のことです。HDD でデータにアクセスするとき、まずヘッドを正しい位置まで動かす必要があり、その移動時間がシーク時間です。
身近な例えで言うと、図書館で目当ての本棚まで歩いていく時間に似ています。読みたい本(データ)が遠い棚にあれば歩く距離が長くなり、近い棚ならすぐ着きます。ヘッドの移動も同じで、今いるトラックから目的のトラックまでの距離が遠いほど時間がかかります。
上のツールで▶ボタンを押すと、ヘッドが現在のトラックから目的のトラックへ移動する様子が見られます。シナリオを「短距離」「長距離」と切り替えて、移動距離が変わるとシーク時間がどう変わるか確かめてみてください。
ヘッドを動かしているのは、アクチュエータという装置です。アクチュエータはアーム(腕)を動かし、その先端に付いたヘッドを円盤の内側〜外側へ移動させます。
1回のシークは、ざっくり次の段階に分けられます。
・加速:止まっていたアームが動き始め、だんだん速くなる
・等速移動:一定の速さで目的トラックへ近づく
・減速・整定:目的トラックの手前で速度を落とし、ぴたりと止めて位置を合わせる
このため、シーク時間は移動するトラック数(距離)が増えるほど長くなります。短い距離なら加速してすぐ止まり、長い距離なら最高速度まで上げてから止まる、という違いが出るからです。複数のヘッドはアームで束ねられて一緒に動くので、すべての面で同時に同じ位置へ移動します。
身近な例えで言うと、エレベーターが目的の階まで動くのと似ています。1つ上の階ならすぐ着きますが、10階分上がるなら加速・等速・減速を経て時間がかかります。上のツール右側のバーで、移動距離(トラック番号の差)が長くなるほどシーク時間が増えることを確認できます。
実際にデータを読むときは、どのトラックからどのトラックへ移動するか毎回バラバラです。そこで HDD の性能を表すときは、移動距離を平均した平均シーク時間という指標を使います。
平均シーク時間とは、「ランダムな位置から、ランダムな位置へ移動したときの平均的なシーク時間」のことです。最良(同じトラックなら 0)と最悪(端から端まで)の中間あたりになります。多くの HDD では数 ms〜十数 ms 程度で、カタログには代表値として記載されます。
考え方の例:移動の起点・終点がどのトラックも等しく起こりうるとすると、移動距離の平均はトラック総数のおよそ 1/3 になることが知られています。これを使うと平均シーク時間を見積もれます。
平均移動距離 ≒ 全トラック数 / 3
平均シーク時間 = 平均移動距離 × 1トラックの移動時間
例)10トラック・1トラック1.5ms なら
(10 / 3) × 1.5 ≒ 5.0 ms
データに実際にアクセスするまでの時間は、このシーク時間に、目的のセクタが回ってくるのを待つ回転待ち時間を加えたものになります。HDD のアクセス速度を考えるときは、この2つをセットで意識すると理解しやすくなります。