目的のセクタがヘッドの下に回ってくるまで待つ時間
回転待ち時間(回転遅延)とは、目的のセクタ(読みたいデータが入った扇形の区画)が、回転によってヘッドの真下に来るまで待つ時間のことです。ヘッドが目的のトラックに着いても、すぐにデータを読めるとは限りません。プラッタが回って目的のセクタが来るのを待つ必要があります。
身近な例えで言うと、回転寿司で食べたいネタが目の前に来るのを待つのと同じです。席(ヘッド)の前を皿(セクタ)がぐるぐる回っており、お目当ての皿が来るまで待ちます。運が良ければすぐ来ますし、運が悪ければほぼ一周待つことになります。
上のツールで▶ボタンを押すと、目的のセクタ(S)がプラッタの回転でヘッドの下に近づいてくる様子が見られます。回転数(rpm)のシナリオを切り替えて、回転が速いほど待ち時間が短くなることを確認してみてください。
プラッタの回る速さは回転数(rpm=revolutions per minute、1分あたりの回転数)で表します。回転数が大きいほどプラッタが速く回り、目的のセクタがヘッド下に来るまでの待ち時間が短くなります。
まず「1回転にかかる時間」を求めます。1分は 60 秒なので、これを回転数で割れば 1 回転の秒数が出ます。ミリ秒(ms=1/1000 秒)にするため 1000 を掛けます。
1回転の時間 = (60 / 回転数) × 1000 (ms)
例)7200 rpm のとき
(60 / 7200) × 1000 = 8.33 ms
代表的な回転数ごとの 1 回転時間を比べると、回転が速いほど短いことが分かります。
・5400 rpm:1回転 約 11.1 ms
・7200 rpm:1回転 約 8.33 ms
・10000 rpm:1回転 約 6.0 ms
身近な例えで言うと、回転寿司のレーンを速く回すほど、目当ての皿が早く回ってくるのと同じです。上のツールで rpm を切り替えると、1回転の時間と待ち時間が連動して変わります。
目的のセクタがどの位置にあるかは毎回バラバラです。運が良ければちょうどヘッドの下にあって待ち時間ゼロ、運が悪ければほぼ 1 回転(最大)待つことになります。
・最良:すでにヘッドの下にある → 待ち時間 0
・最悪:通り過ぎた直後 → ほぼ 1 回転分待つ
・平均:その中間の半回転分
そこで、平均的にかかる時間として「半回転分」を使います。1回転の時間を 2 で割れば求められます。
平均回転待ち時間 = (60 / 回転数) × 1000 / 2 (ms)
計算例:7200 rpm のディスクの場合
1回転 = (60 / 7200) × 1000 = 8.33 ms
平均回転待ち時間 = 8.33 / 2 ≒ 4.17 ms
HDD でデータにアクセスする時間は、ヘッドを目的トラックへ動かすシーク時間と、この回転待ち時間、そして実際の読み書き時間を足したものになります。上のツールで rpm を変えて、回転が速いほど平均回転待ち時間が短くなることを確認してみてください。