磁気ディスクのアクセス時間の計算方法についてゆるーくわかりやすく解説



1. 磁気ディスクのアクセス時間の構成
磁気ディスクの平均アクセス時間は次のように求められます。
\[ \text{平均アクセス時間} = \text{平均シーク時間} + \text{平均回転待ち時間} + \text{データ転送時間} \]
このように、平均アクセス時間は3つの要素で成り立っています。
- 平均シーク時間
- 平均回転待ち時間
- データ転送時間
2. 平均アクセス時間の構成要素
2.1. 平均シーク時間(平均位置決め時間)
これは、磁気ディスクのヘッド(データを読み書きする部分)が、目的のデータが保存されている位置まで移動するのにかかる時間の平均です。
- イメージ: 本棚から特定の本を探して、目の前に持ってくる作業に相当します。

2.2. 平均回転待ち時間
ヘッドが目的の場所に移動した後、データが保存されている位置(セクタ)がヘッドの下まで回転してくるのを待つ時間の平均です。これはディスクの回転速度によって決まります。
- 計算方法: 平均回転待ち時間は、ディスクが1回転する時間の 半分 です。
- 計算例:
- 回転速度が 6,000 回転/分(RPM)の場合
- 1回転にかかる時間は \( 60秒 ÷ 6,000回転 = 10ミリ秒 \)。
- 平均回転待ち時間は \( 10ミリ秒 ÷ 2 = 5ミリ秒 \)。


2.3. データ転送時間
ヘッドが目的のデータを実際に読み取るのに要する時間です。これは読み取るデータ量とディスクの回転速度に依存します。
- 計算方法: データ転送時間は次の式で求めます。
\[ \text{データ転送時間} = 1回転の時間 × \left( \frac{\text{読み取るデータ量}}{\text{1回転で読み取れるデータ量}} \right) \] - 計算例:
- 1トラック(1回転)で読み取れるデータ量が 20kバイト、
- 読み取るデータ量が 4kバイトの場合、
- データ転送時間は \( 10ミリ秒 × \left( \frac{4,000}{20,000} \right) = 2ミリ秒 \)。


3. 平均アクセス時間を求める例題
3.1. 例題1
磁気ディスクの平均シーク時間は 15ミリ秒 です。回転速度は 7,200回転/分、1回転で読み取れるデータ量は 25kバイト です。目的のデータ量は 5kバイト の場合、平均アクセス時間を求めなさい。
条件をまとめると、
- 平均シーク時間: 15ミリ秒
- 回転速度: 7,200回転/分
- 1回転で読み取れるデータ量: 25kバイト
- 読み取るデータ量: 5kバイト
平均回転待ち時間を求めます。まず、1回転にかかる時間は、
\[ 60\ \text{秒} ÷ 7,200\ \text{回転} = 8.33\ \text{ミリ秒} \]
したがって、平均回転待ち時間はその半分です
\[ 8.33\ \text{ミリ秒} ÷ 2 = 4.17\ \text{ミリ秒} \]
1回転で読み取れるデータ量が 25kバイト、読み取るデータ量が 5kバイトなので、データ転送時間を計算すると
\[ 8.33\ \text{ミリ秒} × \left( \frac{5}{25} \right) = 1.67\ \text{ミリ秒} \]
したがって、平均アクセス時間は、
\[ 15\ \text{ミリ秒} + 4.17\ \text{ミリ秒} + 1.67\ \text{ミリ秒} = 20.84\ \text{ミリ秒} \]
3.2. 例題2
平均シーク時間が 10ミリ秒 と非常に短い高速ディスクがあります。回転速度は 10,000回転/分、1回転で読み取れるデータ量は 30kバイト です。目的のデータ量が 6kバイト の場合、平均アクセス時間を求めなさい。
条件をまとめると、
- 平均シーク時間: 10ミリ秒
- 回転速度: 10,000回転/分
- 1回転で読み取れるデータ量: 30kバイト
- 読み取るデータ量: 6kバイト
1回転にかかる時間を求めます
\[ 60\ \text{秒} ÷ 10,000\ \text{回転} = 6\ \text{ミリ秒} \]
平均回転待ち時間はその半分です。
\[ 6\ \text{ミリ秒} ÷ 2 = 3\ \text{ミリ秒} \]
1回転で読み取れるデータ量が 30kバイト、読み取るデータ量が 6kバイトなので、データ転送時間を計算すると
\[ 6\ \text{ミリ秒} × \left( \frac{6}{30} \right) = 1.2\ \text{ミリ秒} \]
平均アクセス時間は
\[ 10\ \text{ミリ秒} + 3\ \text{ミリ秒} + 1.2\ \text{ミリ秒} = 14.2\ \text{ミリ秒} \]
3.3. 例題3
平均シーク時間は 25ミリ秒 の磁気ディスクがあります。回転速度は 5,400回転/分、1回転で読み取れるデータ量は 15kバイト です。目的のデータ量が 12kバイト の場合、平均アクセス時間を求めなさい。
条件をまとめると、
- 平均シーク時間: 25ミリ秒
- 回転速度: 5,400回転/分
- 1回転で読み取れるデータ量: 15kバイト
- 読み取るデータ量: 12kバイト
1回転にかかる時間を求めます。
\[ 60\ \text{秒} ÷ 5,400\ \text{回転} = 11.11\ \text{ミリ秒} \]
平均回転待ち時間はその半分です。
\[ 11.11\ \text{ミリ秒} ÷ 2 = 5.56\ \text{ミリ秒} \]
1回転で読み取れるデータ量が 15kバイト、読み取るデータ量が 12kバイトなので、データ転送時間を計算すると
\[ 11.11\ \text{ミリ秒} × \left( \frac{12}{15} \right) = 8.89\ \text{ミリ秒} \]
平均アクセス時間を計算すると、
\[ 25\ \text{ミリ秒} + 5.56\ \text{ミリ秒} + 8.89\ \text{ミリ秒} = 39.45\ \text{ミリ秒} \]