web-dev-qa-db-ja.com

ハードディスクブロックモデルの読み取り時間の計算

私の教授は、ブロックモデルを使用してハードディスクからのデータ取得を計算する方法についてのスライドを投稿しました。仕様は次のとおりです。

  • 7200 RPM
  • 5msシーク
  • 80MB /秒の転送速度
  • ブロックモデル:ブロックサイズ4KB

私は彼が次の計算をどのようにしたのか、またはいくつかの数字がどこから来たのかわかりません:

ブロックを読み取るための5ms + 1000/240 ms + 0.05ms = 9.216ms.

1000/240ミリ秒と0.05ミリ秒はどこから来たのですか?

編集:数値が完全に間違っている場合、どうすればよいですか?

8
drum

問題のディスクの転送速度は80 MiB /秒、または81920 kiB /秒、または20480ブロック/秒です。ここでは、教授が行ったように見えるので、20,000ブロック/秒に丸めます。これは、ブロックを転送する0.05 msに相当し、方程式の最後の項を説明します。

最後に、シーク時間(ドライブヘッドをトラックに移動する時間)に加えて、回転待ち時間もあります。処理するディスク自体の。 7200 RPMで、最悪の場合、1回転完全に待つ必要がありますが、平均して半回転-または4.166ミリ秒(7200 RPM = 120回転/秒= 8.333ミリ/回転)待つ必要があります。

したがって、1つのブロックをコンピューターに転送するには、同等のSeek Time + Rotational Latency + Transfer Timeを待機する必要があります。

5 ms + 4.166 ms + 0.05 ms = 9.216 ms

ソリッドステートドライブの場合、考慮すべき回転待ち時間はありませんが、測定可能なシーク時間(実際にはフラッシュメモリのセクターの内容をアドレス指定するため)と転送時間(バスによって大きく制限される)があることに注意してくださいデータ自体の転送に使用されている(SATAなど)。

したがって、一般に、ドライブの合計アクセス時間単一セクターを読み取るには、次のようになります(ソフトウェアは無視されます)。

Rotational/Hard Drive:  Seek Time + Rotational Latency + Transfer Time

Solid-State Drive:      Seek Time + Transfer Time
11
Breakthrough

5 msシーク時間は、ハードディスクがそのヘッドを正しいトラックに移動する時間です(また、正しいヘッドを選択するために時間がかかりますが、教授は無視します)。


ヘッドが正しいトラック上にあると、正しいセクターがR/Wヘッドの下を通過するのを待つ必要があります。これは7200 RPMドライブであると想定されています。つまり:

  • 最悪の場合、渡されたばかりのデータは、完全なローテーションを待機する必要があります。
  • 最良のケースでは、データセクターが到着しました。すべてが幸せです。
  • averageの場合、ドライブは半分の回転を待つ必要があります。

7200 RPMドライブの完全なドライブローテーションの時間を取得するには:

  • 毎分7200回転(別名7200 RPM)
  • または毎秒7200/60回。
  • または毎秒120回。
  • または単一の回転がかかります 1/120番目 秒の。
  • 8.3ミリ秒です

つまり、半分の回転で半分の時間がかかるはずです。 1/240番目 秒の。

1秒は1000ミリ秒

これはあなたの - 1000/240 ms。


これはすべて、ドライブがデータの読み取りを開始できるようになるまでの時間です。それでもそれを読んでホストに渡す必要があります。

ドライブからの読み取りは、通常、パスするよりもはるかに速いため、遅い部分に焦点を当てます。

与えられた:

1)80 MB /秒の転送速度
2)ブロックモデル:ブロックサイズ4KB

  • 1秒あたり80 MiB、または1秒あたり80 * 1024 KiB、または4 * 20 * 1024 KiB /秒。
  • 20480で割ります。
  • あたり4 KB 1/20480番目 秒の。
  • または0.488281ミリ秒、これは最新の0.05ミリ秒です

この回答はそれを無視していることに注意してください:

  1. ドライブはデータを送信する前にデータを読み取る必要があります。これにより、データが少し遅くなります。
  2. ただし、データがPlatterからどれだけ速く読み取られるかについての情報はありません。 (これは、回転速度、読み取るデータの長さ、チェックサムデータの長さ、およびセクター間のギャップの問題です。(4KiBは、「ヘッダー|チェックサム|ギャップ」の8回の読み取りまたは1回の読み取りです。
  3. また、データがドライブキャッシュにすでに存在している可能性があることも無視します。
  4. そして、チェックサムの計算にほぼ一定の時間がかからないと想定しています。
5
Hennes