ハードディスク 記憶容量とアクセス時間 基本情報技術者試験
————————–ハードディスクの記憶容量
では、具体的なハードディスクの記憶容量を見ていきましょう。
例では、
1セクタの記憶容量が512バイト、1トラックのセクタ数が60セクタ、
1シリンダのトラック数が20トラック、シリンダ数が5000シリンダのハードディスクとなります。
この例で、このハードディスクの記憶容量はいくらになるかというと、
1トラックが60セクタなので、トラックの容量は、60×512=30720バイト
1シリンダが20トラックなので、シリンダの容量は、20×30720=614400バイト
ハードディスク全体で5000シリンダなので、5,000×614,400=3,072,000,000バイト
(30億7200万バイト)
これは、3.072×10の9乗なので、3.072ギガバイトとなります。
————————–アクセス時間
では、ハードディスクがデータを読み書きする、アクセス時間についてみていきましょう。
ハードディスクでは、データを読んだり書いたりするアクセス時間は、次の3つの時間の合計になります。
1番、シーク時間
シーク時間とは、磁気ヘッドが目的のデータが記録されている、トラックの真上に移動するまでの時間です。
アクセスアームの先端にある磁気ヘッドは、アームが動くことでプラッタの上を移動して目的のトラックの真上に移動していきます。
2番、サーチ時間
サーチ時間とは、データの先頭が磁気ヘッドの真下に移動してくるまでの時間です。
プラッタは常に回転をしているので、磁気ヘッドがデータをアクセスする為には、データの先頭が回転をしてきて、磁気ヘッドの真下に来るまで待ってなければなりません。
この時間がサーチ時間です。
平均サーチ時間とは、たまたまデータの先頭が磁気ヘッドの真下にあるときは、サーチ時間は、ほぼゼロ秒となります。
また、データの先頭が、磁気ヘッドの真下をちょうど通過した後だと、シーク時間はぐるっとデータの先頭が再び磁気ヘッドの真下に回転して来るまでの、1回転分の時間がかかってしまいます。
その為、平均シーク時間は、プラッタが半回転するのにかかる時間となります。
3番、データ転送時間
データ転送時間とは、データをアクセスし始めてから、アクセス終了までの時間です。
このように、平均アクセス時間は、シーク時間+平均サーチ時間+データ転送時間 となります。
————————–アクセス時間の計算
では、ハードディスクのアクセス時間の計算を見ていきましょう。
例として、
回転速度:12000rpm(アールピーエム)
平均シーク時間:10m秒(ミリ秒)
1トラックの記憶容量:30kバイト(キロバイト)
このディスクで、45kバイトのデータを読むアクセス時間は、何ミリ秒になるかを見ていきます。
まず、平均シーク時間は、問題で提示されている10ミリ秒。
平均サーチ時間を計算する前に、回転速度について見ていきます。
回転速度は、通常1分間で何回転をしているかを表す数値となります。
単位は、rpm(アールピーエム)で、rotation per minute(ローテーション パー ミニッツ)の略です。
問題のように、12000rpmは、1分間でプラッタが12000回転をしていることを表します。
これより、1回転するのには何秒かかるかが分かります。
1分間は60秒で、60秒で12000回転しているので、1回転にかかる時間は、60/12000
(60分の12000)となります。
60/12000=0.005秒となり、0.005は、5×10のマイナス3乗なので、5ミリ秒となります。
これより平均サーチ時間は、プラッタが半回転する時間なので、5ミリ秒の半分で、2.5ミリ秒となります。
次に、データ転送速度を求めます。
デー転送速度は、1秒間でアクセスできる容量なので、このディスクでは60秒で12000回転しているので、1秒間では12000/60=200回転となります。
プラッタが1回転すると、1トラック分のデータがアクセスできるので、1回転当たりのアクセスできるデータ量は、1トラックの記憶容量と同じ、30kバイトとなります。
これより、データ転送速度は、200回転×30K=6000Kバイト/秒(キロバイト パー 秒)
よって、45kバイトのデータ転送時間は、45K/6000K=45/6000=0.0075秒 となるので7.5ミリ秒となります。
求める、アクセス時間は、
アクセス時間 = 平均シーク時間 + 平均サーチ時間 + データ転送時間 = 10m秒 + 2.5 m秒 + 7.5 m秒 = 20m秒
となります。